自己曾经做过一个网盘项目。刚开始由于需要快速地从0到1建设上线,所以没有对核心文档表进行分表。当然我的架构理念也是“按需架构设计”。产品需求在没有明确的长远计划的情况下以“小步快跑,赶超竞品”为主。后期由于产品功能触达目标用户群需求点、产品用户体验不断提升、产品多方位导流、加强产品推广文档表每天有百万数据增长量。不得不对文档表进行按用户id分表。当时产品功能已全覆盖文档的生命周期。产品功能已丰富多彩。修改所有关联文档表的业务代码为按用户id分表开发测试成本非常高。上线后线上问题不可控。经过考虑在业务代码最底层DB层进行SQL语句解析来进行用户id分表处理。这样的话开发测试成本都非常低。上线后有问题方便回滚和追查原因。
今天为大家介绍Python/PHP两种MySQL语句解析器。当时网盘项目用的是PHP编程语言开发。
Python的SQL语句解析器 。个人推荐使用moz_sql_parser库。经调研官方的sqlparse库解析出来的语句段无法满足需求也很难理解。
1、Python moz_sql_parser库安装
2、Python moz_sql_parser SQL语句解析
3、Python moz_sql_parser总结
PHP的SQL语句解析器。 个人推荐使用PhpMyAdmin的sql-parser组件。PhpMyAdmin是经过 历史 检验可信赖的。
1、PHP PhpMyAdmin/sql-parser安装
2、PHP PhpMyAdmin/sql-parser SQL语句解析
3、PHP PhpMyAdmin/sql-parser总结
大家有什么问题可以发评论沟通。
② 怎么配置apache才能同时支持python 和php程序
你apache用什么方式运行django?
mod_wsgi?mod_python?
可定要配置VirtualHost
这里有个wsgi的方式,你可以参考下
zeuux.com/blog/content/3738/
③ python和php可以同时安装吗
最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩。这个时候就遇到了问题。
服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python。
废话少说,提供有效方案一个,照做即可:
1. 修改 httpd.conf 文件
将下列几个Mole前的注释符 # 去掉
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so
2. 配置 httpd-vhosts.conf 文件
<VirtualHost *:80>
ServerName http://b06.suosikeji.com #这是你要解析的网站地址
ServerAdmin [email protected]
ProxyRequests Off
< Proxy *>
Order deny,allow
Allow from all
< /Proxy>
proxypass / http://127.0.0.1:8002/ #这里是你的python站点的地址
proxypassreverse / http://127.0.0.1:8002/ #同上
</VirtualHost>
3. 重启 Apache
以上就是我的成功案例。
网上还查到一个方法是通过nginx配置反向代理,我试了一个多小时然后放弃了。之前没接触过nginx,所以出了问题也不知道该怎么解决。其中让我气得要吐血的一个问题是:
nginx文件夹始终为“只读”,怎么改也改不了……导致nginx.exe无法运行……
要是哪位朋友有解决方案,望不吝赐教。
关于反向代理的初步认识:
以我的网站为例,博客运行在服务器本地8002端口,即 http://127.0.0.1:8002。我要解析的域名为 http://b06.suosikeji.com。
由于服务器环境为Apache,所以外面无法直接访问服务器上未在Apache中配置的某个端口,所以需要进行反向代理的配置。
配置好反向代理之后,当用户访问 http://b06.suosikeji.com/add 页面时,服务器Apache收到请求,将其转换为 http://127.0.0.1:8002/add 交给Python处理,并将Python处理出的结果返回,这样用户就看到了正确的页面。
④ 如何在PHP服务器里运行python脚本
python环境在小鸟云云服务器装好后,就有一个idle工具,你找一下安装目录,自带的编辑器,在任意目录新建一个
aa.py
文件,用记事本和idle工具都行,输入print("hello
world"),如果你使用的是idle,直接按f5,就能查看结果,如果用记事本,打开cmd,进入这个目录,输入命令python
aa.py就出来结果了。
⑤ LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python
一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序
一.部署Apache Web服务器
(root下操作su root)1.部署Apache Web服务器运行如下
2.测试所安装Apache Web服务器
3.检测Apache是否运行
4.浏览器查看Apache测试页面内容
安装php7 sudo apt-get install php7.0
安装apache2 php7 mole sudo apt-get install libapache2-mod-php7.0
安装php-mysqli模块:
apt-get install php-mysql
修改php.ini设置文件 :
/etc/php/7.0/apache2/php.ini(vim php.ini)
extension=php_mysqli.dll 去掉注释;
(命令::/php_mysqli.dll,查找到上面的命令去掉前面的符号:)
systemctl start apache2 #生效
/var/www/html #下建立一个phpinfo.php文件 <?php phpinfo(); ?>
(touch phpinfo.php)
vim <?php phpinfo(); ?>
实战:安装基于PHPMySQL的博客及CMS建站系统
找到emlog_6.0.0下src文件夹拷贝到 /home/sgxz/下
在root 下cp -r /home/sgxz/src /var/www/html
创建数据库
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE emg;
在/var/www/html# 下
chmod -R 777 src #src为博客网站目录
回到浏览器
出现 连接数据库失败,请检查数据库信息。错误编号:1698
进入mysql数据库 修改root密码
MariaDB [(none)]> update mysql.user set authentication_string=PASSWORD('root'), plugin='mysql_native_password' where user='root'
回到浏览器输入http://127.0.0.1/src/