そこで、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
。しかし、これを機能させるために何をする必要があるのか わかりません。
私が得ることができる助けを本当に感謝します。