温馨提示×

Ubuntu Python Web开发环境怎么搭建

小樊
47
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. 开发工具推荐(可选)

  • 代码编辑器:Visual Studio Code(轻量、插件丰富,支持Python、Django等语言提示)、PyCharm(专业Python IDE,提供调试、数据库工具等)。
  • 数据库:若项目需要数据库,可安装MySQL(sudo apt install mysql-server)或PostgreSQL(sudo apt install postgresql postgresql-contrib),并通过框架的ORM(如Django的models.py)或SQLAlchemy(Flask)操作。

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

0