https://www.iloxp.com/archive/2390/
话不多说开始搞起来
一、准备一台机器
4C*8G 配置,生产的看自己的情况
首先需要三样组件需要安装
Nginx: 是一款轻量级的Web服务器、反向代理服务器
MySQL: 关系型数据库
Python3:Python 是一种跨平台的计算机程序设计语言
uWSGI:uWSGI 是一个快速的,自我驱动的,对开发者和系统管理员友好的应用容器服务器
首先先脚本安装mysql和nginx,自己可以去百度安装,没啥技术
创建一个库准备存放数据
然后在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 包
到此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
3、给项目目录分配权限
cd $PROJ_DIR
chown nginx.nginx . -R /data/django-idcops
这里我统一用nginx这个用户,安装nginx的时候可以新建这个用户,centos yum install nginx 默认会创建这个用户
4、创建并激活 py3 虚拟环境
cd $PROJ_DIR
python3 -m venv env
source env/bin/activate # 激活python3 虚拟环境
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?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
到此uwsgi也安装完成了
6、修改配置文件
cd $PROJ_DIR
vim /data/django-idcops/idcops_proj/settings.py
![](https://s4.51cto.com/images/blog/202009/15/ff462de2891703d871e0c399adc05741.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![](https://s4.51cto.com/images/blog/202009/15/a4c9f6b39afa56e2e3c44bf30680827e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
修改完成验证一下
7、测试数据库连接
cd $PROJ_DIR
source /data/django-idcops/env/bin/activate
python manage.py dbshell
以上说明没有问题
8、迁移数据库
cd $PROJ_DIR
source /data/django-idcops/env/bin/activate
python manage.py migrate
这里是吧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
11、配置uwsgi 并启动uwsgi
cd $PROJ_DIR
source /data/django-idcops/env/bin/activate
cd config
cp uwsgi.ini.example uwsgi.ini
这里我用root启动所以uid是root
$ #启动uwsgi
$ whereis uwsgi # 找到当前项目安装的uwsgi在哪里
$ /data/django-idcops/env/bin/uwsgi --ini /data/django-idcops/config/uwsgi.ini
已经启动了
12、配置nginx虚拟主机
在nginx配置添加
上面不用动,就把server的删掉替换就行
检查一下
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;
}
接下来启动一下
访问一下
登录一下
三、开始导入数据
先创建客户
创建机房
创建机柜
然后机会和这个租用的客户公司绑定一下
完成后可以在机柜上架服务器了
这里可以看到上架了一台机器
其他的也是一样这样配置就行。