nginx + supervisor + uwsgi + dja

2018-11-25  本文已影响0人  清风徐来_简

一、静态文件处理

DEBUG=False
#收集静态文件的目录,静态文件内容都放这里了
STATIC_ROOT='/opt/static/django'
STATIC_URL = '/static/'
STATICFILES_DIRS=[
    os.path.join(BASE_DIR,"static"),
]
(django15) [root@localhost /projects/django15 07:40:57]#mkdir static
(django15) [root@localhost /projects/django15 07:41:16]#ls
 db.sqlite3  django15  manage.py  static

二、uwsgi配置

[uwsgi]
#使用nginx连接时使用
socket=0.0.0.0:9000
#不用nginx直接当做web服务器使用
#http=0.0.0.0:9000
#项目目录绝对路径
chdir=/projects/django15
#wsgi文件路径,在项目底下
wsgi-file=django15/wsgi.py
#指定解释器目录
home=/root/Envs/django15
processes=4
threads=2
master=True
pidfile=uwsgi.pid
(django15) [root@localhost /projects/django15/django15 08:41:47]#ls
__init__.py  __pycache__  settings.py  test_uwsgi.py  urls.py  wsgi.py  

三、nginx配置

upstream django {
server 0.0.0.0:9000 weight=10;  
}
server {
listen       80;
    server_name  www.mydjango.com;   (注意不带斜杠,加引号)
    location / {
        include /opt/nginx1-12/conf/uwsgi_params; 
        uwsgi_pass  django;
    }
    location /static  {
    alias /opt/static/django;
    }
}

四、安装supervisor进程管理工具

五、启动nginx,supervisorctl,浏览器访问

supervisorctl reload:重启
/opt/nginx1-12/sbin/nginx -s reload:重启
www.mydjango.com:访问测试

六、nginx 反向代理 uwsgi 的404页面自定制

upstream django {
server 0.0.0.0:9000 weight=10;
}
server {
    listen       80;
    server_name  www.mydjango.com;
        
    location / {
        include /opt/nginx1-12/conf/uwsgi_params; 
        uwsgi_pass  django;
            
        关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面
        uwsgi_intercept_errors on;
    }
        
    location /static  {
    alias /opt/static/django;
    }
        
    # 定义错误页面码,如果出现相应的错误页面码,转发到那里。
    error_page  404     /404.html;

    location = /404.html {
    root   /opt/static;
    }
        
}

我的自定制页面
[root@localhost /opt/static 20:51:37]#ls
404.html django index.html page1 page2 page3

上一篇下一篇

猜你喜欢

热点阅读