未创建uwsgi套接字

时间:2013-09-01 21:07:27

标签: sockets ubuntu nginx uwsgi

我正在使用ubuntunginx设置uwsgi服务器。昨天,正在运行

sudo service nginx restartsudo 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/;
        }
}

1 个答案:

答案 0 :(得分:4)

问题是我的xml uwsgi文件中的语法无效。

未创建套接字,因为服务器未启动,因为它无法读取uwsgi配置文件,因为我的xml标记不匹配:wsgi-filewsgi_file。无论如何,这条线是不必要的,所以我删除它并再次创建套接字。