- cat > /etc/uwsgi/apps-enabled/www.ini << EOF
- [uwsgi]
- socket = /var/run/uwsgi/app/www/socket
- chmod-socket = 666
- limit-as = 256
- processes = 6
- max-request = 2000
- memory-report = true
- enable-threads = true
- pythonpath = /opt/www
- chdir = /opt/www/mysite
- wsgi-file = /opt/www/mysite/wsgi.py
- EOF
- root@www.linuxidc.com :~$ invoke-rc.d uwsgi restart
- root@www.linuxidc.com :~$ cat > /etc/nginx/sites-enabled/www << EOF
- server {
- listen 80;
- server_name localhost;
- location / {
- include uwsgi_params;
- uwsgi_pass unix:///var/run/uwsgi/app/www/socket;
- }
- }
- EOF
这里的uwsgi_pass依旧是上面我们找到的socket,注意一下server_name,这个是我们绑定的域名,通过nginx -s reload重新加载nginx。
好了,现在可以访问看看是不是成功了?如果出现502 Bad Gateway,可以检查一下uwsgi是否正常启动,通过ps aux | grep uwsgi看下进程列表,最后在检查下socket路径是否正确。
假如出现uWSGI Error:Python application not found这个问题,主要是路径配置问题,这点你可以查阅/var/log/uwsgi下面的日志文件,比如我就遇到过ImportError: No module named django.core.handlers.wsgi这个问题,实际上是wsgi.py里面路径配置不正确。
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2