• centos7.3部署django用uwsgi和nginx[亲测可用]


    现在nginx 

    nginx version: nginx/1.10.2

    uwsgi 2.0.17

    django2.0.5

    都已经完成完毕,那么开始

    uwsgi 配置

    uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建hello.ini,添加如下配置:

    [uwsgi]
    socket =127.0.0.1:9090 //用socket 就是这个折腾了我很长的时间
    module = hello.wsgi //这个是hello目录下的wsgi.py    不用.py的后缀,这个也折腾我很久 会自动使用hello目录下的wsgi.py文件
    master=true
    pidfile=/var/run/uwsgihello.pid
    daemonize=/var/www/python/hello.log //加入这个参数,就可以在后台运行,运行的结果到这个日志文件查看即可

    Nginx 配置

    找到nginx的安装目录(如:/usr/local/nginx/),打开conf/nginx.conf文件,修改server配置:

    server {
            listen       80;
            server_name  localhost;
            
            location / {

          include uwsgi_params;
          uwsgi_pass 127.0.0.1:9090;//这个要和wsgi的ini配置保持一致

    
            }
        }

    如果不行,加入以下代码在http里面 也是nginx.conf

        large_client_header_buffers 4 16k;
            client_max_body_size 300m;
            client_body_buffer_size 128k;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
            proxy_send_timeout 600;
            proxy_buffer_size 64k;
            proxy_buffers   4 32k;
            proxy_busy_buffers_size 64k;
            proxy_temp_file_write_size 64k;

    设置完成后,在终端运行:

    uwsgi --ini /etc/hello.ini 
    service nginx restart

     输入查看结果

    从开始到最终成功 花费了2天时间

    大部分的原因是centos7.3下 的python版本的问题  默认python的版本是2.7的   要玩转最新的django2.0 肯定需要python3.6.5的版本

    这个问题折腾了好久,还有一个问题就是uwsgi运行的.ini的配置问题

    思路

    先玩通 uwsgi 可运行django 你就成功了一半

    剩下的nginx 反向代理的问题  就是一个配置  比较简单

  • 相关阅读:
    scrapy--Cookies
    python--signal
    python--redis
    TCP/IP 协议
    python--Wrapper
    python--inspect
    python--pexpect
    linux 特殊命令(一)
    day45 Pyhton 数据库Mysql 02
    day44 Pyhton 数据库Mysql
  • 原文地址:https://www.cnblogs.com/baker95935/p/9073129.html
Copyright © 2020-2023  润新知