在 Ubuntu 22.04 上通过宝塔面板(BT Panel)安装 Python 和 Django,最推荐的方式是利用宝塔自带的 软件商店 进行可视化操作。这种方式能自动处理依赖、版本兼容性和虚拟环境配置,比手动命令行安装更稳定且易于维护。
以下是详细的操作步骤:
第一步:安装 Python 运行环境
- 登录宝塔面板后台。
- 点击左侧菜单栏的 “软件商店”。
- 在搜索框中输入
Python,找到 "Python" 应用(通常由宝塔官方提供)。 - 点击右侧的 “安装” 按钮。
- 选择版本:在弹出的窗口中,建议选择 Python 3.9 或 Python 3.10+(Django 4.x 及以上版本对 Python 3.8+ 有良好支持,建议选较新的稳定版)。
- 点击“开始安装”,等待进度条完成。
- 注意:如果系统提示需要安装
gcc等编译工具,宝塔通常会自动处理,若未自动安装,可能需要手动执行sudo apt update && sudo apt install build-essential。
- 注意:如果系统提示需要安装
第二步:创建网站并配置域名/目录
Django 项目需要一个独立的 Web 目录来运行。
- 点击左侧菜单 “网站” -> “添加站点”。
- 输入你的 域名(如果没有域名,可以使用 IP 地址测试)。
- 在 根目录 处,你可以选择新建一个文件夹(例如
/www/wwwroot/your_domain),或者后续再上传代码到该目录。 - 数据库选择:MySQL(推荐)或 PostgreSQL。根据 Django 需求创建一个空数据库。
- 点击“提交”完成网站创建。
第三步:安装 Django 框架
这里有两种常用方法,推荐使用 方法 A(宝塔自带工具),因为它会自动配置虚拟环境。
方法 A:使用宝塔“网站设置”中的 Python 工具(推荐)
- 进入刚才创建的网站的 “设置” 页面。
- 点击左侧的 "Python 项目”(部分版本可能叫 "Python" 或位于“其他设置”下,取决于宝塔版本)。
- 点击 “添加项目”:
- 项目名称:随意填写(如
my_django_app)。 - 项目路径:选择你刚才创建的网站根目录(例如
/www/wwwroot/your_domain)。 - 启动模式:选择 Gunicorn 或 uwsgi(生产环境推荐 Gunicorn + Nginx)。
- Python 版本:选择第一步安装的版本(如 3.10)。
- 虚拟环境:勾选“创建虚拟环境”(这是最佳实践,避免污染系统全局包)。
- 项目名称:随意填写(如
- 点击“保存”。此时宝塔会自动在该目录下生成
.venv文件夹并初始化环境。 - 在同一个界面中,找到 “依赖管理” 或 “安装命令” 区域,输入以下命令并执行:
pip install django gunicorn(注:如果你的项目需要其他库,也可以在此处继续安装)
方法 B:传统方式(先传代码,后配环境)
如果你已经准备好了完整的 Django 项目代码(包含 requirements.txt):
- 使用宝塔的 “文件” 功能,将你的 Django 项目代码上传到网站根目录。
- 按照 方法 A 的步骤进入“网站设置” -> “Python 项目”。
- 添加项目时,指向该目录。
- 在“依赖管理”中,确保安装了
django。如果项目有requirements.txt,可以在终端(宝塔的“终端”功能)中切换到项目目录,激活虚拟环境后运行:source .venv/bin/activate pip install -r requirements.txt
第四步:配置 Nginx 反向X_X
宝塔的 Python 项目插件通常会自动生成 Nginx 配置文件,但你需要确认一下。
- 回到 “网站” -> “设置” -> “Nginx 配置”。
- 检查是否有类似
proxy_pass http://127.0.0.1:8000;的配置。- 如果是使用宝塔的 Python 插件,通常会自动生成一段指向
gunicorn监听端口的配置。 - 如果没有自动生成,你可能需要手动添加:
location / { proxy_pass http://127.0.0.1:8000; # 端口需与 Gunicorn 启动端口一致 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } - 注意:宝塔插件通常会自动处理这部分,如果配置正确,无需手动修改。
- 如果是使用宝塔的 Python 插件,通常会自动生成一段指向
第五步:启动 Django 服务
- 在 “Python 项目” 设置页面,你会看到一个 “启动” 按钮。
- 点击 “启动”。
- 查看状态显示为 “运行中”,且没有报错。
- 此时,访问你的域名或 IP 地址,应该能看到 Django 的欢迎页面或你的项目首页。
常见问题排查
- 权限问题:如果启动失败提示
Permission denied,请在宝塔终端执行chown -R www:www /www/wwwroot/你的域名赋予目录所有者权限。 - 端口冲突:确保 Django/Gunicorn 监听的端口(默认通常是 8000)没有被占用。
- DEBUG 模式:在生产环境中,务必将
settings.py中的DEBUG = False,并配置好ALLOWED_HOSTS。 - 静态文件:Django 的静态文件(CSS/JS/Images)需要收集。在项目启动前,建议在宝塔终端(进入项目目录)执行:
python manage.py collectstatic --noinput并在 Nginx 配置中添加对应的
alias指向静态文件目录。
通过以上步骤,你的 Ubuntu 22.04 服务器就已经成功运行了基于 Python 和 Django 的网站应用。
CLOUD技术博