1 创建 systemd 服务
应用服务
路径:/etc/systemd/system/<app>.service
[Unit]
Description=<App Name> Web App
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/www/<app>
ExecStart=/home/ubuntu/miniconda3/envs/<env_name>/bin/python app.py <port>
Restart=always
[Install]
WantedBy=multi-user.target
2 加载并启用
sudo systemctl daemon-reload
sudo systemctl enable --now <app> <app>_scheduler
检查状态
sudo systemctl status <app>
sudo systemctl status <app>_scheduler
3 配置 Nginx 反向代理
路径:/etc/nginx/conf.d/<domain>.conf
server {
listen 80;
server_name <domain>;
location / {
proxy_pass http://127.0.0.1:<port>;
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;
}
}
测试并重启:
sudo nginx -t
sudo systemctl reload nginx
4 配置 HTTPS (SSL)
使用 Certbot 自动申请证书:
sudo certbot --nginx -d <domain>
Certbot 会自动:
• 申请并安装证书到 /etc/letsencrypt/live/<domain>/
• 在 Nginx 中添加 443 端口配置
• 配置自动续期
测试访问:
https://<domain>/
强制跳转 HTTP → HTTPS:
Certbot 安装过程中会提示,选择 Yes 即可。