最关键的就是两个文件
1. 位于项目文件根目录的uwsgi配置文件
myproject.xml
<uwsgi>
<socket>127.0.0.1:8001</socket><!-- 内部端口,自定义,该端口是与nginx通信的端口
要与nginx中项目配置文件的端口保持一致 -->
<chdir>/home/cloudz/myprojectname</chdir><!-- 项目绝对路径-->
<module>myproject.wsgi</module><!--这是Django中的项目里的wsgi文件-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>
2. nginx中项目配置文件
nginx.conf(这是Cenos里的配置文件名,ubuntu里是自定义的一个conf,在/etc/nginx/sites-enabled里)
server {
listen 8010; # 外部端口,nginx监听的端口,用于浏览器访问的
root /home/cloudz/myproject; 项目目录绝对路径
charset utf-8; 字符编码
client_max_body_size 75M;
#access_log logs/host.access.log main;
location / {
uwsgi_send_timeout 600;
uwsgi_connect_timeout 600;
uwsgi_read_timeout 600; # 坑1:不设置时间期限就会报错
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001; # 这个是和uwsgi通信的端口
uwsgi_param UWSGI_SCRIPT myproject.wsgi; # Django里wsgi文件
uwsgi_param UWSGI_CHDIR /home/cloudz/myproject;# 项目绝对地址
}
# 静态文件地址 坑2:开头和最后的‘/’不能少!
location /static/ {
alias /data/wwwroot/AIFishLabFS/static/;
}
正常流程
坑3:mysql数据库字符类型要设置为utf8mb4,不然显示不正常
坑4:Django版本要2.1以下的,正常用pip install django==2.0.1就行了
坑5:不要忘了在项目目录 python manage.py collectstatic 不然html没样式
Centos :
- nginx 目录: /usr/local/nginx/conf/nginx.conf
- 命令:
-
- 杀死uwsgi进程 ---- killall -9 uwsgi
-
- 重启nginx ---- /usr/local/nginx/sbin/nginx -s reload
Ubuntu:
- nginx 目录: /etc/nginx
- 命令:
-
- 杀死uwsgi进程 ---- killall -9 uwsgi
-
- 重启nginx ---- /etc/init.d/nginx restart