宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

宝塔面板是一款简单好用的免费服务器运维面板,支持Linux/windows系统,支持一键WAMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。

部署django项目自然也不是问题,那么根据各自的系统如何安装宝塔面板,请大家移步到宝塔官方查看学习!

一般服务器部署我们大都采用的是Linux系统,而Linux系统本身就自带了Python2和Python3版本,以较新的Ubuntu系统来说,在终端运行python3命令就会看到系统本身内置的python版本!

本部署教程将采用<宝塔面板+nginx+uwsgi+mysql>来部署我们采用django开发好的博客项目!

安装Nginx+MySQL

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

如上图所示,进入宝塔面板==>软件商店搜索Nginx和Mysql安装!

创建站点及数据库

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

如上图所示,进入网站==>添加站点,设置网站需要绑定的域名,创建mysql数据库,并记录数据库账号密码!

进入站点目录打开终端克隆Django项目

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

从宝塔面板,进入网站根目录,打开终端,克隆项目!

克隆项目命令

 git clone https://gitee.com/qbiancheng/django-blog.git

创建虚拟环境

 python3 -m venv venv

激活虚拟环境

 linux: . venv/bin/activate
 windows: venvScriptsactivate

安装依赖

 pip3 install -r requirements.txt

linux-ubuntu安装uwsgi

对于 Python3.x 版本:

uwsgi相关命令参考:

 sudo apt-get install python3-dev
 sudo pip3 install uwsgi

Django集成Mysql数据库

1、安装mysql数据库,执行

 pip3 install mysqlclient

2、配置数据库连接

在项目包下找到setting.py,基本配置如下

DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql',   # 数据库驱动
         'NAME': 'webdetection',     # 数据库名
         'USER': 'root',             # 连接用户名
         'PASSWORD': '123456',       # 连接用户密码
         'HOST': '127.0.0.1',        # 数据库所在ip地址
         'PORT': '3306'              # 数据库端口
     }
}

数据库配置完成之后,去修改网站的配置文件!

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

网站=>设置=>配置文件

打开网站的配置文件,修改为如下内容

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

在项目目录创建一个deploy的文件夹,用来存放uwsgi的配置文件及日志文件!

宝塔面板部署Django项目教程(宝塔面板搭建Django项目环境教程)

如图所示,我们在该文件夹下分别创建一个params的文件与uwsgi.ini的文件。

params中的内容如下

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;
    
uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUSET_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;
    
uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

这个文件中的内容我们可以不用去深究是什么意思,直接拿去用就可以了,他主要的目的就是转发非静态文件请求到uwsgi服务!

uwsgi.ini文件中的内容如下

#配置域应该是uwsgi,记住这个不能丢,否则会报错
[uwsgi]
#uwsgi监听的socket,可以为socket文件或ip地址+端口号,用nginx的时候就配socket , 直接运行的时候配 http, http-socket = 127.0.0.1:8080
socket    = 127.0.0.1:8001

#指定项目的目录,在app加载前切换到当前目录
chdir           = /www/wwwroot/proae.cn

# Django的wsgi文件,用来加载blog2/wsgi.py这个模块
module          =  mysite.wsgi
# Python虚拟环境的路径
home            = /www/wwwroot/proae.cn/venv
# master 启动主进程。
master   = true
# 最大数量的工作进程数
processes   = 10
# 指定工作进程中的线程数
threads = 2

# 设置socket的权限
chmod-socket    = 664
# 退出的时候是否清理环境,自动移除unix Socket 和 Pid 文件
vacuum          = true
#日志文件路径
daemonize = /www/wwwroot/proae.cn/deploy/uwsgi.log
# pid文件
pidfile = /www/wwwroot/proae.cn/deploy/uwsgi.pid

每一项的配置含义均已备注,大家看备注修改为自己的即可!

启动uwsgi服务

在启动uwsgi服务之前确保你的项目在开发模式已经可以正常运转,并且配置的服务器的端口处于开放状态,并且你已经对项目的静态文件进行了搜集!

备注:运行以下命令,必须在激活虚拟环境的情况下!

启动uwsgi

uwsgi --ini deploy/uwsgi.ini

这个命令启动后,会在deploy的目录生成一个uwsgi.pid的文件,这里边记录了几个数字,是本项目的进程号,后边重启uwsgi及停止都运行这个文件即可!

重启uwsgi

uwsgi --reload deploy/uwsgi.pid

一般在你修改了django项目的一些逻辑以及功能流程的时候都需要重启uwsgi,运行该命令即可!

停止uwgi

uwsgi --stop de[loy/uwsgi.pid

总结

无论是用宝塔还是服务器直接部署django,都逃不出配置Nginx使其正确加载静态文件,配置uwsgi,关联nginx与uwsgi这几个步骤,掌握了这几个核心步骤,无论何种方法,我们配置中设置的那几个文件均适用,部署也就变得更加容易和简单!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论