今天迁移一个Django项目,部署和原项目一样采用的是Nginx+Django+uwsgi的模式。由于是一台新的机器环境有点差异,部署过程中有些坑踩的有点多。具体如下:
1、整个项目是完全拷贝过来的要先删除原先项目配置文件夹下的所有.pyc文件,再启动uswgi。
1 | $ ls |
2、启动uwsgi的时候要在项目配置文件夹下启动,不然会报错”ImportError: No module named nginx_wsgi”
1 | $ /usr/bin/uwsgi -x /opt/www/diewu/diewu/uwsgi.xml --uid 501 |
3、mysql的sock文件和文件夹需要读取权限,不然可能因为权限不够造成MySQL-python模块连mysql失败”Can’t connect to local MySQL server through socket ‘/opt/mysqldata/mysql.sock’”
1 | [root@xxxx ~]# chown 755 /opt/mysqldata/ |
4、编译安装uwsgi,启动时报错uwsgi:invalid option — x
1 | $ /usr/bin/uwsgi -x /opt/www/diewu/diewu/uwsgi.xml --uid 501 |
安装libxml2*重新编译安装uwsgi即可
1 | $ yum install libxml* |
这些坑踩一次就好了,希望遇到这些问题的攻城狮不要再踩了。