【问题标题】:uWSGI suddenly won't start again after server crash on Debian在 Debian 上的服务器崩溃后,uWSGI 突然无法重新启动
【发布时间】:2015-01-13 11:57:49
【问题描述】:

在我的服务器崩溃后,我无法再次启动 uWSGI,并且在 unlink()bind() 上不断出现以下错误。

我以 root 身份启动我的服务,所以它变得更加奇怪。

Sun Nov 16 15:25:24 2014 - *** Starting uWSGI 1.2.3-debian (64bit) on [Sun Nov 16 15:25:24 2014] ***
Sun Nov 16 15:25:24 2014 - compiled with version: 4.7.2 on 06 July 2013 12:20:09
Sun Nov 16 15:25:24 2014 - detected number of CPU cores: 1
Sun Nov 16 15:25:24 2014 - current working directory: /
Sun Nov 16 15:25:24 2014 - writing pidfile to /run/uwsgi/app/myserver_dev/pid
Sun Nov 16 15:25:24 2014 - detected binary path: /usr/bin/uwsgi-core
Sun Nov 16 15:25:24 2014 - setgid() to 33
Sun Nov 16 15:25:24 2014 - setuid() to 33
Sun Nov 16 15:25:24 2014 - writing pidfile to /var/www/servers/myserver/development/logs/myserver.pid
Sun Nov 16 15:25:24 2014 - your memory page size is 4096 bytes
Sun Nov 16 15:25:24 2014 - detected max file descriptor number: 1024
Sun Nov 16 15:25:24 2014 - lock engine: pthread robust mutexes
Sun Nov 16 15:25:24 2014 - uwsgi socket 0 bound to UNIX address /run/uwsgi/app/myserver_dev/socket fd 3
Sun Nov 16 15:25:24 2014 - unlink(): Permission denied [socket.c line 75]
Sun Nov 16 15:25:24 2014 - bind(): Address already in use [socket.c line 107]

nginx 服务器:

server {
    access_log      /var/www/servers/example/development/logs/nginx_access.log;
    error_log       /var/www/servers/example/development/logs/nginx_error.log;
    listen          8181;
    server_name     example.com;
    charset         utf-8;
}

server {
    listen  80;
    server_name *.example.com;
    return 301 http://example.com$request_uri;
}

server {
    access_log      /var/www/servers/example/production/logs/nginx_access.log;
    error_log       /var/www/servers/example/production/logs/nginx_error.log;
    listen          80;
    server_name     example.com;
    charset         utf-8;    
}

server {
    listen          7777;
    server_name     example.com;
    charset         utf-8;
    root            /var/www/servers/phpmyadmin;
    index           index.php   index.html  index.htm;

    if (!-e $request_filename) {
        rewrite ^/(.+)$ /index.php?url=$1 last;
        break;
    }

    location ~ .php$ {
        allow       2.110.234.34;
        deny        all;
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
    }
}

uWSGI 配置开发:

[uwsgi]
master = true
workers = 2
socket = /var/www/servers/example/development/sockets/example.sock
chmod-socket = 666
log-date = true
uid = www-data
gid = www-data
chdir = /var/www/servers/example/development/webapp
wsgi-file = /var/www/servers/example/development/webapp/webapp/wsgi.py
virtualenv = /var/www/servers/example/development/env
vacuum = true
env = DJANGO_SETTINGS_MODULE=webapp.settings
pidfile2 = /var/www/servers/example/development/logs/example.pid

uWSGI 配置生产

[uwsgi]
master = true
workers = 2
socket = /var/www/servers/example/production/sockets/example.sock
chmod-socket = 666
log-date = true
uid = www-data
gid = www-data
chdir = /var/www/servers/example/production/webapp
wsgi-file = /var/www/servers/example/production/webapp/webapp/wsgi.py
virtualenv = /var/www/servers/example/production/env
vacuum = true
env = DJANGO_SETTINGS_MODULE=webapp.settings
pidfile2 = /var/www/servers/example/production/logs/example.pid

【问题讨论】:

    标签: linux nginx webserver debian uwsgi


    【解决方案1】:

    尽管您以 root 身份运行服务器,但它会将权限降低到 33(可能是 www-data)。此用户 (33) 必须拥有删除 /var/www/servers/example/production/sockets/example.sock 的权利。

    可能是崩溃损坏了现在具有错误属性的 inode。修复它们,它应该会再次工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多