在Ubuntu上部署和运维Python应用程序涉及多个步骤,包括环境设置、依赖管理、服务配置、监控和日志管理等。以下是一些关键策略和步骤:
python3 -m venv myenv
source myenv/bin/activate
sudo apt update
sudo apt install python3 python3-pip
requirements.txtpip freeze > requirements.txt
pip install -r requirements.txt
sudo nano /etc/systemd/system/myapp.service
[Unit]
Description=My Python Application
After=network.target
[Service]
User=myuser
Group=mygroup
WorkingDirectory=/path/to/myapp
ExecStart=/path/to/myenv/bin/python /path/to/myapp/app.py
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl start myapp
sudo systemctl enable myapp
supervisor管理进程sudo apt install supervisor
sudo nano /etc/supervisor/conf.d/myapp.conf
[program:myapp]
command=/path/to/myenv/bin/python /path/to/myapp/app.py
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start myapp
sudo nano /etc/logrotate.d/myapp
/var/log/myapp.out.log {
daily
missingok
rotate 7
compress
notifempty
create 640 myuser mygroup
}
/var/log/myapp.err.log {
daily
missingok
rotate 7
compress
notifempty
create 640 myuser mygroup
}
sudo apt update && sudo apt upgrade
sudo apt install ufw
sudo ufw allow 22/tcp
sudo ufw enable
rsync -avz /path/to/myapp /backup/location
通过以上步骤,你可以在Ubuntu上有效地部署和运维Python应用程序。确保定期检查和维护这些策略,以确保应用程序的稳定性和安全性。