zoukankan      html  css  js  c++  java
  • nginx+uwsgi02---django部署(不推荐)

    1.文件结构

    myweb/

    ├── manage.py

    ├── myweb/

    │ ├── __init__.py

    │ ├── settings.py

    │ ├── urls.py

    │ └── wsgi.py

    └── myweb_uwsgi.ini

      在我们通过Django创建myweb项目时,在子目录myweb下已经帮我们生成的 wsgi.py文件。所以,我们只需要再创建myweb_uwsgi.ini配置文件即可,当然,uwsgi支持多种类型的配置文件,如xml,ini等。此处,使用ini类型的配置。

    2.uwsgi.ini

    # myweb_uwsgi.ini file
    [uwsgi]
    # Django-related settings
    socket = :8000
    
    # the base directory (full path)
    chdir = /home/fnngj/pydj/myweb
    
    # Django s wsgi file
    module = myweb.wsgi
    
    # process-related settings
    # master
    master = true
    
    # maximum number of worker processes
    processes = 4
    
    # ... with appropriate permissions - may be needed
    # chmod-socket = 664
    # clear environment on exit
    vacuum = true

      这个配置,其实就相当于在上一小节中通过wsgi命令,后面跟一堆参数的方式,给文件化了。

      socket 指定项目执行的端口号。

      chdir 指定项目的目录。

      module myweb.wsgi ,可以这么来理解,对于myweb_uwsgi.ini文件来说,与它的平级的有一个myweb目录,这个目录下有一个wsgi.py文件。

    3.nginx.conf

    ……
    server {
    listen 8099; 
    server_name 127.0.0.1 
    charset UTF-8;
    access_log /var/log/nginx/myweb_access.log;
    error_log /var/log/nginx/myweb_error.log;
    client_max_body_size 75M;
    
    location / { 
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8000;
    uwsgi_read_timeout 2;
    } 
    location /static {
    expires 30d;
    autoindex on; 
    add_header Cache-Control private;
    alias /home/fnngj/pydj/myweb/static/;
    }
    }
    ……

         listen 指定的是nginx代理uwsgi对外的端口号。

      server_name 网上大多资料都是设置的一个网址(例,www.example.com),我这里如果设置成网址无法访问,所以,指定的到了本机默认ip。

      在进行配置的时候,我有个问题一直想不通。nginx到底是如何uwsgi产生关联。现在看来大概最主要的就是这两行配置。

      include uwsgi_params;

      uwsgi_pass 127.0.0.1:8000;

      include 必须指定为uwsgi_params;而uwsgi_pass指的本机IP的端口与myweb_uwsgi.ini配置文件中的必须一直。

  • 相关阅读:
    #Git 21天打卡第一天 01天0526
    老徐第六期百人计划之职业发展方向&学习方向
    LR12.53安装中文补丁包,录制后回放脚本一致卡在编译的问题
    常用oracle语句整理
    LoadRunner11之批量插入SQL数据~2
    LoadRunner12之SQLServer数据库批量插入--.Net协议
    Jmeter连接Oracle数据库简单使用
    AppScan安装使用
    SQL多表连接
    [剑指Offer] 4.二维数组的查找
  • 原文地址:https://www.cnblogs.com/BlueFire-py/p/10841130.html
Copyright © 2011-2022 走看看