鱼C论坛

 找回密码
 立即注册
查看: 1622|回复: 1

Django 项目部署上线指南

[复制链接]
发表于 2019-10-28 17:58:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 黑夜 于 2019-11-11 17:52 编辑

[md]
## uWSGI 的配置



1.  安装 uWSGI。
   
    ```
    pip install uwsgi
   
   
    ```
   
2.  修改 uWSGI 的配置文件(`/root/fishc.com/conf/uwsgi.ini`)。
   
    ```
    [uwsgi]
   
    base=/root/fishc.com
   
    name=teamproject
   
    master=true
   
    processes=4
   
    pythonhome=%(base)/venv
   
    chdir=%(base)/code/%(name)
   
    pythonpath=%(pythonhome)/bin/python
   
    module=%(name).wsgi
   
    socket=172.18.61.250:8000
   
    logto=%(base)/logs/uwsgi.log
   
   
    ```
   
    > 说明:可以先将 “通信的地址和端口” 项等号前面改为 http 来进行测试,如果没有问题再改回 成 socket,然后通过 Nginx 来实现项目的“动静分离”(静态资源交给 Nginx 处理,动态内容交给 uWSGI 处理)。按照下面的方式可以启动 uWSGI 服务器。
   
3.  启动服务器。
   
    ```
    uwsgi --ini conf/uwsgi.ini
   
   
    ```


## Nginx  

1.   安装 Nginx

     ```
      yum -y install nginx  # CentOS
   
      apt install nginx # Debian/Ubuntu
        
      ```

2.  修改全局配置文件(`/etc/nginx/nginx.conf`)。
   

     ```
    # 配置用户
    user root;
    # 工作进程数(建议跟CPU的核数量一致)
    worker_processes auto;
    # 错误日志
    error_log /var/log/nginx/error.log;
    # 进程文件
    pid /run/nginx.pid;
    # 包含其他的配置
    include /usr/share/nginx/modules/*.conf;
    # 工作模式(多路IO复用方式)和连接上限
    events {
        use epoll;
        worker_connections 1024;
    }
    # HTTP服务器相关配置
    http {
        # 日志格式
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
        # 访问日志
        access_log  /var/log/nginx/access.log  main;
        # 开启高效文件传输模式
        sendfile            on;
        # 用sendfile传输文件时有利于改善性能
        tcp_nopush          on;
        # 禁用Nagle来解决交互性问题
        tcp_nodelay         on;
        # 客户端保持连接时间
        keepalive_timeout   30;
        types_hash_max_size 2048;
        # 包含MIME类型的配置
        include             /etc/nginx/mime.types;
        # 默认使用二进制流格式
        default_type        application/octet-stream;
        # 包含其他配置文件
        include /etc/nginx/conf.d/*.conf;
        # 包含项目的Nginx配置文件
        include /root/project/conf/*.conf;
    }
   
      ```


3.  编辑局部配置文件(`/root/fishc.com/conf/nginx.conf`)。
   
      ```
     server {
         listen      80;
         server_name _;
         access_log /root/fishc.com/logs/access.log;
         error_log /root/fishc.com/logs/error.log;
         location / {
             include uwsgi_params;
             uwsgi_pass 172.18.61.250:8000;
         }
         location /static/ {
             alias /root/fishc.com/stat/;
             expires 30d;
         }
     }
     server {
         listen      443;
         server_name _;
         ssl         on;
         access_log /root/fishc.com/logs/access.log;
         error_log /root/fishc.com/logs/error.log;
         ssl_certificate     /root/project/conf/cert/214915882850706.pem;
         ssl_certificate_key /root/project/conf/cert/214915882850706.key;
         ssl_session_timeout 5m;
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_prefer_server_ciphers on;
         location / {
             include uwsgi_params;
             uwsgi_pass 172.18.61.250:8000;
         }
         location /static/ {
             alias /root/fishc.com/static/;
             expires 30d;
         }
     }
   
      ```





1.   测试 nginx 配置文件的有效性。

      ```
      nginx -t
      ```


## Docker 部署

更新中....




## QQ 群

最近建立一个 鱼C - 全栈群,有兴趣的可以一起可以交流 794616458
[/md]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-15 17:59:19 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 01:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表