项目部署 基础

Posted jiangchunsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目部署 基础相关的知识,希望对你有一定的参考价值。

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

        

          

        

    

以上是关于项目部署 基础的主要内容,如果未能解决你的问题,请参考以下文章

VsCode 代码片段-提升研发效率

导致资产预编译在heroku部署上失败的代码片段

将项目部署到github的方法

项目部署 基础

Gitlab代码管理仓库安装部署

GitLab安装部署