【问题标题】:uWSGI autostart with systemduWSGI 使用 systemd 自动启动
【发布时间】:2016-01-27 17:03:39
【问题描述】:

所以我试图让 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/uwsgiusr/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,我也会收到此错误。

所以在我看来,uwsgicommand 不仅仅是直接运行/usr/bin/uwsgi。但我不确定我需要做什么才能使其正常工作。

如果能得到任何帮助,我将不胜感激。

【问题讨论】:

    标签: nginx uwsgi ubuntu-15.04


    【解决方案1】:

    所以我用whereis uwsgi再次查看了每个包含uwsgi实例的文件夹,发现默认的uwsgi应用程序似乎在/usr/local/uwsgi中。

    【讨论】:

      【解决方案2】:

      您是否尝试将 uwsgi 配置放在单独的文件中?

      ExecStart=/usr/bin/uwsgi --ini /path/to/your/app/uwsgi.ini
      

      你可以阅读更多关于 uwsgi ini configs here

      【讨论】:

        猜你喜欢
        • 2019-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-02
        • 2019-04-25
        • 2015-10-03
        • 1970-01-01
        • 2015-01-01
        相关资源
        最近更新 更多