django wsgi nginx 配置

"""
WSGI config for HelloWorld project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/
"""

import os,sys

os.environ['PYTHON_EGG_CACHE'] = '/data/wwwroot/HelloWorldroot/.python-eggs'

reload(sys)
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "HelloWorld.settings")

application = get_wsgi_application()

if __name__ == "__main__":
    HelloWorld.run()

演示的是django HelloWorld項目啓動,上面的是位於/data/wwwroot/HelloWorldroot/HelloWorld/wsgi.pypython

[uwsgi]
#socket = 127.0.0.1:9666 #設置監聽的端口
socket = /tmp/HelloWorld_uwsgi.sock #設置使用sock
#修改文件後自動重啓,觸發時間3秒
py-autoreload=3
pidfile=/tmp/HelloWorld-master.pid
master=true
vhost=true
#項目目錄
chdir=/data/wwwroot/HelloWorldroot/
module=HelloWorld.wsgi
#最大請求數 max
-requests = 5000
#啓動的用戶
gid=www
uid=www
uwsgi_read_timeout=600 # 指定接收uWSGI應答的超時時間,完成握手後接收uWSGI應答的超時時間,單位秒。
harakiri=1200 #請求超時時間,單位秒

上面的是位於/data/wwwroot/HelloWorldroot/uwsgi.ininginx

配置supervisordjango

vi /etc/supervisord.d/HelloWord.ini緩存

[program:HelloWord]
user=root
command=/usr/local/bin/uwsgi /data/wwwroot/HelloWorldroot/uwsgi.ini -l 128 -p 400 --buffer-size 32768 #l 設置套接字偵聽隊列大小,-p 生成指定數量的workers/processes,buffer-size uwsgi包解析的內部緩存區大小#檢測進程中止的信號
stopsignal=QUIT
#啓動supervisord的時候自動啓動
autostart=true
autorestart = true
redirect_stderr=true
stdout_logfile=/data/wwwroot/HelloWorldroot/uwsgi.log
stderr_logfile=/data/wwwroot/HelloWorldroot/uwsgi_error.log

 

supervisorctl  reload #從新加載配置ruby

supervisorctl status 查看啓動狀態app

 

使用socket = /tmp/HelloWorld_uwsgi.sock 則使用代理訪問,監聽端口能夠直接訪問端口socket

nginx 配置ui

server {

        listen   80;
        server_name 域名;
        access_log /data/wwwroot/HelloWorldroot/logs/access.log;
        error_log /data/wwwroot/HelloWorldroot/logs/error.log;
    
    location / {
         include        uwsgi_params;
     #uwsgi_pass     127.0.0.1:9666;
         uwsgi_pass     unix:/tmp/HelloWorld_uwsgi.sock;
        }
    #靜態文件路徑
    location /static/ {
            alias  /data/wwwroot/HelloWorldroot/HelloWorld/static/;
        }
}
相關文章
相關標籤/搜索