宝塔Linux部署Django项目教程|带MySQL数据库
徐奥雯-XUAOWEN
2021年12月06日 18:09
收录于文集
共3篇

前置条件:云服务器(安装宝塔)&域名(已备案)

登录宝塔后台

在软件商店安装Nginx和MySQL数据库 (注意MySQL版本与django版本)

这里以3.2.9的Django和5.7.34的MySQL做示例

安装python项目管理器

并让其在首页展示

打开python项目管理器

在版本管理安装需要的pythgon版本

添加站点

填写信息(要使用域名访问网站,要先进行DNS解析)

在打包项目源码之前,先在本地环境使用下面的命令把环境依赖包导出到requirements.txt文件里,并把这个文件存放在项目目录下

在pycharm使用命令

代码块
Python
自动换行
复制代码
pip freeze > requirements.txt
复制成功

会发现项目根目录新多出一个txt文件

把整个Django项目压缩成压缩包上传到服务器 先删除index.html和404.html

上传压缩包

解压上传上来的压缩包

把解压的文件剪切到项目根目录

添加uwsgi配置文件uwsgi.ini

查看自己项目中的wsgi的位置(在Django项目同名文件夹内)

编辑刚刚新建的ini配置文件 写入这些代码(端口自定义.如果服务器有多个python项目,端口不要重复)其中项目目录和wsgi模块路径改成自己的

代码块
Python
自动换行
复制代码
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
socket=127.0.0.1:9001
#配置项目路径,项目的所在目录
chdir=/www/wwwroot/cs02.xuaowen.cn/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录
wsgi-file=django_py_project_1/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log
复制成功

打开网站配置文件写入以下代码(注意更改相应的内容)(里面的端口、路径都要和uwsgi.ini里的一致)

代码块
Python
自动换行
复制代码
location / {
  include uwsgi_params;
  uwsgi_pass 127.0.0.1:9001;  #端口要和uwsgi里配置的一样
  uwsgi_param UWSGI_SCRIPT django_py_project_1.wsgi;  #wsgi.py所在的目录名+.wsgi
  uwsgi_param UWSGI_CHDIR /www/wwwroot/cs02.xuaowen.cn/; #项目路径
}
location /static/ {
  alias /www/wwwroot/cs02.xuaowen.cn/static/; #静态资源路径
}
复制成功

再次打开python项目管理器添加项目(端口要和uwsgi.ini里面的端口一致。如果有多个项目的话,不同的项目要填写不同的端口。端口不要与其它常用软件端口冲突)

等待安装完成

完成

导出数据库

点击导入数据库

编辑settings.py

ALLOWED_HOST 添加 自己的域名

注释掉 STATICFILES_DIRS 设置

添加一行   在settins.py文件,在末尾处添加静态资源收集路径

代码块
JavaScript
自动换行
复制代码
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
复制成功

记录下数据库这三项内容并到settings里更新数据库设置设置

现在测试访问 可以访问只是无法加载静态文件

在文件找到venv结尾的文件 记住他的名字

进入终端 先cd到项目目录

然后输入(换成自己的项目目录路径)

代码块
JavaScript
自动换行
复制代码
source /www/wwwroot/cs02.xuaowen.cn/cs002_venv/bin/activate
复制成功

进入虚拟环境

使用 这条命令收集静态文件

代码块
JavaScript
自动换行
复制代码
python manage.py collectstatic
复制成功

再次访问网站发现静态文件已经能够正常加载

再次到settings.py将DEBUG设置为False

python项目管理器 重启项目

完成