• 项目部署 基础


    1.代码上线(部署)

           代码上线之前的配置准备:

            - 在配置文件 配置:ALLOWED_HOSTS = ['*',]

            -  配置:DEBUG = False

            - 在配置文件里 配置:STATIC_ROOT = "allstatic"    # 把所有的静态文件放在一起了上线的时候才能找到

            -  python manage.py collectstatic    # 执行这句话 就可以把所有的静态文件放在一起了上线的时候才能找到

             

      1. 将本地文件打包,拷贝服务器上

          1,可以直接托到Xshell 5

          2,用windows:filezilla  

              点点点,去下载

          等等。。。。。。

      2.程序:s9deploy.zip 上传到服务器

        如果没有 下载的这个功能 安装 :yum install lrzsz

        

        解压你上传的 项目 zip包 没有那个命令的话 安装: yum install unzip 

       

        在安装 uwsgi 在之前你必须有 python3

            下载python3 下载 :https://www.cnblogs.com/jiangchunsheng/p/9270225.html 

            下载 uwsgi :pip3 install uwsgi    #uwsgi 替换了 wsgi 因为: uwsgi 支持 多线线程,多进程,并发,

        编辑uwsgi 配置文件:

          注释: 要在你项目里执行

            vim uwsgi_s9deploy.ini

            

    [uwsgi]
                                http = 0.0.0.0:8001  # scoket = 0.0.0.0:8001
                                chdir = /data/s9deploy/
                                wsgi-file = s9deploy/wsgi.py
                                process = 4
                                static-map = /static=/data/s9deploy/allstatic
    uwsgi 配置文件里的代码

        执行项目:

          uwsgi --ini /data/s9deploy/uwsgi_s9deploy.ini

        安装 nginx :

           yum install nginx 

        配置 nginx 配置文件

        vim /etc/nginx/nginx.conf

        

    user root;
    worker_processes 4;
    
    error_log /var/log/nginx/error.log;
    pid /var/run/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    
    
    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;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        upstream django {
            server 127.0.0.1:8001; # 多个服务器 分担并发 
            # server 192.1.123.1;  # 另一个 服务器 不用下nginx 也是正常项目  uwsgi ,项目目录
        }
        server {
            listen      80;
    
            charset     utf-8;
    
            # max upload size
            client_max_body_size 75M;
    
            location /static {
                alias  /data/oldboy/allstatic; 
            }
    
            location / {
                uwsgi_pass  django;
                include     uwsgi_params;
            }
        }
    }
    
    示例配置文件/etc/nginx/nginx.conf
    nginx 配置文件

    d. 启动uwsgi和nginx    & 符是在后台执行的意识

    1
    2
    3
    uwsgi --ini /data/oldboy/oldboy.ini &
     
    /etc/init.d/nginx start

    3. supervisor

    supervisor是一个对进程管理的软件,可以帮助我们启动uwsgi并维护(uwsgi进程关闭时,自动将其启动起来)。

    a. 安装

    1
    yum install supervisor

    b. 配置 vim /etc/supervisor.conf

     配置详细

    c. 启动

    1
    2
    3
    supervisord /etc/supervisor.conf
    /etc/init.d/supervisor start

            

              

            

        

  • 相关阅读:
    RESTful架构的设计误区
    CRUD的http请求方式
    RESTful API的安全性
    REST风格的原则
    REST架构风格理解
    ansible上手之认识Playbook
    ansible模块之file
    ansible模块之yum,yum_repository
    ansible模块之copy
    Pygame
  • 原文地址:https://www.cnblogs.com/jiangchunsheng/p/9270630.html
Copyright © 2020-2023  润新知