首页主机资讯Ubuntu Python项目部署流程解析

Ubuntu Python项目部署流程解析

时间2026-01-21 21:42:03发布访客分类主机资讯浏览645
导读:Ubuntu Python项目部署流程解析 一 环境准备与基础配置 更新系统并安装基础工具:sudo apt update && sudo apt upgrade -y;安装常用工具如 git、curl、wget、tmux...

Ubuntu Python项目部署流程解析

一 环境准备与基础配置

  • 更新系统并安装基础工具:sudo apt update & & sudo apt upgrade -y;安装常用工具如 git、curl、wget、tmux、vim
  • 安装 Python 3、pip、venv:sudo apt install python3 python3-pip python3-venv -y,验证版本:python3 --version、pip3 --version。
  • 建议使用 Ubuntu 20.04/22.04 LTS,并通过 SSH 密钥登录服务器,禁用密码登录以提升安全性。
  • 初始化防火墙(UFW):sudo ufw allow 22,80,443;按需开放应用端口(如 8000)。

二 代码获取与依赖管理

  • 获取代码:
    • Git:git clone ;
    • 或 SCP:scp -r < 本地路径> < 用户> @< 服务器IP> :< 远程路径> 。
  • 创建并激活虚拟环境:python3 -m venv venv;source venv/bin/activate
  • 安装依赖:pip install -r requirements.txt;生产环境建议固定版本(pip freeze > requirements.txt)。
  • 管理依赖常用命令:pip install/upgrade/uninstall < 包名> 、pip list、pip show < 包名> 。
  • 多版本管理(可选):使用 pyenv 安装与切换特定 Python 版本,便于不同项目共存。

三 应用运行与进程守护

  • 选择应用服务器:
    • Flask 内置服务器仅用于开发;生产环境建议使用 Gunicorn(WSGI)。示例:gunicorn -w 4 -b 127.0.0.1:8000 app:app(或 myproject.wsgi:application)。
    • 亦可使用 uWSGI 作为替代方案。
  • systemd 守护进程运行(推荐):创建 /etc/systemd/system/myproject.service,关键字段示例:
    • ExecStart=/path/to/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/tmp/myproject.sock myproject.wsgi:application
    • WorkingDirectory、User、Group、Environment 按实际填写;启用:sudo systemctl daemon-reload & & sudo systemctl enable --now myproject。
  • 常用运维:
    • 查看日志:journalctl -u myproject -f;
    • 重启服务:sudo systemctl restart myproject

四 反向代理与静态资源

  • 安装 Nginx:sudo apt install nginx -y。
  • 配置反向代理(/etc/nginx/sites-available/myproject):
    • 监听 80 端口,server_name 为域名或 IP;
    • 反向代理:location / { include proxy_params; proxy_pass http://127.0.0.1:8000; } ;
    • 静态资源:location /static/ { alias /path/to/static; } ;
    • 启用站点:sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled;
    • 校验并重载:sudo nginx -t & & sudo systemctl reload nginx。
  • 如需直接对外暴露端口(不推荐生产):sudo ufw allow 8000

五 域名 HTTPS 与安全加固

  • 域名解析:在域名注册商添加 A 记录 指向服务器 IP
  • 申请 Let’s Encrypt 免费证书:sudo apt install certbot python3-certbot-nginx -y;执行:sudo certbot --nginx -d yourdomain.com(自动配置 Nginx 并开启自动续期)。
  • 安全加固要点:
    • 仅开放 22/80/443 等必要端口;
    • 使用 SSH 密钥登录,禁用 root 密码登录;
    • 定期更新系统与依赖(apt update/upgrade);
    • 配置日志轮转(/etc/logrotate.d/myproject),便于长期运行与审计。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Python项目部署流程解析
本文地址: https://pptw.com/jishu/789132.html
Ubuntu Python兼容性问题解决方案 Ubuntu Python安全漏洞防范措施

游客 回复需填写必要信息