zoukankan      html  css  js  c++  java
  • uWSGI其三:搭配Nginx

    Nginx我这台机器有默认安装,新增配置:

    server{
        listen       80 ;    #监听80端口
        access_log /export/servers/nginx/logs/mypro.local_access.log;    #日志文件位置
        error_log  /export/servers/nginx/logs/mypro.local_error.log;
        location / {#访问/时
         include         uwsgi_params; #加载uwsgi模块
         proxy_pass http:
    //127.0.0.1:9090; #将请求跳转到该端口 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location /static/ { alias /export/servers/mypro/static/; #访问/static时直接访问到/project/static } }

    注意对access_log和error_log新建log文件.

    uWSGI 配置
    端口9090是uwsgi开启的,要接收80来的请求.uWSGI启动可以使用xml,ini,yaml,yml,json等格式的配置文件来启动.
    1. xml 配置
    请确定你在上一节中的django_wsgi.py文件已经存在了.新建一个XML文件:mypro.xml,将它放在/export/App/mypro/目录下:

    <uwsgi>
        <socket>127.0.0.1:9090</socket>
        <listen>80</listen>
        <master>true</master>
         <pythonpath>/export/App/mypro</pythonpath>
        <processes>1</processes>
        <logdate>true</logdate>
        <daemonize>/var/log/uwsgi.log</daemonize>
        <plugins>python</plugins>
    </uwsgi>

    然后执行命令:

    $ uwsgi -x /export/App/mypro/mypro.xml

    or

    $ uwsgi --xml /export/App/mypro/mypro.xml

    有时候因各种环境问题,-x --xml命令识别不了,比如我的系统版本为Centos6.6,uWSGI版本为2.0.15.可以使用下面ini配置方式:

    2. ini配置

    [uwsgi]
    vhost = false
    plugins = python
    socket = 127.0.0.1:9090
    master = true
    enable-threads = true
    workers = 1
    wsgi-file = /export/App/mypro/mypro/wsgi.py
    virtualenv = /export/servers/python/2.7.12 # python安装目录
    chdir = /export/App/mypro

    然后执行命令:

    $ uwsgi --ini /export/App/mypro/mypro.ini &
    $ ps -fe | grep mypro
    admin     3192 13386  2 10:42 pts/0    00:00:00 uwsgi --ini /export/App/mypro/mypro.ini
    admin     3195  3192  0 10:42 pts/0    00:00:00 uwsgi --ini /export/App/mypro/mypro.ini
    admin     3232 13386  0 10:43 pts/0    00:00:00 grep mypro

    在实际部署环境中,我通常使用之前命令行的形式后台启动9090端口保持监听.命令格式如下:

    $ uwsgi --http :9090 --chdir /export/App/mypro --module django_wsgi -M -p 8 --http-buffer-size=64000 --buffer-size=64000 -d /export/Logs/mypro/uwsgi.log &
    
    --chdir Django程序目录
    --module 使用django_wsgi,类似apache-tomcat的mod_jk和nginx-tomcat的mod_proxy
    -M enable master process
    -p spawn the specified number of workers/processes(开启8个进程)
    -d 记录启动日志

    如无意外,在浏览器里直接访问80端口,就能看到Django项目的默认页面了.

  • 相关阅读:
    linux文件管理之查找
    linux文件管理之管道与重定向
    linux文件管理之proc文件系统
    linux文件管理之bash shell
    linux进程管理之作业控制
    linux进程管理之优先级
    linux进程管理之信号控制
    Inno Setup制作最简单的安装程序
    intel汇编笔记
    WINDOWS程序设计对话框加载显示bmp图像及刷新
  • 原文地址:https://www.cnblogs.com/1qaz/p/7568447.html
Copyright © 2011-2022 走看看