使用宝塔面板快速部署Django项目
- 1.开放宝塔端口
- 2.安装宝塔面板
- 3.浏览器访问Bt-Panel地址,登录宝塔面板后台
- 4.安装常用的WEB服务组件
- 5.安装python项目管理插件
- 6.添加项目站点
- 7.上传项目源码
- 8.添加uwsgi配置文件uwsgi.ini
- 9.修改网站配置
- 10.python项目管理里面添加项目
1.开放宝塔端口
假设我们刚购买了一台新的Linux服务器,已经安装好Centos操作系统
在服务器供应商管理后台安全组里开放必要端口
国内的云服务器是把所有的端口给屏蔽了的,如果想使用的话需要自己在服务器提供商后台里的安全组里开放端口。比较常见的是阿里云、腾讯云、百度云等。大多数的服务器商是不需要做此操作的。需要开通的端口一般为:80、443、21、22、3306、8888
,8888端口主要是用于访问宝塔的默认端口
2.安装宝塔面板
远程shell到服务器目录
终端输入命令:
mkdir /www
这个目录主要是用于存放宝塔面板和网站(项目)数据的
安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装过程很简单,输入命令等待即可,就不做过多介绍
安装成功之后就看到如下类似的信息
这个是宝塔面板的登录地址、用户名和登录密码,你需要把这个复制保存起来更多关于宝塔的其它操作,可以直接在终端输入:bt
,回车然后得到如下的选项:
3.浏览器访问Bt-Panel地址,登录宝塔面板后台
4.安装常用的WEB服务组件
这里面只有Nginx是必须要安装的,如果你使用的是Mysql数据库,那么Mysql也勾选上,其它的你可以根据自己的需求来决定是否安装。后面如果想安装其它的,也可以在软件管理里安装。留意:软件名后面的三角符号点击它可以选择软件的版本。新手建议默认即可。选择好之后,点击一键安装
5.安装python项目管理插件
我们在左边的‘软件商店’里选择‘宝塔插件’,找到‘Python项目管理’这个插件进行安装
安装项目所需要的Python版本
点击设置
然后出现如下界面:选择我们项目的python版本
6.添加项目站点
域名处填写自己的域名即可,没有域名填写服务器IP地址
7.上传项目源码
留意:在打包项目源码之前,先在本地环境使用下面的命令把环境依赖包导出到
requirements.txt
文件里,并把这个文件存放在项目目录下,这一步奏非常重要,请务必记得操作。
导出命令:
pip freeze > requirements.txt
这一步操作好之后,我们就通过下面的步骤把项目源码上传上到服务器上去
到python项目的根目录下,上传Django项目源码的压缩包文件,解压到文件目录中
8.添加uwsgi配置文件uwsgi.ini
新建成功之后输入如下代码(根据自己的项目信息替换填写),然后保存:
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
socket=127.0.0.1:8997
#配置项目路径,项目的所在目录
chdir=/www/wwwroot/www.django.cn/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录
wsgi-file=myblog/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log`
9.修改网站配置
左侧网站,然后点击网站名,在弹出的窗口里找到’配置文件’,然后配置文件里输入如下代码:
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT myblog.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/www.django.cn/; #项目路径
}
location /static/ {
alias /www/wwwroot/www.django.cn/static/; #静态资源路径
}
保存即可
10.python项目管理里面添加项目
在软件商店里找到Python项目管理插件,然后点击设置,添加项目。里面的各种选项很简单,按实际情况填写就行
值得说的就是那个端口,端口要和uwsgi.ini里面的那个端口一致。如果有多个项目的话,不同的项目要填写不同的端口。端口随便填写,只要不与其它常用软件端口冲突就好
注:使用Python项目管理插件新建项目成功之后,会自动在项目j源码目录里创建一个虚拟环境,虚拟环境目录一般都是以
项目名_venv
形式命名的🙌