Ubuntu上Python进行Web开发的全流程指南
在开始前,需确保Ubuntu系统安装了Python环境和包管理工具:
sudo apt update同步软件源。sudo apt install python3 python3-pip,安装完成后通过python3 --version(验证Python版本≥3.6)和pip3 --version(验证pip可用性)确认安装成功。python3 -m venv myenv创建虚拟环境,通过source myenv/bin/activate激活(激活后终端提示符会显示(myenv))。Ubuntu上主流的Python Web框架各有侧重,可根据项目需求选择:
pip3 install Flask。pip3 install Django。pip3 install fastapi uvicorn(uvicorn为ASGI服务器)。app.py文件,写入以下代码:from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True) # debug=True开启热重载
python3 app.py,终端会显示Running on http://127.0.0.1:5000/。http://127.0.0.1:5000/,即可看到“Hello, World!”页面。django-admin startproject myblog(生成项目目录结构)。cd myblog。python3 manage.py startapp blog(blog为应用名称)。myblog/settings.py,将blog添加到INSTALLED_APPS列表末尾。python3 manage.py runserver,访问http://127.0.0.1:8000/,会看到Django欢迎页面。开发完成后,需将应用部署到生产环境以对外提供服务,核心步骤包括配置反向代理和使用WSGI服务器:
Nginx负责接收客户端请求,转发给Python应用,并处理静态文件(如CSS、JS)。运行sudo apt install nginx安装,安装完成后通过sudo systemctl start nginx启动,sudo systemctl enable nginx设置开机自启。
编辑Nginx默认配置文件(sudo nano /etc/nginx/sites-available/default),替换为以下内容(以Flask为例):
server {
listen 80;
server_name your_domain_or_ip; # 替换为域名或服务器IP
location / {
proxy_pass http://127.0.0.1:5000; # 转发到Flask应用的端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存后运行sudo nginx -t测试配置语法,无误则执行sudo systemctl reload nginx使配置生效。
Gunicorn(Green Unicorn)是将Python应用转换为WSGI服务的工具,提升应用性能。安装命令:pip3 install gunicorn。
gunicorn -w 3 -b 127.0.0.1:5000 app:app(-w 3表示3个工作进程,app:app指app.py中的app实例)。/etc/systemd/system/myapp.service文件,写入以下内容:[Unit]
Description=Gunicorn instance for myapp
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/path/to/your/app # 替换为应用目录路径
ExecStart=/path/to/your/app/venv/bin/gunicorn -w 3 -b unix:/run/myapp.sock app:app
Restart=on-failure
[Install]
WantedBy=multi-user.target
执行sudo systemctl daemon-reload、sudo systemctl start myapp、sudo systemctl enable myapp启动服务并设置开机自启。通过以上步骤,即可在Ubuntu上完成Python Web应用的开发、测试与部署。根据项目需求选择合适的框架,能显著提升开发效率和应用性能。