在Ubuntu系统中部署Python应用,可以遵循以下步骤:
python --version
或python3 --version
来检查Python是否已经安装以及其版本。如果没有安装,可以使用以下命令安装:sudo apt update
sudo apt install python3
python3 -m venv venv
激活虚拟环境:
source venv/bin/activate
现在,你可以在这个虚拟环境中安装所需的Python包,而不会影响到其他项目。
pip
安装项目所需的Python包。通常,这些依赖会在requirements.txt
文件中列出。运行以下命令安装依赖:pip install -r requirements.txt
pip install gunicorn
然后,在项目目录中运行以下命令启动Gunicorn服务器:
gunicorn your_app:app
其中,your_app
是你的Python应用模块名,app
是Flask或Django等Web框架中的应用实例名。
sudo apt install nginx
然后,配置Nginx以便将请求转发到Gunicorn服务器。编辑Nginx配置文件(通常位于/etc/nginx/sites-available/your_app
),并添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:8000;
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;
}
}
将your_domain_or_ip
替换为你的域名或IP地址。保存文件后,创建一个符号链接到sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/your_app /etc/nginx/sites-enabled
最后,重启Nginx以应用更改:
sudo systemctl restart nginx
sudo ufw allow 80
sudo ufw allow 443
至此,你已经在Ubuntu系统中成功部署了Python应用。现在,你可以通过访问服务器的IP地址或域名来查看你的应用。