先讲下配置
nginx 方面 外网ip:8000端口
server {
listen 8000;
server_name 服务器外网ip;
charset utf-8;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9000;
}
location /media {
#指定静态资源
root /usr/local/www/blog/media/avatar;
}
}
uwsgi 方面
[uwsgi]
socket = 127.0.0.1:8080
#uwsgi监听的地址和端口
chdir = /usr/local/www/blog/
#项目目录-绝地路径
wsgi-file = blog/wsgi.py #注意不要使用绝对路径,对应django项目wsgi.py文件路径
processes = 4
thread = 2
master = true
#启动 主进程管理子进程
vacuum = true
#进程 停止后 回收pid
daemonize = server.log
#守护 进程的日志位置
pidfile=uwsgi.pid
daemonize=uwsgi.log
总结遇到问题:
1、执行 uwsgi --ini uwsgi.ini 成功,log日志为空,访问ip502
502多半是uwsgi没启动
检测服务 ps -ef|grep uwsgi
检查nginx include uwsgi_params;
检查uwsgi.ini文件内容,每行内容后面不能有空格
2、日志 no python application found 访问ip 500错误
这个python3环境问题,执行查看
pip show django|grep -i location
pip show pytz|grep -i location
加入uwsgi.ini文件中
pythonpath=/usr/local/lib/python3.6/dist-packages
重启nginx 重启uwsgi
静态资源无法加载 浏览器提示:
uwsgi static Resource interpreted as Stylesheet but transferred with MIME type text/plain
这句话意识是文件加载了但是没引用,type问题
nginx配置问题
include mime.types;
default_type application/octet-stream;
重启nginx 强制刷新浏览器即可
以上是linux搭建 nginx python3 uwsgi django 遇到的一些问题,如果不懂,请加群讨论