zoukankan      html  css  js  c++  java
  • django+nginx+uwsgi的生产环境部署(Ubuntu16.04)

    一,准备工作:

    代码一定要能本地跑起来!

    各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题。

    本地setting.py文件修改如下(改为生产模式,把debug关闭,添加host和静态文件地址):

     项目目录内随便什么地方新建一个uwsgi.ini配置文件:

    # dongpouu_uwsgi.ini file
    [uwsgi]
    
    # Django-related settings
    
    socket = :8000
    #真实服务的端口
    
    # Django项目根目录 (绝对路径)
    chdir           = /home/dongpouu
    
    # wsgi.py文件在项目中的位置
    module          = dongpouu.wsgi
    
    # process-related settings
    # master
    master          = true
    
    # 运行的进程数
    processes       = 1
    
    # ... with appropriate permissions - may be needed
    # chmod-socket    = 664
    # clear environment on exit
    vacuum          = true

    然后打一个zip包,通过ftp上传到服务器,注意上传路径要与uwsgi.ini内的地址一致:

    然后在项目根目录,运行一条命令来收集静态文件(因为在生产模式下,django不会再自动管理静态路径。后面会通过配置交给nginx来管理):

    python3 manager.py collectstatic

    配置nginx。在/etc/nginx/目录下,找到nginx.conf文件,用vim打开它,然后在http{ }内部加入下面内容。这不是唯一的配置方式,其他的也试过很多坑,最终这一种成功!、

    server {
            #这里是nginx用到的端口,注意不要与django的搞混了,所有配置里边只有这个端口是与其他地方不一样的!!!
            listen       80;
            server_name  dongpouu.com;
    
            charset UTF-8;
            #这块存让日志文件
            access_log  /var/log/nginx/dongpouu_access.log;
            error_log   /var/log/nginx/dongpouu_error.log;
    
            location /static/ {
                autoindex on;
                alias /home/dongpouu/static/; #这里按照自己的实际情况来,包括下面的
            }
    
            location /media/ {
                autoindex on;
                alias /home/dongpouu/media/;#这里按照自己的实际情况来,包括下面的
        } 
        client_max_body_size 75M;
        location
    / {
          include uwsgi_params;
    #同uwsgi内容
          uwsgi_pass 127.0.0.1:8000; #链接超时时间
          uwsgi_read_timeout 30; }
    }

    最后三条命令,部署生效(失败的自己排查肯定是配置问题):

    killall -9 uwsgi # 杀死正在运行的uwsgi服务
    uwsgi --ini dongpouu_uwsgi.ini # 注意要cd到该文件对应目录下,这条命令成功代表django项目顺利跑起来了!

    service nginx reload # 重新加载nginx

    最后访问www.dongpouu.com(你自己的网址,或者直接访问服务器的公网IP)看效果。

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/thinheader/p/9363417.html
Copyright © 2011-2022 走看看