上次在阿里云上搭建了nginx+uwsgi+flask的程序,
见以下网址:
http://blog.csdn.net/yuan882696yan/article/details/50196787
前天在同一台机器上,准备再搭建个项目,
所以又装了套python的虚拟环境,准备再启动个服务,但是nginx+uwsgi的配置就是启动不了,
今天无奈,只好把原来的可用的老项目备份,然后借用老项目的配置,去搭建新项目,
然后真的可以了,但是需要注意以下几点:
1. 在启动nginx之前(sudo service nginx),必须先启动uwsgi:
uwsgi -d /home/xxx/www/project/logs/uwsgi.log --ini /home/xxx/www/project/config.ini
启动后的样子如下(不管在网页上是否可以访问,可以直接去启动nginx了)
(venv)xxx@xxx3cpvw1vjZ:~/www/project$ uwsgi -d /home/xxx/www/project/logs/uwsgi.log --ini /home/xxx/www/project/config.ini
[uWSGI] getting INI configuration from /home/xxx/www/project/config.ini
(venv)xxx@xx3cpvw1vjZ:~/www/project$
2. 启动nginx后,有很多时候会报502错误,此时应去看nginx的日志:
/var/log/nginx/error.log
以下错误,就会提示,就会导致前台报502错误,此时的原因:就是没有执行uwsgi的启动操作(见1)
[error] 3455#0: *37 connect() failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /school/index HTTP/1.1", upstream: "uwsgi://127.0.0.1:5000", host: "xxx.xxx.xx.xx"