ubuntu

Ubuntu Python Web开发环境怎么搭建

小樊
43
2025-09-19 01:17:37
栏目: 编程语言

Ubuntu搭建Python Web开发环境详细步骤

1. 准备基础环境

首先更新系统软件包列表,确保后续安装的软件版本最新:

sudo apt update

2. 安装Python与pip

Ubuntu 22.04及以上版本默认预装Python 3.10+,但仍需确认并安装pip(Python包管理器):

sudo apt install python3 python3-pip python3-venv

验证安装是否成功:

python3 --version  # 查看Python版本(如3.10.12)
pip3 --version     # 查看pip版本(如23.3.1)

3. 创建虚拟环境(隔离项目依赖)

虚拟环境可避免不同项目间的依赖冲突,推荐为每个项目单独创建:

# 在项目目录下创建虚拟环境(如命名为"myenv")
python3 -m venv myenv

# 激活虚拟环境(激活后终端提示符会显示环境名)
source myenv/bin/activate

# 激活后,后续安装的包会存放在虚拟环境中,不影响全局Python环境

4. 安装Web框架

根据项目需求选择轻量级(Flask)或全功能(Django)框架:

① 安装Flask(适合小型API或轻量级应用)

pip install Flask

创建一个简单的Flask应用(app.py):

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask World!'
    
if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

运行应用:

python app.py

访问http://<服务器IP>:5000,若看到"Hello, Flask World!"则说明成功。

② 安装Django(适合复杂Web应用,自带ORM、Admin等功能)

pip install Django

创建Django项目与应用:

# 创建项目目录(如"myproject")
django-admin startproject myproject
cd myproject

# 创建应用(如"myapp")
python manage.py startapp myapp

# 注册应用(修改myproject/settings.py,将"myapp"添加到INSTALLED_APPS列表)

运行开发服务器:

python manage.py runserver

访问http://<服务器IP>:8000,若看到Django欢迎页面则说明成功。

5. 配置生产环境(可选但推荐)

开发环境仅用于调试,生产环境需用**Nginx(反向代理)+ uWSGI(应用服务器)**提升性能与安全性。

① 安装Nginx

sudo apt install nginx

启动Nginx并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

② 配置uWSGI(连接Python应用与Nginx)

安装uWSGI:

pip install uwsgi

创建uWSGI配置文件(如myapp_uwsgi.ini,放在项目根目录):

[uwsgi]
module = wsgi:app  # Flask应用需指向"wsgi:app"(wsgi.py文件中的app对象);Django应用需指向"myproject.wsgi:application"
master = true
processes = 5      # 进程数(根据服务器配置调整)
socket = myapp.sock  # Unix socket文件路径(Nginx将通过此文件通信)
chmod-socket = 660 # socket文件权限
vacuum = true      # 退出时清理临时文件
die-on-term = true # 接收SIGTERM信号时正常退出

③ 配置Systemd服务(管理uWSGI进程)

创建Systemd服务文件(如/etc/systemd/system/myapp.service):

[Unit]
Description=uWSGI instance for myapp
After=network.target

[Service]
User=ubuntu       # 运行服务的用户(根据实际情况修改)
Group=www-data    # 运行服务的组(通常为www-data)
WorkingDirectory=/path/to/your/app  # 项目根目录(如/home/ubuntu/myproject)
ExecStart=/path/to/your/app/myenv/bin/uwsgi --ini myapp_uwsgi.ini  # 指定虚拟环境中的uwsgi路径

[Install]
WantedBy=multi-user.target

启动并启用服务:

sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

④ 配置Nginx反向代理

编辑Nginx默认配置文件(/etc/nginx/sites-available/default),替换server块内容:

server {
    listen 80;
    server_name your_domain_or_ip;  # 替换为域名(如example.com)或服务器IP

    location / {
        include uwsgi_params;       # 加载uWSGI参数
        uwsgi_pass unix:/path/to/your/app/myapp.sock;  # 指向uWSGI的socket文件
    }

    # 可选:配置静态文件服务(Django需额外设置STATIC_ROOT)
    location /static/ {
        alias /path/to/your/app/static/;  # 静态文件目录(需提前收集静态文件)
    }
}

测试Nginx配置是否正确:

sudo nginx -t

重启Nginx使配置生效:

sudo systemctl restart nginx

⑤ 防火墙设置(允许HTTP/HTTPS流量)

若服务器开启了UFW防火墙,需允许80(HTTP)和443(HTTPS)端口:

sudo ufw allow 'Nginx Full'

6. 开发工具推荐(可选)

通过以上步骤,你已在Ubuntu上搭建好Python Web开发环境,可根据项目需求选择框架并开始开发。生产环境中还需注意定期更新依赖、备份数据、配置HTTPS(如Let’s Encrypt证书)等安全措施。

0
看了该问题的人还看了