【宝塔面板】centOS部署前后端分离所有遇到的坑,Django
1:刚刚买完服务器,在宝塔面板安装完一切工具,Django顺利运行后(不能运行一般是起了中文名)
# 问题:想迁移数据库,结果发现-bash: python3: command not found
# 解决:系统版本的Python是3.7.8 卸载不了,所以你只需要安装个3.7.2的版本即可,迁移命令后python的命令变为:/root/.pyenv/versions/3.7.2/bin/python -V
# 问题:命名安装完依赖包为什么输入/root/.pyenv/versions/3.7.2/bin/python manage.py 报错了:No module named 'django'
# 解决 因为你需要进入到虚拟环境中去执行:
1:source /www/wwwroot/项目名/虚拟环境名vevn(就是你存放依赖库的文件夹)/bin/activate # 进入虚拟环境
2:python3 manage.py makemigrations # 迁移数据库
3: python3 manage.py migrate # 生成迁移文件 ‘
# 问题1-1:Nginx使用静态文件不渲染?/只渲染media 不渲染static? (这个问题属于前端不分离)
# 解决:
首先你需要先收集下静态文件:
1:source /www/wwwroot/项目名/虚拟环境名vevn(就是你存放依赖库的文件夹)/bin/activate # 进入虚拟环境
2: python /www/wwwroot/项目名/manage.py collectstatic # 收集静态文件
nginx反向代理添加 后面不加/:
location /static {
alias /static;
}
location /media {
alias /www/wwwroot/daily_fresh-master/media; # 这个需要自己测试下 没用的话 就写/static
}
# 问题1-2:admin使用静态文件?只用uwsgi返回静态文件即可:(这个问题属于前后端不分离部署)
# 解决:
首先你需要先收集下静态文件:
1:source /www/wwwroot/项目名/虚拟环境名vevn(就是你存放依赖库的文件夹)/bin/activate # 进入虚拟环境
2: python /www/wwwroot/项目名/manage.py collectstatic # 收集静态文件
我的服务器是收集在根目录下所以我的静态文件路径是/static,uwsgi配置在最后配置:
static-map = /static=/static # 最后等号后面配置静态文件收集路径,media需要后面测试,是否是写media-map=/media=收集路径或者项目的media路径
# 致命问题:uwsgi配置了http = 0.0.0.0:8000端口为什么浏览器访问不到接口:
# 解决:
因为你需要打开宝塔面板的安全模块:接着放行8000端口,这样子就可以访问到了,但是这是测试阶段的,部署完uwsgix跟nginx后配合的端口,最好需要关闭其他放行端口
2:配置问题惹的祸(博主认为宝塔面板的启动对于 python实在太不友好所以启动还是用命令行比较好)
# uwsgi配置问题?耗时几天决定改用gunicorn启动后端服务器
# 解决(后端启动):
1:在安装完虚环境后进入虚拟环境安装gunicorn: source命令进入虚拟环境后安装:pip install gunicorn
2:进入项目目录进行开启:
2-1:cd /www/wwwroot/PlayEarn/ # 进入项目目录
2-2:gunicorn -w1 -t3 -b 127.0.0.1:8000 PlayEarn.wsgi -D # w-进程 t-线程 -D-后台运行
# 问题:前端的静态文件与后端的静态文件以及media用户的静态文件如何处理?
# 解决:
1:将前端编译好的文件夹dist复制到django的/static下,
2:配置nginx文件,添加静态文件路径:
# 问题:反向代理需要设置django路由的访问路径:
# 解决:
假设我的路由接口都是以api开头:url(r"api/order/cancel$",order_cancel.OrderCancel.as_view()),
宝塔面板-网站-设置-反向代理:

3:大概流程
1:上传前端编译文件与后端文件夹,注意将前端编译文件夹放到django的/static下
2:创建django项目,使用uwgis去配置虚拟环境会比较方便,创建完后点击停止运行项目
3:接着进入终端,进入虚拟环境,安装gunicorn依赖库,接着使用启动django 8000端口 ------ 2与3部署启动完后端服务器
4:配置nginx,创建并添加站点,打开设置-配置文件:修改root 下的静态文件夹路径 添加静态文件路径/static/ 与/media/配置 这是用于浏览器访问的时候返回给静态文件
5:4完成后,打开反向代理,添加后端访问路径前缀(这里需要看你的路由请求前缀标志)我的是/api/路径 修改后就完成了整个部署
PS:部署新手最大的坑:后端的路径必须要有一个统一的标志,不然会跟前端的路由起冲突,这样子nginx就不知道去找谁拿数据或者网页了
【宝塔面板】centOS部署前后端分离所有遇到的坑,Django的更多相关文章
- 在centos7.6上部署前后端分离项目Nginx反向代理vue.js2.6+Tornado5.1.1,使用supervisor统一管理服务
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_102 这一次使用vue.js+tornado的组合来部署前后端分离的web项目,vue.js不用说了,前端当红炸子鸡,泛用性非常广 ...
- linux --- 部署前后端分离项目
vue + uwsgi +nginx 部署前后端分离项目 准备项目 1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中 2.解压缩操作 前端 ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- 使用 Nginx 部署前后端分离项目,解决跨域问题
前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ...
- centos7部署前后端分离项目的过程
概述 本文主要讲解在安装了centos7的Linux主机中部署前后端分离项目的过程. 前端项目名为:vue_project:后端项目名为:django_project. 将这两个项目放在/opt/wh ...
- Nginx部署前后端分离服务
飘过... 一,安装Nginx 二,配置nginx 一般nginx配置文件在etc目录下 另,如何找nginx.conf配置文件: 在前后端分离端项目里,前端的代码会被打包成为纯静态文件.使用 Ngi ...
- 在Linux上从零开始部署前后端分离的Vue+Spring boot项目
最近做了一个前后端分离的商城项目来熟悉开发的整个流程,最后希望能有个正式的部署流程,于是试着把项目放在云服务器上,做了一下发现遇到了不少问题,借此记录一下整个部署的过程. 使用的技术栈如标题所说大体上 ...
- docker+nginx+redis部署前后端分离项目!!!
介绍本文用的经典的前后端分离开源项目.项目的拉取这些在另一篇博客!!! 其中所需要的前后端打包本篇就不做操作了!!不明白的去看另一篇博客!!! 地址:http://www.cnblogs.com/ps ...
- 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...
随机推荐
- 归纳从文件中读取数据的六种方法-JAVA IO基础总结第2篇
在上一篇文章中,我为大家介绍了<5种创建文件并写入文件数据的方法>,本节我们为大家来介绍6种从文件中读取数据的方法. 另外为了方便大家理解,我为这一篇文章录制了对应的视频:总结java从文 ...
- Ubuntu 16.04 安装CP210x,CH340驱动
CH340 https://github.com/juliagoda/CH341SER CP210x 因为源码版本不是linux-source-4.15.0-91-generic,导致error,一个 ...
- C# 压缩、解压文件夹或文件(带密码)
今天梳理一下项目中用到的压缩.解压文件夹或文件的方法,发现因为需求不同,已经用了好几个不同组件.今天就好好整理记录下,别下次遇到需求又重头开始了. DotNetZip DotNetZip是一个开源的免 ...
- 深入了解Redis【一】源码下载与参考资料准备
引言 一直在使用redis,但是却没有系统的了解过它的底层实现,准备边学习边记录,深入了解redis. 打算分析以下几个方面: redis的基本类型及底层原理与java对比,每种数据类型的使用场景 r ...
- Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计
自动化测试如果需要能高效快速的支撑软件项目的测试,项目的快速迭代以及上线,除了以上我们介绍的需要许多的Lib来支持以及需要高效的去编写自动化测试案例外,还需要一个好的自动化测试框架平台来支撑我们的自动 ...
- 持续部署入门:基于 Kubernetes 实现滚动发布
前言 软件世界比以往任何时候都更快.为了保持竞争力,需要尽快推出新的软件版本,而不会中断活跃用户访问,影响用户体验.越来越多企业已将其应用迁移到 Kubernetes. 在 Kubernetes 中有 ...
- 支付-微信h5
背景 h5支付分两种 1.浏览器 2.app 浏览器里的h5,最终也会跳转到app. 而app里的h5,本质是公众号.在微信里叫公众号,支付宝叫服务窗. 这里主要讲微信h5. 核心原理 最终目标是下单 ...
- Mysql慢查询(分析工具)
慢查询分析工具[mysqldumpslow] 常用的慢查询日志分析工具 汇总除查询条件外其他完全相同的SQL,并将分析结果按照参数中所指定的顺序输出 语法: mysqldumpslow -s r -t ...
- Centos7安装后进不去,死活就要填licence,该怎么办?
遇到这个问题不要麻爪,跟着我做: 1 回车 2 回车 c 回车 c 回车 然后就进入系统了. 要使它联网,点右上角的开关按钮,将PCI Ethernet选择为connect状态. 我的centos7是 ...
- Tomcat三实例cluster多播方案共享session再配置
昨天已经将两实例cluster多播方案共享Session配置成功,其中的关键就在于server.xml中,engine->channel->receiver节点中address得写成自己的 ...


