社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python副业技术总结,手把手教你用宝塔面板部署Django程序

蚂蚁学Python • 3 年前 • 1068 次点击  

前言

最近写了几个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.*)$', 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

域名访问

写在最后

以上是我个人的经验总结,希望对看到的人能有所帮助。我没有系统的学过计算机编程,一切都源于爱好,喜欢折腾,大家不喜勿喷。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/151432