问题描述:最近有了一台 Ubuntu 的服务器,然后准备部署个项目,结果没想到部署的过程跟用 Centos 的时候还有点不一样,最后一步我是卡在了 uwsgi 这里,访问一直502,且可以访问项目的静态文件,就是无法访问项目的接口。
先感谢这位老哥提供的解决方案:https://blog.csdn.net/qq_41433183/article/details/90733244
一。我这里的方式是,先项目根目录放了一个 uwsgi.ini 的配置文件,参数如下:
[uwsgi] #使用HTTP访问的端口号, 使用这个端口号是直接访问了uWSGI, 绕过了Nginx # http = :8010 #与外界连接的端口号, Nginx通过这个端口转发给uWSGI,记得和 nginx.conf 中的 uwsgi_pass 参数要一致,这是nginx 找 uwsgi的地址 socket = 127.0.0.1:701 #是否使用主线程 master = true # 项目在服务器中的目录(绝对路径),这里记得和 nginx.conf 中的 uwsgi_param UWSGI_CHDIR /data/wwwroot/q 保持一致 chdir = /data/wwwroot/q # Django's wsgi 文件目录, 这里补充一下,如果是Django项目的话那么 wsgi.py 文件路径大致都是一样的:/data/wwwroot/q/q/uwsgi.py (参考我的项目文件路径) wsgi-file = q/wsgi.py # 最大进程数 processes = 4 #每个进程的线程数 threads = 2 #状态监听端口 stats = 127.0.0.1:9191 # 退出时自动清理环境配置 vacuum = true #目录下文件改动时自动重启 touch-reload = /data/wwwroot/q #Python文件改动时自动重启 #py-auto-reload = 1 #后台运行并把日志存到.log文件 daemonize = /data/wwwroot/q/uWSGI.log
二。 配置完毕后启动 uwsgi
uwsgi --ini uwsgi.ini
三。查看端口,看下uwsgi是否存在
netstat -nltp
参考下:
四。重启 nginx
nginx -s reload
如果还有其他部署上的疑问可以参考下我之前的博客,那个用的是 Centos服务器 部署的,里面总结了部署的流程和很多错误原因,可以参考下: https://www.cnblogs.com/chaoqi/p/11103188.html