【问题标题】:uwsgi socket not created未创建 uwsgi 套接字
【发布时间】:2013-09-04 22:57:43
【问题描述】:

我正在使用nginxuwsgi 设置ubuntu 服务器。昨天,跑步

sudo service nginx restartsudo service uwsgi restart

将生成此套接字:/run/uwsgi/app/recoapi/recoapi.socket

我使用pip 而不是apt-get 安装了uwsgi,从那时起,recoapi.socket 文件一直没有生成。当我尝试curl 我的服务器时,我在nginx error.log 中发现以下错误。

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/;
        }
}

【问题讨论】:

  • 这是一个修改过的 Linode 配置文件,对吗?我看到您添加了 xml 标记、uid、gid、chmod-socket 和 chown-socket。这为我解决了这个问题。非常感谢!

标签: sockets ubuntu nginx uwsgi


【解决方案1】:

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

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

【讨论】:

  • /etc/uwsgi/site.ini?这可能已经过时了,我没有看到任何 xml
  • @surfer190 xml 部分已过时,但 ini 不正确的想法仍然是真实的
猜你喜欢
  • 2015-07-23
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2016-02-08
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
相关资源
最近更新 更多