所以我试图让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
当使用systemd时,我认为我唯一需要做的就是使用ExecStart=
并启动该命令。但是由于systemd需要绝对路径,我在默认的uWSGI启动脚本中查看并看到/usr/bin/uwsgi
或usr/sbin/uwsgi
将是默认的起始路径。
所以对我来说最终的exec命令看起来像这样:
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
问题:运行此问题时,无法找到运行virtualenv中所有内容的选项--no-site
。
在命令行中使用uwsgi
启动时,这不是问题。
但即使直接从命令行启动/usr/bin/uwsgi
,我也会收到此错误。
所以对我来说,uwsgi
命令看起来不仅仅是直接运行/usr/bin/uwsgi
。但是我不确定我需要做些什么才能让它发挥作用。
我真的很感激我能得到的任何帮助。
答案 0 :(得分:2)
所以我使用/usr/local/uwsgi
来查看每个包含uwsgi实例的文件夹,发现默认的uwsgi应用程序似乎在UIWebView
。
答案 1 :(得分:0)
您是否尝试过将uwsgi配置放在单独的文件中?
ExecStart=/usr/bin/uwsgi --ini /path/to/your/app/uwsgi.ini
您可以阅读有关uwsgi ini configs here
的更多信息