运维开发网

Django实现CMDB搭建

运维开发网 https://www.qedev.com 2020-09-16 12:21 出处:51CTO 作者:tty之星
Django实现CMDB搭建

背景:每个公司都有CMDB用来管理公司的服务器,今天这个是参考开源的项目实现的,想看源码可以参考:

https://www.iloxp.com/archive/2390/

话不多说开始搞起来

一、准备一台机器

4C*8G 配置,生产的看自己的情况

首先需要三样组件需要安装

Nginx: 是一款轻量级的Web服务器、反向代理服务器

MySQL: 关系型数据库

Python3:Python 是一种跨平台的计算机程序设计语言

uWSGI:uWSGI 是一个快速的,自我驱动的,对开发者和系统管理员友好的应用容器服务器

首先先脚本安装mysql和nginx,自己可以去百度安装,没啥技术

Django实现CMDB搭建

创建一个库准备存放数据

Django实现CMDB搭建

然后在yum 安装个nginx:yum install nginx -y

完成之后安装python3

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz python 包

Django实现CMDB搭建

Django实现CMDB搭建

到此python3安装完成

二、开始安装django项目

2、获取 django-idcops 源代码

创建一个/data 目录

cd /data

git clone https://gitee.com/wenvki/django-idcops.git

cd django-idcops

PROJ_DIR=/data/django-idcops

Django实现CMDB搭建

3、给项目目录分配权限

cd $PROJ_DIR

chown nginx.nginx . -R /data/django-idcops

这里我统一用nginx这个用户,安装nginx的时候可以新建这个用户,centos yum install nginx 默认会创建这个用户

Django实现CMDB搭建

4、创建并激活 py3 虚拟环境

cd $PROJ_DIR

python3 -m venv env

source env/bin/activate # 激活python3 虚拟环境

Django实现CMDB搭建

5、安装 requirements.txt 中的依赖

cd $PROJ_DIR

python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple # -i 参数表示采用阿里云pypi镜像站的pypi包源

python -m pip install -r requirements-prod.txt -i https://mirrors.aliyun.com/pypi/simple # Linux下安装uwsgi,Windows下请各位自行从搜索引擎解决(不建议生产环境部署到Windows系统)

![](https://s4.51cto.com/images/blog/202009/15/9a4cf392d3b7155453e7a657cb5f396e.png)

到此uwsgi也安装完成了

6、修改配置文件

cd $PROJ_DIR
vim /data/django-idcops/idcops_proj/settings.py 
![](https://s4.51cto.com/images/blog/202009/15/ff462de2891703d871e0c399adc05741.png)
![](https://s4.51cto.com/images/blog/202009/15/a4c9f6b39afa56e2e3c44bf30680827e.png)

修改完成验证一下

7、测试数据库连接

cd $PROJ_DIR

source /data/django-idcops/env/bin/activate

python manage.py dbshell

Django实现CMDB搭建

以上说明没有问题

8、迁移数据库

cd $PROJ_DIR

source /data/django-idcops/env/bin/activate

python manage.py migrate

Django实现CMDB搭建

这里是吧django需要的表结构都写到数据库当中

9、迁移静态文件和新建 media 目录

cd $PROJ_DIR

source /data/django-idcops/env/bin/activate

python manage.py collectstatic --noinput # --noinput 表示无须回车确认

mkdir /data/django-idcops/media

chown nginx.nginx -R /data/django-idcops/media # 需要分配权限,否则用户无法上传图片或文件

10、创建超级用户

cd $PROJ_DIR

source /data/django-idcops/env/bin/activate

python manage.py createsuperuser

Django实现CMDB搭建

11、配置uwsgi 并启动uwsgi

cd $PROJ_DIR

source /data/django-idcops/env/bin/activate

cd config

cp uwsgi.ini.example uwsgi.ini

Django实现CMDB搭建

这里我用root启动所以uid是root

$ #启动uwsgi

$ whereis uwsgi # 找到当前项目安装的uwsgi在哪里

$ /data/django-idcops/env/bin/uwsgi --ini /data/django-idcops/config/uwsgi.ini

Django实现CMDB搭建

已经启动了

Django实现CMDB搭建

12、配置nginx虚拟主机

Django实现CMDB搭建

在nginx配置添加

上面不用动,就把server的删掉替换就行

Django实现CMDB搭建

检查一下

Django实现CMDB搭建

13、nginx ssl配置(可选配置) 用不用都行

idcops_ssl.conf

listen 443 ssl http2;

#HTTP_TO_HTTPS_START
if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
}

if ( $host != 'django-idcops.iloxp.com' ) {
    rewrite ^(.*)$ https://www.iloxp.com$1 permanent;
}
#HTTP_TO_HTTPS_END

ssl_certificate /etc/nginx/cert/idcops.iloxp.com/idcops.iloxp.com_chain.crt; # managed by Certbot
ssl_certificate_key /etc/nginx/cert/idcops.iloxp.com/idcops.iloxp.com_key.key; # managed by Certbot
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5';
resolver 8.8.8.8 8.8.4.4 valid=300s;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;

#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
    allow all;
}

接下来启动一下

Django实现CMDB搭建

访问一下

Django实现CMDB搭建

登录一下

Django实现CMDB搭建

Django实现CMDB搭建

三、开始导入数据

先创建客户

Django实现CMDB搭建

创建机房

Django实现CMDB搭建

创建机柜

Django实现CMDB搭建

然后机会和这个租用的客户公司绑定一下

Django实现CMDB搭建

Django实现CMDB搭建

Django实现CMDB搭建

完成后可以在机柜上架服务器了

Django实现CMDB搭建

Django实现CMDB搭建

Django实现CMDB搭建

这里可以看到上架了一台机器

其他的也是一样这样配置就行。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号