Python副业技术总结,手把手教你用宝塔面板部署Django程序
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
前言
最近写了几个Django项目写完以后怎么让对方测试成了问题因为之前都是自己在本地写的练习项目对于部署这一块很陌生不知道怎么操作内心很忐忑。没办法只能硬着头皮上一边百度一边摸索以下是我自己总结的用宝塔面板部署Django程序的步骤希望看完对你能有帮助。
1.Django部署前准备
1.1 修改settings.py
DEBUG = False
ALLOWED_HOSTS = ['*']
STATIC_ROOT = BASE_DIR / 'static'
# 如果还有media文件等这里也要注明如
MEDIA_ROOT = BASE_DIR / 'media'
1.2 修改url.py定义资源路由信息
注意这里的urls.py不是应用的urls.py
urlpatterns = [
path('admin/', admin.site.urls, name="admin"),
path('', include("app01.urls")), # 将应用的urls 加入到 urlpatterns 中
re_path(r'^static/(?P<path>.*)$', serve, {'document_root': settings.STATIC_ROOT}, name='static'),
]
1.3 收集静态资源
可以在终端输入
python manage.py collectstatic
也可以在pycharm的manage.py任务里运行
collectstatic
命令执行后会在项目里创建static文件夹
├─app01
├─generator_query
├─publicstatic
├─static # 静态文件
├─templates
└─__pycache__
1.4 生成依赖文件
在终端输入
pip freeze > requirements.txt
2. 服务器端准备
2.1 安装宝塔面板
安装宝塔面板的方式和命令宝塔官网已经给了很明确的说明这里就不再赘述建议选择仅宝塔面板
2.2 安装应用
需要安装的应用有3个
python项目管理器 2.0
nginx 1.20
mysql 我这里安装的是8.0
2.3 创数据库
建议先更改一下数据库的root密码默认密码是admin
创建数据库并导入数据
导入本地数据库的数据
这里需要注意Django自带的sqlite3和mysql不同版本的数据导入会报错我本地和服务器用的mysql版本一样可以正常导入。
3. 上传文件
上传文件需包含
解压文件到当前路径
解压后
4. 部署Django程序
4.1 python项目管理器
4.1.1 安装python
安装python因为我本地用的是3.8.2这里只有3.8.5版本可以选择
这里发现的问题是可能点击“版本管理”的时候会显示请求失败解决办法就是卸载“python项目管理器”后重新安装。
4.1.2 添加python项目
添加项目成功后打开模块发现并未安装依赖文件里的包不知道是什么原因但是可以换一种安装方式因为python项目管理器在部署的时候已经帮我们创建好了虚拟环境直接激活他的虚拟环境然后用pip安装
在宝塔终端输入
find / -name activate
搜一下虚拟环境入口
注意这里的“1407f88cddcd38b6fbb5d853581df1d1_venv”与我们上传文件路径下面的文件夹名一致这个就是python项目管理器创建好的虚拟环境
然后激活虚拟环境
source /www/wwwroot/querydata/generator_query/1407f88cddcd38b6fbb5d853581df1d1_venv/lib/python3.8/venv/scripts/common/activate
按照python项目管理器的提示在终端输入
/www/wwwroot/querydata/generator_query/1407f88cddcd38b6fbb5d853581df1d1_venv/bin/pip list
查看当前环境安装的python包
如果这一步成功了那我们可以用它来安装依赖文件。
首先找到依赖文件的路径找到requirements.txt后右键-属性复制路径
然后激活虚拟环境后在终端输入以下命令就可以安装了
/www/wwwroot/querydata/generator_query/1407f88cddcd38b6fbb5d853581df1d1_venv/bin/pip install -r /www/wwwroot/querydata/generator_query/requirements.txt
查看安装好的模块
4.2 另外一种安装模块的方式
如果你不想这么麻烦可以在python项目管理器里面点击“模块”然后手动安装。
可以看到依赖文件的包都已经安装了。
4.3 设置网站访问
4.3.1 IP地址访问
国内的域名都需要备案没备案的无法设置域名访问因为在部署的时候我设置了端口为9001只需要在宝塔面板的“安全”里和服务器的安全策略中修改“入方向规则”放行“9001”端口就可以用IP:9001的方式访问
4.3.2 域名访问
由于我租用的是HongK的服务器所以可以用域名访问。在项目管理里面点击映射添加域名
添加服务器IP
域名访问
写在最后
以上是我个人的经验总结希望对看到的人能有所帮助。我没有系统的学过计算机编程一切都源于爱好喜欢折腾大家不喜勿喷。