3

そこで、uWSGI と nginx を連携させようとして、次のコマンド ラインを設定して、uWSGI バックグラウンド サービスを自動的に実行および開始したいと考えました。

uwsgi --master --processes 4 --die-on-term --uid uwsgi --gid nginx --socket /tmp/uwsgi.sock --chmod-socket --stats :1717 --no-site --vhost --logto /var/log/uwsgi.log

ExecStart=systemd を使用するとき、私がする必要があるのは、そのコマンドを使用して開始することだけだと思いました。しかし、systemd には絶対パスが必要なので、デフォルトの uWSGI 開始スクリプトを調べたところ、/usr/bin/uwsgiまたはusr/sbin/uwsgiがデフォルトの開始パスであることがわかりました。

したがって、最終的な実行コマンドは次のようになります。

ExecStart=/usr/bin/uwsgi --master --processes 4 --die-on-term --uid uwsgi --gid nginx --socket /tmp/uwsgi.sock --chmod-socket --stats :1717 --no-site --vhost --logto /var/log/uwsgi.log

--no-site問題: これを実行すると、virtualenv ですべてを実行するためのオプションが見つかりません。uwsgiコマンドラインでこれを開始する場合、問題はありません。しかし/usr/bin/uwsgi、コマンドラインから直接起動しても、このエラーが発生します。

uwsgiだから私には、コマンドが直接実行されているだけではないように見えます/usr/bin/uwsgi。しかし、これを機能させるために何をする必要があるのか​​ わかりません。

私が得ることができる助けを本当に感謝します。

4

2 に答える 2