美文网首页
手工部署cmdb

手工部署cmdb

作者: 夜醉梦紅尘 | 来源:发表于2019-11-09 09:39 被阅读0次

手工部署cmdb

1.准备好容器
mysql(用来存储数据),python3(主项目的运行环境),redis(实现快速存储),rabbitmq(用来提供管道给celery分发任务id实现异步命令执行),nginx(用来实现反向代理)
注意起容器的时候加上 --network test 实现容器之间网络相同
docker network create -d bridge test (创建一个名为test的网络,它的模式为桥接)

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 中的任何一个很方便的使用了
Uwsgi 处理 socket 连接
安装  pip3 install uwsgi

继续在当前目录下创建 conf/uwsgi.ini  写入
[uwsgi]
chdir = /opt/cmdbteam/auto_cmdb    #主项目路径
socket = 172.20.0.4:80          #给端口nginx实现代理
#http = 172.20.0.4:80
#static-map = /static=/opt/cmdbteam/auto_cmdb/allstatic
module = auto_cmdb.wsgi

master = true
processes = 4

vacuum  = true

logto = /tmp/auto_cmdb.log

在项目的主目录下执行
uwsgi --ini conf/uwsgi.ini 
即可运行原来的django项目

3.实现nginx代理
起好nginx容器,记住他映射的80端口
在物理机上可执行

docker cp cmdb_server:/opt/cmdbteam/auto_cmdb/allstatic .
docker cp allstatic nginx_server:/ 

将静态文件搬去到nginx容器里
进入nginx容器,vi /etc/nginx/conf.d/default.conf

upstream django {
    server cmdb_server:80;      
}                              
server {                     
    listen       80;
    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;
    } 

保存退出,物理机上执行docker restart nginx_server 重起nginx服务
浏览器访问 本机IP:nginx_server映射的端口就实现访问,nginx实现了代理
关于里面的异步执行命令后续分析。。。。

相关文章

  • 手工部署cmdb

    手工部署cmdb 1.准备好容器mysql(用来存储数据),python3(主项目的运行环境),redis(实现快...

  • Linux安装部署cmdbuild(非常详细,有手就行)

    安装部署各款CMDB真的是烦了尤其蓝鲸CMDB,因此在这里推荐一款国外的cmdb:cmdbuild,非常容易部署且...

  • 部署CMDB

    环境 简单讲解一下,大概思路。将开发好的项目上传到gitlab,在服务器将项目跑起来,mysql做存储,redis...

  • 自动部署cmdb

    自动部署 利用docker-compose实现对项目的部署 分为五个机器(容器),分别是主项目(cmdb_serv...

  • Go语言开发的灵活管理资源的开源CMDB

    Go语言开发灵活管理资源的开源CMDB 之前开源过一个比较灵活多云的 CMDB,只有没有时间整理部署方式,最近总是...

  • 蓝鲸CMDB部署笔记

    如果你像笔者一样小白,只是想看看蓝鲸CMDB,恰巧又和笔者一样不求甚解,官方文档又看的迷糊,只看这篇笔记就对了。 ...

  • (2)CMDB之 CMDB是啥

    CMDB是什么 CMDB的作用 CMDB是什么 大体上来说,有人说CMDB是自动化运维的基石,CMDB也常常被认为...

  • CD-jenkins部署cmdb

    建立CD环境 1.确认cmdb_server容器有ssh服务,没有则yum install openssh-ser...

  • docker-compose 部署cmdb

    首先需要创建一下目录 redis和rabbitmq只需要到官方docker仓库去找dockerfile就可以在co...

  • 告警管理

    将CMDB系统与Prometheus连接,实现批量部署配置文件,批量管理告警信息等 架构 用户操作场景 实例属主 ...

网友评论

      本文标题:手工部署cmdb

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