7.0 KiB
7.0 KiB
1Panel Web界面部署指南
使用1Panel Web界面部署ZJPB项目
前提条件
- 1Panel已安装并可访问
- 1Panel版本支持Python项目管理
方式一:使用1Panel的运行时环境(推荐)
步骤1:准备项目文件
- 压缩项目
- 在本地压缩整个项目文件夹
- 排除:
venv/,__pycache__/,.env,test_*.py,logs/
步骤2:在1Panel中创建数据库
- 登录1Panel管理面板
- 进入 数据库 菜单
- 点击 创建数据库
- 填写信息:
数据库名:ai_nav 用户名:ai_nav_user 密码:(自动生成或自定义) 权限:本地访问 - 点击确定,记录数据库密码
步骤3:上传项目文件
- 进入 文件 菜单
- 导航到网站目录(如
/www/wwwroot/) - 创建项目目录
zjpb - 上传并解压
zjpb.zip
步骤4:配置环境变量
- 在项目目录中,找到
.env.example文件 - 复制为
.env - 点击编辑,填写配置:
# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=ai_nav_user
DB_PASSWORD=你的数据库密码
DB_NAME=ai_nav
# 安全配置
SECRET_KEY=你的密钥(使用下方命令生成)
FLASK_ENV=production
# DeepSeek API(可选)
DEEPSEEK_API_KEY=sk-xxxxx
DEEPSEEK_BASE_URL=https://api.deepseek.com
生成SECRET_KEY:
# 在1Panel终端执行
python3 -c "import secrets; print(secrets.token_hex(32))"
步骤5:使用1Panel创建Python项目
5.1 进入网站管理
- 点击 网站 菜单
- 点击 创建网站
- 选择 运行时 类型
5.2 配置Python项目
填写以下信息:
基本设置:
网站类型:运行时
运行时:Python
域名:your-domain.com(或IP地址)
代码目录:/www/wwwroot/zjpb
Python设置:
Python版本:选择 3.8+ 的版本
应用类型:选择 "Flask" 或 "其他"
启动文件:app.py
启动命令:gunicorn -c gunicorn_config.py app:app
端口:5000(默认)
环境变量:(如果1Panel支持在界面配置)
FLASK_ENV=production
其他选项:
☑ 自动启动
☑ 守护进程
进程数:4
5.3 安装依赖
- 创建网站后,1Panel会自动创建虚拟环境
- 进入网站设置
- 找到 依赖管理 或 包管理
- 上传
requirements.txt或手动安装 - 点击 安装依赖
或者使用1Panel的终端:
# 进入项目目录
cd /www/wwwroot/zjpb
# 激活虚拟环境(1Panel自动创建的)
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
步骤6:初始化数据库
- 在1Panel中打开 终端 或 SSH连接
- 执行:
cd /www/wwwroot/zjpb
source venv/bin/activate
python init_db.py
步骤7:启动和管理
- 在1Panel网站列表中找到你的项目
- 点击 启动 按钮
- 查看状态:运行中 ✓
步骤8:配置反向代理(如果需要)
如果1Panel没有自动配置Nginx:
- 进入网站设置
- 找到 反向代理 或 代理配置
- 配置:
目标地址:http://127.0.0.1:5000
步骤9:配置SSL证书(推荐)
- 在网站设置中找到 SSL
- 选择 Let's Encrypt
- 点击申请证书
- 启用 强制HTTPS
步骤10:访问验证
- 前台:
https://your-domain.com - 后台:
https://your-domain.com/admin/login- 默认用户名:
admin - 默认密码:
admin123
- 默认用户名:
- 立即修改密码:访问
/admin/change-password
方式二:使用1Panel的OpenResty/Nginx + Supervisor
如果1Panel的Python运行时不支持或不稳定,可以使用传统方式:
步骤1-4:同上(数据库、文件上传、环境配置)
步骤5:手动创建虚拟环境
cd /www/wwwroot/zjpb
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
步骤6:创建Supervisor配置
- 在1Panel中进入 容器 或 进程管理
- 如果有Supervisor功能,创建新任务
或手动创建配置文件:
nano /etc/supervisor/conf.d/zjpb.conf
内容:
[program:zjpb]
command=/www/wwwroot/zjpb/venv/bin/gunicorn -c gunicorn_config.py app:app
directory=/www/wwwroot/zjpb
user=www
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/www/wwwroot/zjpb/logs/supervisor.log
environment=FLASK_ENV="production"
启动:
supervisorctl reread
supervisorctl update
supervisorctl start zjpb
步骤7:创建反向代理网站
- 在1Panel 网站 菜单中点击 创建网站
- 选择 反向代理
- 填写:
域名:your-domain.com 代理地址:http://127.0.0.1:5000
步骤8:配置SSL
同方式一
常见问题
Q1: 1Panel在哪里创建Python项目?
A:
- 进入 网站 菜单
- 点击 创建网站
- 选择 运行时 或 Runtime
- 选择 Python
Q2: 找不到虚拟环境?
A:
- 1Panel创建的虚拟环境通常在项目目录下的
venv/文件夹 - 路径:
/www/wwwroot/zjpb/venv/ - 可以在文件管理器中查看
Q3: 如何查看应用日志?
A:
- 方式1:在网站管理中点击 日志 按钮
- 方式2:查看文件
logs/error.log - 方式3:使用1Panel的终端:
tail -f logs/error.log
Q4: 如何重启应用?
A:
- 方式1:在1Panel网站列表中点击 重启 按钮
- 方式2:使用管理脚本:
./manage.sh restart - 方式3:Supervisor:
supervisorctl restart zjpb
Q5: 端口被占用怎么办?
A:
修改 gunicorn_config.py 中的端口:
bind = "0.0.0.0:5001" # 改为其他端口
然后在反向代理中也修改为对应端口。
管理和维护
更新代码
- 在1Panel文件管理中上传新文件
- 在网站管理中点击 重启
查看状态
- 进入网站列表
- 查看状态指示灯
- 点击网站名称查看详细信息
备份数据库
- 进入 数据库 菜单
- 找到
ai_nav数据库 - 点击 备份 按钮
监控日志
- 在网站设置中找到 日志 选项
- 查看访问日志和错误日志
- 可以设置日志轮转
推荐配置
生产环境推荐配置
服务器配置:
- CPU: 2核+
- 内存: 2GB+
- 硬盘: 20GB+
Python版本:
- Python 3.8+
数据库:
- MySQL 5.7+
- MariaDB 10.3+
Web服务器:
- Nginx (1Panel自带)
进程管理:
- Supervisor 或 1Panel内置
工作进程数:
- gunicorn workers: 4
- gunicorn threads: 2
安全建议
- ✅ 修改默认管理员密码
- ✅ 使用强密码的SECRET_KEY
- ✅ 启用HTTPS (Let's Encrypt)
- ✅ 定期备份数据库
- ✅ 设置文件权限:
chmod 600 .env chmod 755 static/uploads - ✅ 配置防火墙(1Panel通常自动配置)
获取帮助
如果遇到问题:
- 查看
logs/error.log日志文件 - 检查1Panel的系统日志
- 验证数据库连接
- 检查端口是否被占用
- 确认虚拟环境依赖已安装
祝部署顺利!🎉