我有Nginx和uwsgi的两个python虚拟环境。 这些环境用于开发和生产。 我想要的是运行生产:80和开发:6544端口
这是我的configuration
server { listen 80; access_log off; error_log /var/log/nginx/http.prod.error.log; charset utf-8; location / { uwsgi_pass unix:///tmp/uwsgi.sock; include uwsgi_params; } } server { listen 6544; access_log off; error_log /var/log/nginx/http.dev.error.log; charset utf-8; location / { uwsgi_pass unix:///tmp/uwsgi.sock; include uwsgi_params; } }
当我做%production%/bin/uwsgi --ini-paste-logged %production%/production.ini它运行良好。 但是当我试图启动dev版本%dev%/bin/uwsgi --ini-paste-logged %dev%/dev.ini我得到了下一个在uwsgi.log:
*** Starting uWSGI 1.9.12 (64bit) on [Fri Jun 7 07:35:21 2013] *** compiled with version: 4.4.3 on 07 June 2013 07:32:32 os: Linux-2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 nodename: pt-apps2 machine: x86_64 clock source: unix pcre jit disabled detected number of CPU cores: 24 current working directory: /home/dev writing pidfile to ./pid_5000.pid detected binary path: /home/dev/bin/uwsgi your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes unlink(): Operation not permitted [core/socket.c line 135] bind(): Address already in use [core/socket.c line 185] *** Starting uWSGI 1.9.12 (64bit) on [Fri Jun 7 07:38:24 2013] *** compiled with version: 4.4.3 on 07 June 2013 07:32:32 os: Linux-2.6.32-38-server #83-Ubuntu SMP Wed Jan 4 11:26:59 UTC 2012 nodename: pt-apps2 machine: x86_64 clock source: unix pcre jit disabled detected number of CPU cores: 24 current working directory: /home/dev writing pidfile to ./pid_5000.pid detected binary path: /home/dev/bin/uwsgi your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes unlink(): Operation not permitted [core/socket.c line 135] bind(): Address already in use [core/socket.c line 185]
dev.ini包含下一个设置:
[uwsgi] socket = /tmp/uwsgi.sock master = true processes = 4 harakiri = 60 harakiri-verbose = true limit-post = 65536 post-buffering = 8192 daemonize = ./uwsgi.log pidfile = ./pid_5000.pid listen = 256 max-requests = 1000 reload-on-as = 128 reload-on-rss = 96 no-orphans = true log-slow = true
我相信我做了错误的configuration,但我不知道什么是错的。 另一个有趣的东西,当生产UWSGI运行时,我可以访问:6544,但我没有看到开发版本,只有生产。 所以我认为80和6544端口只用于生产。 任何想法如何我可以通过端口分裂一个应用程序的两个版本?
谢谢
您正在尝试为dev和production使用相同的Unix域套接字。 为他们使用不同的套接字。