关于程序员:如何快速部署-idcops-系统支持-WSL

39次阅读

共计 2155 个字符,预计需要花费 6 分钟才能阅读完成。

之前写的 idcops 部署文档大多是以 uwsgi 为主,uwsgi 是绝对于 gunicorn 来说更全面的应用服务器。

近期遇到很多新用户不晓得怎么部署或者在部署过程中出错的问题,所以写了能够通过在线装置的 shell 脚本来疾速部署 idcops 零碎。

脚本采纳 gunicorn 的形式部署 django-idcops 零碎,配合 nginx 便能够间接上线生成环境应用。

1. 根本环境需要:

须要装置 curl 库用于下载安装脚本

# CentOS
yum install -y curl
# Ubuntu
apt install -y curl
# Alpine
apk add curl

2. 装置指令:

curl -sL https://gitee.com/wenvki/django-idcops/raw/master/auto_install.sh |sh

已测试零碎:

  • CentOS Linux 7 (Core)
  • Ubuntu 18.04.4 LTS (Windows 10 WSL2)
  • Alpine Linux v3.12 (Windows 10 WSL2)

3. 局部可选配置参数或变量:
装置目录:/opt/django-idcops/

# shell 参数等号间不能有空格
# 默认端口号:(gunicorn),可选其余 tcp 端口
SrvPort=18113
# idcops 版本:默认 master,可选 develop
VERSION=master
# 下文可能会应用到的变量
WorkDir=/opt
ProjDir=${WorkDir}/django-idcops
VIRTUALENV=${ProjDir}/env
SrvAddr=0.0.0.0
# 日志文件:LogFile=${ProjDir}/logs/idcops.log
# Pid 文件:PidFile=${ProjDir}/run/idcops.pid

4. 启动与进行:

# 终端下执行
# 我的项目目录 /opt/django-idcops/
cd /opt/django-idcops/
# 启动:RUN_SERVER="nohup ${VIRTUALENV}/bin/gunicorn --workers 3 
 --bind ${SrvAddr}:${SrvPort} 
 --pid ${PidFile} 
 --log-file ${LogFile} 
 --access-logfile ${LogFile} 
 --pythonpath ${ProjDir} 
 idcops_proj.wsgi:application > /dev/null 2>&1 &"
eval ${RUN_SERVER}
# 进行:kill `cat /opt/django-idcops/run/idcops.pid`

5. Nginx 反向代理:

nginx 反向代理服务器次要是能够更高效地解决动态文件,其余申请还是转发到 gunicorn 进行解决。

很多同学不晓得 nginx 配置文件放哪里才失效,这边略微再提一下,倡议先自行搜索引擎找一下如何配置 nginx。

# CentOS yum 装置的 nginx
# 主配置文件
/etc/nginx/nginx.conf
# 默认的 Server 段虚拟主机配置目录
/etc/nginx/conf.d/
# 个别编译装置的 nginx
# 默认编译门路主配置文件:/usr/local/nginx/conf/nginx.conf
# 上面这段保留为:idcops_nginx.conf 放到 /etc/nginx/conf.d/ 目录下
server {
 listen 80;
 server_name idcops.iloxp.com 192.168.21.21;
 # 将下面 server_name 的 192.168.21.21 换成你 nginx 服务器的 IP 地址
 root /opt/django-idcops/;
 # 将下面 root 的门路换成你 django-idcops 我的项目的目录门路
 # include idcops_nginx_ssl_conf;
 location / {
 # Gunicorn
 proxy_pass http://127.0.0.1:18113;
 proxy_set_header X-Forwarded-Host $http_host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-Proto $scheme;
 }
 location /static {
 alias /opt/django-idcops/static;
 expires      7h;
 access_log off;
 }
 
 location /media {
 alias /opt/django-idcops/media;
 expires      7h;
 access_log off;
 }
 # access_log /opt/django-idcops/logs/idcops_access.log;
 error_log /opt/django-idcops/logs/idcops_error.log;
 
 location ~ /.ht {deny  all;}
}

6. Alpine Linux v3.12 (WSL2) 运行后果:




IDC 运维治理平台 会尽力更新无关 django-idcops 开发或应用相干文章。如果文章中的内容对你有帮忙,能够通过右下角点击 在看 反对一下,谢谢。

正文完
 0