【问题标题】:uwsgi + django via Nginx - uwsgi settings/spawn?通过 Nginx 的 uwsgi + django - uwsgi 设置/生成?
【发布时间】:2011-03-12 17:21:12
【问题描述】:

我的 Django 应用程序倾向于使用 uwsgi+nginx,任何人都可以分享启动我的 uwsgi 进程的最佳方法吗?有没有人有调整uwsgi的经验?

【问题讨论】:

    标签: python django nginx wsgi uwsgi


    【解决方案1】:

    在 OSX 上发布

    在 unices 上的 Upstart/init。

    uwsgi 也有自己的进程管理器,所以你也可以运行它。

    调整:

    查看mailing list,获取有关您特定要求的建议。 Uwsgi 很棒,它是一个完整的部署解决方案。

    0.8.40以上的Nginx会默认构建uwsgi绑定,构建nginx,构建uwsgi你就大功告成了。

    【讨论】:

      【解决方案2】:

      这些是我在我的 fabfile.py 文件中使用的函数(如果您还没有的话,请查看 python fabric):

      def start_uwsgi():
          with cd(env.server.uwsgi):
              if(exists('server.pid')):
                  stop_uwsgi()
                  run('sleep 1')
              run('source venv/bin/activate;uwsgi --ini uwsgi.ini;'))
      
      def stop_uwsgi():
          with cd(env.server.uwsgi):
              if(exists('server.pid')):
                  run('source venv/bin/activate;uwsgi --stop server.pid;'))
      

      在我的 uwsgi.ini 文件中我指定:

      [uwsgi]
      socket = :{{your_port}}
      master = true
      vhost = true
      no-site = true
      processes = 1
      enable-threads = true
      pidfile = server.pid
      daemonize = server.log
      auto-procname = true
      procname-prefix = servername_
      

      对我来说主要的问题是:

      • 如果您想在关闭终端/ssh 会话后保持 uwsgi 服务器继续运行,请使用 daemonise 选项
      • 使用 vhost 在同一个 uwsgi 实例下运行多个站点,如果您的瓶颈是内存,那就太好了,就像我的使用其他出色的 webfaction 主机一样
      • pidfile 跟踪当前实例,使您能够调用 uwsgi --stop pidfile、uwsgi --start pidfile
      • procname 和 procname-prefix/append 为您的进程提供了一个好听的名称,这样您就可以使用 ps -u username | 轻松将其单独列出。 grep some_string

      【讨论】:

      • 帮了我很多! +1 为“procname”
      【解决方案3】:

      我将与 supervisord 一起管理启动、停止过程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-14
        • 2014-05-31
        • 2014-02-01
        • 2015-10-25
        • 2011-10-10
        • 2011-11-25
        • 2017-04-12
        • 2012-01-20
        相关资源
        最近更新 更多