安装宝塔面板

宝塔官网:宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 (bt.cn)

在官网点击立即免费安装,之后在命令行输入对应的系统的命令进行安装就行。

Ubuntu:

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

安装完成后,会提示相关的登录信息,通过外网地址登录宝塔面板即可。如果打不开可以去相应平台的防火墙配置开放8888端口。

部署本地服务

首次进入会要求登录宝塔账号,没有的话注册一个就行。

之后选择安装nginx和mysql即可。(MySQL推荐使用5.7)

  1. 点击旁边的数据库,添加相应的数据库,并在代码中正确配置数据库连接信息

image.png

  1. 将本地代码打包好,并写好requirements.txt文件,上传到服务器。(可以在旁边的文件处上传)

  2. 进入软件商店,搜索python,安装Python项目管理器。

image.png

  1. 安装完成后,点击软件名称即可进入Python项目管理器。点击版本管理,安装一个合适的python版本。

image.png

  1. 回到项目管理,点击添加项目

image.png

点击确定后,如果没有报错且状态为运行中,说明本地服务启动完成。

Nginx转发

点击旁边的网站,添加站点,上方的什么项目都行。

image.png

如果没有域名,就随便写一个域名,然后点击创建。

之后再点击相应的站点,添加 服务器IP:端口 (记得同时在防火墙和宝塔旁边的安全开放相应端口)假设端口为8666

image.png

反向代理django服务

image.png

如果有域名,可以去SSL一键开启SSL服务。

代理静态文件

静态文件需要在上传代码前使用命令python manage.py collectstatic将静态文件保存到项目目录下,如果发现运行后,静态文件没有被收集到项目目录下,则很有可能是STATIC_ROOT配置错误,静态文件被收集到C盘下的static目录下,推荐配置为:

STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
# 注意不能为 STATIC_ROOT = os.path.join(BASE_DIR, '/static/')

在配置文件中加入代理静态文件的地址

image.png

location ^~ /static {
alias /www/wwwroot/backend/static;
}

location ^~ /media {
alias /www/wwwroot/backend/media;
}

注意:需要在反向代理规则前,也就是在下面这一段之前。

#引用反向代理规则,注释后配置的反向代理将无效
include /www/server/panel/vhost/nginx/proxy/xxxxx/*.conf;

碎碎念

虽然宝塔很长时间都被爆出有后门之类的,但是从宝塔云控出来的那一天我就猜到一定会爆出。后面推出的版本甚至需要登录账号才能使用,这让我也很不理解。但是为什么选择使用宝塔呢,首先是方便,u1s1有这样的面板确实比敲命令行要方便很多。其次是只是供个人学习,不涉及商业问题应该问题不大。如果是用于商业或者其他用途,也可以考虑一下最近比较火的1Panel,mdserver等。