ass售后管理系统安装到新服务器配置步骤
一、git所有文件
二、安装python的虚拟化环境
apt install -y python3-full python3-venv
创建虚拟化环境
python3 -m venv venv
激活
source /home/ass/venv/bin/activate
三、安装数据库
apt install -y mariadb-server
四、配置数据库
CREATE DATABASE ass DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'ass'@'localhost' IDENTIFIED BY 'xxx'; GRANT ALL PRIVILEGES ON ass.* TO 'ass'@'localhost'; --允许本地访问 GRANT ALL PRIVILEGES ON zenjong.* TO 'zenjong'@'10.244.1.201' IDENTIFIED BY '密码'; --固定IP或是%全部 FLUSH PRIVILEGES; EXIT;
导入数据
mysql -u ass -p ass < xx.sql
没有任何提示就是成功。
五 启动生产运行环境
1. 去掉 app.py debug
2. pip install -r requirements.txt
六 编辑脚本
nano /etc/systemd/system/ass.service
[Service]
Type=notify
User=root
Group=root
WorkingDirectory=/home/ass
Environment="PATH=/home/ass/venv/bin:/usr/local/bin:/usr/bin:/bin"
Environment="FLASK_ENV=production"
ExecStart=/home/ass/venv/bin/gunicorn -c /home/ass/gunicorn_config.py wsgi:application --name ass
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=mixed
TimeoutStopSec=5
PrivateTmp=true
Restart=always
RestartSec=10
完整的启动脚本
[Unit] Description=Zenjong Flask Application After=network.target [Service] Type=notify User=root Group=root WorkingDirectory=/home/zenjong Environment="PATH=/home/zenjong/venv/bin:/usr/local/bin:/usr/bin:/bin" Environment="FLASK_ENV=production" ExecStart=/home/zenjong/venv/bin/gunicorn -c /home/zenjong/gunicorn.conf.py wsgi:application --name zenjong ExecReload=/bin/kill -s HUP $MAINPID KillMode=mixed TimeoutStopSec=5 PrivateTmp=true Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
七 启动服务
systemctl start ass.service systemctl enable ass.service
八 配置nginx
/etc/nginx/sites-available/www.zenjong.vip
server {
server_name www.zenjong.vip;
location / {
proxy_pass http://127.0.0.1:4000;
# proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/www.zenjong.vip/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.zenjong.vip/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.zenjong.vip) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name www.zenjong.vip;
return 404; # managed by Certbot
client_max_body_size 100M;
}
九 申请站点ssl自动续期
certbot --nginx -d site2.com -d www.site2.com
验证自动续期
systemctl list-timers | grep certbot
测试模拟续期:
sudo certbot renew --dry-run
看到:
Congratulations, all simulated renewals succeeded
表示自动更新成功。