Você daemonizou o servidor de aplicativos uwsgi com /srv/www/site/logs/uwsgi.log como um log. O log do uwsgi deve conter informações sobre o motivo pelo qual não foi possível criar o arquivo de sock em primeiro lugar.
Estou tentando obter uma pilha LNP [Linux Nginx Python] (isso é mesmo uma coisa? heh), mas estou tendo algumas dificuldades.
Muitos posts e documentação sobre isso parecem girar em torno do uso do Upstart para gerenciar o processo uWSGI, o que seria ótimo, mas estou percebendo que os pacotes instalados com um script init.d e alguns diretórios de configuração em% código%. Então, claramente, há uma maneira melhor de fazer isso.
Eu tenho alguns arquivos de configuração (abaixo), mas não consigo iniciar o processo do uwsgi, executar o script init.d não faz nada, relata sucesso, mas falha silenciosamente (sem nem mesmo um log).
Quando eu executo o uWSGI diretamente eu recebo isto:
% sudo uwsgi -i /etc/uwsgi/apps-enabled/site.ini
tmp = /
[uWSGI] getting INI configuration from /etc/uwsgi/apps-enabled/site.ini
/usr/lib/uwsgi/plugins/python27_plugin.so
Também vale a pena notar o erro gerado quando tento acessar o site:
% cat logs/error.log
2012/01/08 23:26:12 [crit] 9167#0: *13 connect() to unix://tmp/site.sock failed (2: No such file or directory) while connecting to upstream, client: 60.241.99.33, server: mysite.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix://tmp/site.sock:", host: "mysite.com"
Configuração do uWSGI
% cat /etc/uwsgi/apps-enabled/config.ini
[uwsgi]
uid = www-data
gid = www-data
home = /srv/www/site/myapp
socket = /tmp/site.sock
pythonpath = /srv/www/site/virtualenvs/default
harakiri = 60
daemonize = /srv/www/site/logs/uwsgi.log
plugins = http,python
Configuração Nginx
% cat /etc/nginx/sites-enabled/mysite.com
server {
listen 80;
server_name mysite.com;
access_log /srv/www/site/logs/access.log;
error_log /srv/www/site/logs/error.log;
root /srv/www/site/public_html;
index index.html index.htm;
location / {
uwsgi_pass unix:///tmp/site.sock;
include uwsgi_params;
}
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
}
Estou usando
% dpkg --get-selections | grep uwsgi
libapache2-mod-uwsgi install
uwsgi install
uwsgi-core install
uwsgi-plugin-http install
uwsgi-plugin-python install
% dpkg --get-selections | grep nginx
nginx-common install
nginx-extras install
nginx-full deinstall
Algumas informações sobre a versão
% nginx -V
nginx: nginx version: nginx/1.0.5
nginx: TLS SNI support enabled
nginx: configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-debug --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_perl_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --with-mail --with-mail_ssl_module --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-development-kit --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-upstream-fair --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-echo --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-lua --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-http-push --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-upload-progress --add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-secure-download
% uwsgi --version
uWSGI 0.9.8.1-debian
Você daemonizou o servidor de aplicativos uwsgi com /srv/www/site/logs/uwsgi.log como um log. O log do uwsgi deve conter informações sobre o motivo pelo qual não foi possível criar o arquivo de sock em primeiro lugar.
Olhando para o seu error.log pode ser um problema de permissões com o unix: ///tmp/site.sock, no seu uwsgi conf.ini você pode usar a opção chmod-socket delineada aqui: documentos da uwsgi
Sempre sugiro que novos usuários comecem com o início rápido oficial, já que o uWSGI é construído com a ideia (que você pode gostar ou não) de que cada aplicativo é diferente dos outros, e cada um requer um ajuste específico. Então, configurá-lo sem entender totalmente os conceitos básicos pode ser uma PITA real (real).
A propósito, parece que você tem uma configuração quase pronta para funcionar, as coisas erradas que eu notei são:
A diretivauwsgi_pass no nginx deve ser
uwsgi_pass unix: /tmp/site.sock
(sem barras adicionais)
Você não precisa carregar o plugin http na instância do uWSGI, já que o nginx está usando nativamente o protocolo uwsgi.
Certifique-se de que / srv / www / site / logs seja gravável pelo usuário www-data e finalmente (como sugestão), comece a usar sockets TCP, pois eles não requerem permissões e podem ser facilmente verificados com ferramentas como netstat .
Outra nota: você pode tentar executar o uwsgi manualmente com o "uwsgi configfile" depois de ter removido a opção "daemonize". Dessa forma, você pode verificar se há erros no seu terminal.
Eu sei que isso é muito tarde, mas depois de pesquisar um pouco Se o seu soquete não está sendo criado, você pode ter esquecido de criar um link do diretório ./apps-enabled
para o ./apps-available
sudo ln -s /etc/uwsgi/apps-available/mysite.ini /etc/uwsgi/apps-enabled/mysite.ini
$ cat /etc/uwsgi/apps-enabled/README
lê
Some files found in this directory are processed by uWSGI init.d script as uWSGI configuration files.
On system boot for each configuration file new uWSGI daemon instance is started with additional option. Name of this option is based on configuration file extension. Path to configuration files is passed as option value.
See more detailed information at: * /usr/share/doc/uwsgi/README.Debian.gz * /etc/default/uwsgi
é claro que você não precisa reiniciar o sistema, você pode apenas sudo service uwsgi restart
Observação: acabei de perceber que você está usando 11,10 e estou usando 12,04, então isso pode não funcionar para você.