我正在使用ubuntu
和nginx
设置uwsgi
服务器。昨天,正在运行
sudo service nginx restart
和
sudo service uwsgi restart
会生成此套接字:/run/uwsgi/app/recoapi/recoapi.socket
我使用uwsgi
而不是pip
安装了apt-get
,并且从那时起,recoapi.socket
文件尚未生成。当我尝试nginx
我的服务器时,我在error.log
curl
中发现以下错误。
2013/09/01 13:59:12 [crit] 29712#0: *1 connect() to unix:///run/uwsgi/app/recoapi/recoapi.socket failed (2: No such file or directory) while connecting to upstream
此错误的结果是我curl
的输出是
<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.2.6 (Ubuntu)</center>
</body>
</html>
我的uwsgi
配置文件如下所示。有关套接字权限的行似乎没有效果。
<uwsgi>
<plugin>python</plugin>
<uid>www-data</uid>
<gid>www-data</gid>
<chmod-socket>777</chmod-socket>
<chown-socket>www-data</chown-socket>
<socket>/run/uwsgi/app/recoapi/recoapi.socket</socket>
<pythonpath>/var/www/recoapi/application/</pythonpath>
<wsgi-file>/var/www/recoapi/application/wsgi_configuration_module.py</wsgi_file>
<app mountpoint="/">
<script>wsgi_configuration_module</script>
</app>
<processes>4</processes>
<harakiri>60</harakiri>
<reload-mercy>8</reload-mercy>
<cpu-affinity>1</cpu-affinity>
<stats>/tmp/stats.socket</stats>
<max-requests>2000</max-requests>
<limit-as>512</limit-as>
<reload-on-as>256</reload-on-as>
<reload-on-rss>192</reload-on-rss>
<no-orphans/>
<vacuum/>
</uwsgi>
我在this tutorial工作。
这是我的nginx
配置文件:
server {
listen 80;
server_name $hostname;
access_log /var/www/recoapi/logs/access.log;
error_log /var/www/recoapi/logs/error.log;
location / {
#uwsgi_pass 127.0.0.1:9001;
uwsgi_pass unix:///run/uwsgi/app/recoapi/recoapi.socket;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;
}
location /static {
root /var/www/recoapi/public_html/static/;
}
}
答案 0 :(得分:4)
问题是我的xml uwsgi文件中的语法无效。
未创建套接字,因为服务器未启动,因为它无法读取uwsgi
配置文件,因为我的xml
标记不匹配:wsgi-file
和wsgi_file
。无论如何,这条线是不必要的,所以我删除它并再次创建套接字。