我成功地在 CentOS 6.x 服务器上安装了 NGINX + uWSGI + Flask
但是在配置方面我还是有一些疑惑:
1)我正在将 NGINX 作为服务运行:
如果我输入“ps aux | grep nginx”,服务 nginx 启动/停止/重新启动,我可以看到 2 个进程:-(
通过用户 root)主进程 /usr/sbin/nginx -c /etc/nginx/nginx.conf
- (由用户 nginx)工作进程
可以吗?
2)我为Flask设置了一个virtualenv并在这样的virtualenv下安装了uWSGI包。
目前,我通过键入“uwsgi /somedir/uwsgi.ini”手动启动 uWSGI,其中 uwsgi.ini 如下:
chdir = /myappdir
uid = pyuser
chmod-socket = 666
socket = /tmp/uwsgi.sock
module = run
callable = app
virtualenv = /myappdir/myvirtualenv
是否可以将 uWSGI 作为服务启动,类似于 NGINX(如第 1 点所述)?这种情况下用户应该是root还是非root?
3)当我启动 uWSGI 时,我目前收到以下警告:
*** Python threads support is disabled. You can enable it with --enable-threads ***
我意识到在“uwsgi.ini”配置文件中还可以配置多个进程和线程。考虑到我正在运行的服务器只有 1 个核心,我可以设置多个进程和线程吗?如果有,有多少?
3b) 在 NGINX 配置文件“/etc/nginx/nginx.conf”上,也可以指定“worker_processes”,默认为 1。我可以增加它,或者它可以高于 1 仅用于多核服务器?
4) 除了禁用线程支持之外,当我启动 uWSGI 时,我也会收到这些警告。他们的意思是什么?
*** WARNING: you are running uWSGI without its master process manager ***
*** Operational MODE: single process ***
*** uWSGI is running in multiple interpreter mode ***