zoukankan      html  css  js  c++  java
  • Django+uwsgi+nginx

    1. 安装uwsgi

    执行命令: pip3 install uwsgi

    2. 配置uwsgi文件(django项目的主目录下新建uwsgi.ini)

    [uwsgi]
    # 指定ip(内网ip)
    # http = 172.18.64.217:8000
    # 项目虚拟环境(使用python的虚拟环境时需要配置)
    virtualenv=/root/tester_site/venv
    
    #(内网ip,与nginx的ip要保持一致)
    socket = 172.18.64.217:4589
    # django 项目路径(文件夹下存在manage.py)
    chdir = /root/.jenkins/workspace/tester_site/mysite
    
    # 主APP路径,即存在wsgi.py文件的文件路径
    wsgi-file = mysite/wsgi.py
    module = mysite.wsgi:application
    
    #启用主线程
    master = true
    # 最大进程数(cpu)
    processes = 4
    # 进程个数
    workers = 5
    
    # 启用线程
    enable-threads=true
    # 最大线程数
    threads = 10
    #序列化接受的内容,如果可能的话
    thunder-lock=true
    #设置自中断时间
    harakiri=60
    
    # 监控(uwsgi stats服务
    #stats = 47.52.31.161:9000
    
    # 设置缓存
    post-buffering=4096
    # 清理环境(自动移除unix Socket和pid文件当服务停止的时候)
    vacuum = true
    
    # log
    daemonize = /root/.jenkins/workspace/tester_site/mysite/logs/uwsgi.log
    # sock文件存放目录,方便nginx进行sock连接交互
    #socket = /usr/local/py/Monster/testrunner/testrunner/logs/uwsgi.sock
    
    disable-logging = true
    
    #进程id存放文件
    pidfile = /root/.jenkins/workspace/tester_site/mysite/uwsgi.pid
    
    #静态文件映射,第一个是django别名,第二个是django的真实路径
    static-map=/static=/root/.jenkins/workspace/tester_site/mysite/static
    #文件权限
    chmod-socket = 666
    #最大请求数
    max-requests = 5000
    
    #使用用户
    uid=root
    #组
    gid=root
    
    #使用utf-8
    env LANG="zh_CN.UTF-8"
    env LANGUAGE="zh_CN.UTF-8"

    3. 配置nginx

    查看nginx配置文件路径

    nginx -t

     在配置文件的vhost路径下新建django.conf配置文件

    /usr/local/nginx/conf/vhost/django.conf

    server {
            listen 8000;                    #表示 Nginx 默认监听的是80端口
            index index.html index.htm index.nginx-debian.html;
            server_name 172.18.64.217;
    
            location / {
                include uwsgi_params;
                uwsgi_pass 172.18.64.217:4589;  #这两行参数表示和uwsgi 结合,而且这个端口号就是前面 uwsgi 开启Django 项目的端口号,这是一个服务器对内的端口号,80为对外的,收到请求后如果是动态路由,则转发给这个端口的服务进行处理
                uwsgi_read_timeout 60;
            }
            location /static {      #这里就是静态文件的配置
                expires 30d;
                autoindex on;
                add_header Cache-Control private;
                alias /root/.jenkins/workspace/tester_site/mysite/static;   #这里是Django项目静态文件地址,也是请求服务以后,直接获取的地址
            }
    }

    4. 激活python的虚拟环境并进入到django项目所在目录下执行uwsgi uwsgi.ini 启动django项目

    到此所有组件都配置完毕并完成django的启动

  • 相关阅读:
    android中正确保存view的状态
    使用AudioTrack播放PCM音频数据(android)
    【录音】Android录音--AudioRecord、MediaRecorder
    (原创)初识cordova(一)
    忽略git中不需要进行版本管理的文件
    GitHub 小试
    通过View.post()获取View的宽高
    org.json.JSONObject的getString和optString使用注意事项
    android---EditText的多行输入框
    【转】我赌5毛你没见过这样的SpannableString
  • 原文地址:https://www.cnblogs.com/sprouts/p/15687107.html
Copyright © 2011-2022 走看看