部署到宝塔上的djano

pip freeze > requirements.txt

在pycharm 中运行这个生成环境包列表,很方便,部署 时自动安装这些环境包。

《部署到宝塔上的djano》
《部署到宝塔上的djano》

更改settings.py中对应内容如下:

DEBUG = True

ALLOWED_HOSTS = ['*']

STATIC_URL = '/static/'
# STATICFILES_DIRS = [
#     os.path.join(BASE_DIR, "static")
# ]
STATIC_ROOT = os.path.join(BASE_DIR, "static")

第四步:上传本地项目到服务器

上传本地项目到www/wwwroot/目录下

《部署到宝塔上的djano》

第五步:管理器中添加项目

python项目管理器中配置,添加项目

按照如下图类似配置即可

uwsgi

《部署到宝塔上的djano》

这里勾选“是否安装模块依赖”,会自动帮我们读取项目下的requirements.txt,然后安装响应的模块,所以这里的时间会比较长。


第六步:映射域名

映射域名

我们需要一个容易记住的域名,所以给项目绑定一个预留的域名safe.top15.cn

《部署到宝塔上的djano》

第七步:配置站点

配置 Nginx

映射成功后,可在面板侧边栏“网站”中,发现多了我们的 python 项目

《部署到宝塔上的djano》

此时,就可以点击设置的绿色字,显示对应项目的一些“站点配置

location /static/
{
    alias /www/wwwroot/liang/static/;
}
《部署到宝塔上的djano》

Nginx 的反向代理配置按照如下,上图有误:

《部署到宝塔上的djano》

第八步:重启项目

因为修改了一些东西,所以我们需要在python管理器中重启项目

《部署到宝塔上的djano》

同时还需要重启一下Nginx,这个相信大家都会~

可是!!!竟然没有跑起来,访问域名显示Internet server error

第九步:很不幸,还是踩坑了

《部署到宝塔上的djano》

原因:Centos7 中默认SQLite版本为 3.7.17,但是项目需要3.8.3版本

解决办法:1.降级Django版本;2.升级SQLite版本 3 我是更改系统为mysql数据库反正也要用mysql

能启动了,可是~

《部署到宝塔上的djano》

查看各种文章无果

尝试在虚拟环境下手动执行:

source /www/wwwroot/liang/liang_venv/bin/activate

uwsgi -d –ini /www/wwwroot/liang/uwsgi.ini -w liang.wsgi.application

如果不行 的话

~uwsgi.ini 加上 这个:

wsgi-file=/www/wwwroot/项目目录xxx/应用目录xxx/wsgi.py

OK,搞定~然后映射的 nginx修改一下static反向代理,配置SSL证书,强制HTTP 301跳转HTTPS

《部署到宝塔上的djano》

一些注意的地方:

域名映射好了之后,宝塔里可以直接把8000端口关闭掉(之前添加了开放规则),这样别人就无法从8000端口访问应用,而只能通过域名访问,只能说nginx反向代理真的很实用!

在对应站点设置中,开启防跨站攻击,如果有宝塔的nginx防火墙服务,可以直接配置,保证我们上线网站的安全!

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注