zoukankan      html  css  js  c++  java
  • 如何正确的使用uwsgi

    简单的安装过程可以在这里找到,这里主要说一下如何配置uwsgi的服务,将uwsgi服务加入系统进程,你可以使用如下两种方式安装

    apt-get

    apt-get install uwsgi

    该命令会自动将uwsgi安装为一个服务,在 /etc/init.d/uwsgi 下,你可以使用以下命令来管理该服务:

    sudo /etc/init.d/uwsgi start|stop|restart|reload
    sudo service uwsgi start|stop|restart|reload

    pip

    pip install uwsgi

    该命令会将uwsgi安装在 /usr/local/bin/uwsgi ,你需要手动添加服务,建立 /etc/ini/uwsgi.conf 文件,内容如下:

    description "uWSGI Emperor"
    start on runlevel [2345]
    stop on runlevel [!2345]
    respawn
    exec /usr/local/bin/uwsgi --emperor /etc/uwsgi/vassals/ --logto /var/log/uwsgi/uwsgi.log

    然后你就可以通过如下的命令来管理uwsgi的进程了:

    sudo initctl start|stop|restart|reload| uwsgi
    sudo service uwsgi start|stop|restart|reload

    为你的网站创建配置文件

    在 /etc/uwsgi/vassals/ 目录下创建一个ini的配置文件,内容如下:

    [uwsgi]
    virtualenv=/home/cungen/sdk/python/env/
    chdir=/var/www/api.cungen.tk
    chmod-socket=777
    chown-socket=www-data
    
    module=www.wsgi
    env=DJANGO_SETTINGS_MODULE=www.settings
    master=True
    vacuum=True
    socket=/tmp/api.cungen.tk.sock
    pidfile=/tmp/api.cungen.tk.pid
    daemonize=/var/log/uwsgi/api.cungen.tk.log
    
    gid=www-data
    uid=www-data

    virtualenv为你使用的virtualenv的路径,chdir为你的项目路径,module为你项目中的模块,%n改为你的项目名称即可

    修改nginx中项目的配置文件

    如我的为 /etc/nginx/sites-available/api.local.cg ,内容如下:

    server {
            listen 80;
    
            root /var/www/api.cungen.tk;
            index index.html index.htm;
    
            access_log /var/log/nginx/api.cungen.tk-access;
            error_log /var/log/nginx/api.cungen.tk-error error;
    
            server_name api.cungen.tk;
    
            location / {
                    try_files $uri @django;
            }
    
            location @django {
                    uwsgi_pass unix:///tmp/api.cungen.tk.sock;
                    include uwsgi_params;
            }
    
            ## caches
            include /etc/nginx/conf.d/caches.conf;
    }

     重启服务:

    sudo service nginx reload
    sudo service uwsgi reload

    摘自:http://stackoverflow.com/questions/23073829/uwsgi-wont-reload-restart-or-let-me-run-service

  • 相关阅读:
    关于使用cocoaPods,import导入时第三方库头文件没有提示问题的解决办法
    在iOS项目中,这样才能完美的修改项目名称
    Mac OS删除文件夹和文件的命令
    mac添加环境变量
    gdb教程
    判断链表是否有环和两个单链表是否相交
    C/C++ 获取文件大小
    exit()与_exit()的区别
    atoi 和 itoa的实现
    new和malloc的区别
  • 原文地址:https://www.cnblogs.com/cungen/p/4096907.html
Copyright © 2011-2022 走看看