nginx+vue+uwsgi+django的前后端分离项目部署
Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999
1.下载项目文件(统一在/opt/luffyproject目录)
(1)前端vue--------------wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip
(2)后端django---------wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip
(3)解压-----------------unzip解压(如需实际操作,项目文件可以直接联系博主)
2.vue框架依赖的nodejs
(1)下载nodejs--------wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
(2)解压-----------------tar -zxvf node-v8.6.0-linux-x64.tar.gz
(3)进入源码包:bin文件夹存在,说明已经编译好,查看是否可用以下命令:
------node -v
------npm -v
(4)添加nodejs源码包bin目录到环境变量:
------vim /etc/profile
------PATH='/opt/tengine231/sbin:/opt/python3.6/bin:/usr/local/sbin:
/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:
/opt/luffyproject/node-v8.6.0-linux-x64/bin'
3.配置前端vue的静态文件请求路径
(1)前端项目/top/luffyproject/07-luffy_project_01/src/restful/api.js
(2)修改api.js中的请求ip和端口----sed -i 's/127.0.0.1:8000/192.168.160.134:9000/g' api.js
(3)注意在项目部署的服务器ip变化时需要更改配置,同时重新执行npm install和 npm run build进行编译生成dist静态文件
4.编译前端vue代码
(1)npm install----网速不好可以先修改npm下载源:npm config set registry https://registry.npm.taobao.org
(2)npm run build--/top/luffyproject/07-luffy_project_01/中种生成一个dist静态文件夹,作为nginx.conf中的server{}匹配的root根目录
(3)注意:如果使用虚拟机,ip可能会自动改变,需重新编译
5.配置nginx.conf
(1)前端vue静态文件返回配置
location / {
root /opt/luffyproject/07-luffy_project_01/dist;
index index.html index.htm;
#确保刷新不出现404
try_files $uri $uri/ /index.html;
}
(2)后端django服务反向代理配置
server {
listen 9000;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:9999;
}
}
(3)启动nginx------nginx
6.前端vue静态页面已经部署完成
7.django项目的虚拟环境配置
创建虚拟环境-------mkvirtualenv luffy_env4
已创建有直接开启------workon luffy_env4
8.配置uwgis
(1)进入后端django项目---------cd /opt/luffyproject/luffy_boy
(2)启动测试django项目:
启动django项目---------python3 manage.py runserver 0.0.0.0:9003
报错根据提示在该虚拟环境内处理下载需要的包
pip3 install django==2.0
........
pip3 install -r requirements.txt(批量下载)
(3)下载uwsgi模块 ---------pip3 install uwsgi
(4)手动创建uwsgi.ini文件,写入配置:
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /opt/luffyproject/luffy_boy
# Django's wsgi file
module = luffy_boy.wsgi
# the virtualenv (full path)
home = /root/Envs/luffy_env4
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 2
# the socket (use the full path to be safe
#以socket请求与nginx结合
socket = 0.0.0.0:9999
#以http请求可以直接在刘昂器发起访问,测试用
#http =0.0.0.0:9999
# clear environment on exit
vacuum = true
#设置守护进程,后台运行,也可指定文件,输出日志
daemonize=yes
(5)启动uwsgi--------uwsgi --ini uwsgi.ini
(6)uwsgi以http形式进行测试访问:
浏览器直接访问ip端口
部分功能无法实现,缺少redis数据库
(7)物理环境安装redis数据库
yum install redis
systemctl start redis
systemctl status redis
redis-cli--> ping----------启动redis客户端ping是否得到PONG
(8)修改uwsgi.ini以socket形式结合nginx
(9)退出虚拟环境--------deactivate
9.重启nginx--------nginx -s reload
nginx+vue+uwsgi+django的前后端分离项目部署的更多相关文章
- Docker环境下的前后端分离项目部署与运维
本教程将从零开始部署一个前后端分离的开源项目,利用docker虚拟机的容器技术,采用分布式集群部署,将项目转换成为高性能.高负载.高可用的部署方案.包括了MySQL集群.Redis集群.负载均衡.双机 ...
- 前后端分离项目部署到Linux虚拟机
最近做了一个springboot+vue的前后端分离项目,把它部署到Linux虚拟机上.下面是我的步骤和遇到的问题,需要的朋友可以看下(看的时候注意要全部看完到底部,因为我习惯是把我遇到的问题放到最后 ...
- Django前后端分离项目部署
vue+drf的前后端分离部署笔记 前端部署过程 端口划分: vue+nginx的端口 是81 vue向后台发请求,首先发给的是代理服务器,这里模拟是nginx的 9000 drf后台运行在 9005 ...
- vue.js+UEditor集成 [前后端分离项目]
首先,谈下这篇文章中的前后端所涉及到的技术框架内容. 虽然是后端的管理项目,但整体项目,是采用前后端分离的方式完成,这样做的目的也是产品化的需求: 前端,vue+vuex+vue router+web ...
- SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列教程01---搭建前端工程
豆宝社区项目实战教程简介 本项目实战教程配有免费视频教程,配套代码完全开源.手把手从零开始搭建一个目前应用最广泛的Springboot+Vue前后端分离多用户社区项目.本项目难度适中,为便于大家学习, ...
- uwsgi加nginx部署django restframework前后端分离项目
一.uwsgi和nginx简介 1.uwsgi(摘抄于百度百科): uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与 ...
- 云计算:Ubuntu下Vue+Springboot前后端分离项目部署(多节点)
一.机器准备 首先准备三台机器: 我是一台WINDOWS系统主机,在WINDOWS里的 VMware 中安装两台Ubuntu系统虚拟机 如果你的虚拟机只有 CentOS,可以参考这篇文章:https: ...
- Docker环境下的前后端分离项目部署与运维(九)后端项目部署与负载均衡
数据库准备 建立数据库 renren_fast ,然后运行renrenfast项目中的db文件夹内的脚本 -- 菜单 CREATE TABLE `sys_menu` ( `menu_id` bigin ...
- SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列教程02---创建后端工程
本节代码开源地址 代码地址 项目运行截图 搭建后端工程 0.导入sql 在数据库导入 /* Navicat Premium Data Transfer Source Server : localhos ...
随机推荐
- 学习笔记-CTF密码相关
RSA共模攻击 RSA基本原理 ① 选择两个大的质数p和q,N=pq: ② 根据欧拉函数,求得r=(p-1)(q-1): ③ 选一个小于r的整数e,求得e关于模r的模反元素d: ④ 将p和q的 ...
- 鸟哥Linux私房菜(基础篇)——第十一章:认识与学习Bash
1.变量的取用与设定 ●变量的取用:echo ●变量的设定规则 变量与变量内容以一个等号『=』来连结. 等号两边不能直接接空格符. 变量名称只能是英文字母和数字,但是开头字符不能是数字. 变量内容若有 ...
- 使用mysqldump自动备份数据库脚本
每天利用计划任务在凌晨1点自动执行,备份zabbix的数据库至本地的/backup/mysql_backup目录 #!/bin/sh DUMP=/usr/bin/mysqldump OUT_DIR=/ ...
- vue 跳转并传参,实现数据实时更新
原文链接:点我 比如我现在在页面A跳转到页面B,A中的router-link :to={path:’B’,params:{id:’5’}} 求助:在页面B中的mounted生命周期函数中使用this. ...
- elementUI字体图标不显示问题
原文链接: 点我 自己搭建的Vue项目,没有使用vue-cli,引入elementUI时提示字体图标404,找不到文件,如下错误: GET http://localhost:9090/WEB-INF/ ...
- 代码,绘画,设计常用的颜色名称-16进制HEX编码-RGB编码 对照一览表
排列方式,英文名称的字典序 颜色名 HEX16进制编码 RGB编码 AliceBlue F0F8FF 240,248,255 AntiqueWhite FAEBD7 250,235,215 Aqua ...
- 图论--二分图最佳完美匹配(KM模板)
#include <iostream> #include <cstring> #include <cstdio> using namespace std; cons ...
- 初次认识Ngnix
这几天写那个HTTPD,最后觉得学到的好像很少,而且就算最后运行成功了好像也没有什么.所以想学习一些生活中真正在运用着的web服务器, 上网查询了些资料了解到apache, lighttpd, ngi ...
- 8) drf 三大认证 认证 权限 频率
一.三大认证功能分析 1)APIView的 dispath(self, request, *args, **kwargs) 2)dispath方法内 self.initial(request, *ar ...
- 从0开始学自定义View -1
PS:好久没有写博客了,之前的东西有所忘记,百度一下竟然查到了自己的写过的博客,访问量还可以,一开始的写博客的初衷是把自己不会的记录下来,现在没想到也有博友会关注我,这就给了我动力,工作之余把零零碎碎 ...