CentOS 6.xサーバーにNGINX + uWSGI + Flaskをインストールすることに成功しました
しかし、構成に関してはまだ疑問があります。
1) サービスとして NGINX を実行しています: service nginx start/stop/restart
「ps aux | grep 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
(ポイント 1 で説明したように) NGINX と同様に、uWSGI をサービスとして開始することは可能ですか? そのような場合、ユーザーは 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" では、デフォルトで 1 である "worker_processes" を指定することもできます。これを増やすことはできますか、それともマルチコア サーバーの場合のみ 1 より大きくすることができますか?
4) スレッドのサポートが無効になっていることに加えて、uWSGI を開始すると、これらの警告も表示されます。彼らはどういう意味ですか?
*** WARNING: you are running uWSGI without its master process manager ***
*** Operational MODE: single process ***
*** uWSGI is running in multiple interpreter mode ***