美文网首页
微服务的动静分离

微服务的动静分离

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-11-08 19:49 被阅读0次
    image.png

    1.docker起3个容器,mysql,nginx,app

    2.配置app的conf下的xxx.ini

    [uwsgi]
    chdir = /home/jpx/auto_cmdb/auto_cmdb
    socket = 172.20.0.4:80
    #http = 172.20.0.4:80
    
    static-map = /static=/home/jpx/auto_cmdb/auto_cmdb/allstatic
    module = auto_cmdb.wsgi
    
    master = true
    processes = 6
    
    vacuum = true
    
    logto = /home/jpx/auto_cmdb/auto_cmdb/logs/auto_cmdb.log
    

    3.cp应用容器内的静态文件到nginx容器内(在终端上执行)

    docker cp cmdb-server:/home/jpx/auto_cmdb/auto_cmdb/allstatic/ .
    docekr cp allstatic/ nginx-server:/
    

    4.配置nginx中/etc/nginx/conf.d/default.conf

    upstream django {
        server 172.21.0.2:80;      #应用容器的端口
    }                              
    server {                     
        listen       172.21.0.6:80;   #nginx自己的IP
        server_name  nginx-server;   
        charset utf-8;
        client_max_body_size 75M;
                                                          
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
                             
        location /static {
            alias /allstatic;     #访问路径
        }                     
        location / {             
            uwsgi_pass django;        
            include uwsgi_params;   
        } 
    

    手工部署cmdb

    1.准备好容器
    mysql(用来存储数据),python3(主项目的运行环境),redis,rabbitmq,(这两个都可以实现命令的异步执行),nginx(用来实现反向代理)


    image.png

    2.拉取gitlab代码
    进入python3环境的容器拉取代码

    git clone -b 所开发的分支 sshgit@xxxxxx
    

    在之前项目的主目录下

     pip3 freeze > requestment.txt        冻结执行项目的环境并保存
    

    在容器克隆下来项目后执行

    pip3 install -r requestment.txt            下载所需环境
    

    接下来需要处理django环境中的static文件,在settings中写入

    STATIC_ROOT = os.path.join(BASE_DIR,"allstatic")
    
    注释掉
    
    #STATICFILES_DIRS = [
    #    os.path.join(BASE_DIR, 'static'),
    #]
    在项目的主环境下执行
    python3 manage.py collectstatic  生成目录   allstatic
    收集所有静态文件处理完毕项目的静态文件之后, 就可以让后面提到的 uwsgi 或者 nginx 中的任何一个很方便的使用了
    
    继续在当前目录下创建 conf/uwsgi.ini  写入
    [uwsgi]
    chdir = /opt/cmdbteam/auto_cmdb    
    socket = 172.20.0.4:80
    #http = 172.20.0.4:80
    #static-map = /static=/opt/cmdbteam/auto_cmdb/allstatic
    module = auto_cmdb.wsgi

    相关文章

      网友评论

          本文标题:微服务的动静分离

          本文链接:https://www.haomeiwen.com/subject/gubwbctx.html