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 即可。