linux --- 部署前后端分离项目
vue + uwsgi +nginx 部署前后端分离项目
准备项目
1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中
2.解压缩操作
前端vue部署
node环境准备
.下载node二进制包,该包已经包含node,不需要再编译 # wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
.解压缩 # tar -zxvf node-v8.6.0-linux-x64.tar.gz .进入压缩后的node文件找到bin目录执行 pwd 获取到node的路径 .将node命令添加到环境变量 --- vim /etc/profile # PATH = $PATH:/opt/node-v8.6.0-linux-x64/bin
再读取文件生效PATH --- source /etc/profile .测试环境 node -v 查看版本, v8.6.0
编译打包前端vue文件
1.进入vue源码目录 cd /opt / vue_project/
#安装vue模块,默认去装package.json的模块内容,如果出现模块安装失败,手动再装
#npm install
2.根据本地写的vue代码,处理接口连接的服务器地址,注意Axios.POST提交的地址,一定发送给django应用,(如果用了nginx,就发送给nginx的入口端口) #找到 /opt/vue_project/src/restful/api.js
#更改接口内地址原本可能是127.0.0.0.1:8000/,改成现在的服务器ip地址+端口 sed -i "s/127.0.0.1/192.168.220.128/g" /opt/vue_project/src/restful/api.js 3.编译打包vue源码 ,生成一个dist静态文件夹
#npm run build 4.查看dist里面有 index.html static 即正常
配置nginx
配置nginx.conf #虚拟主机1,用于找到vue页面
server {
listen 80;
server_name loaclhost;
location / {
root /opt/vue_project/dist;
index index.html;
}
}
#虚拟主机2,用于反向代理,找到django
server{
listen 8000;
server_name 192.168.220.128; location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:9999;
}
}
配置完毕后重启 nginx -s nginx.conf
配置后端代码(创建配置虚拟环境,保证项目干净隔离)
1.创建虚拟环境 mkvirtualenv vue_django
2.安装项目所需的依赖模块.
#windows下 执行pip3 freeze > requirements.txt
3.在linux下通过命令安装
# pip3 install -i https://pypi.douban.com/simple -r requirements.txt 4. 安装uwsgi 启动后端
#pip3 install uwsgi 启动方式1:uwsgi --socket :8000 --module django_project.wsgi
启动方式2:在项目第一层文件 touch uwsgi.ini
#配置uwsgi.ini文件 [uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /opt/django_project
# Django's wsgi file
module = django_project.wsgi
# the virtualenv (full path)
home = /root/Envs/vue_django
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 1
# the socket (use the full path to be safe
socket = 0.0.0.0:9999
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
启动redis数据库,支撑需要的业务数据
#进入redis目录
redis-server redis.conf
全部部署完毕后,最后再次确认前端vue,后端django,nginx,redis正常后,通过windows中访问浏览器
#查看端口以及pid
netstat -tunlp
...
linux --- 部署前后端分离项目的更多相关文章
- centos7部署前后端分离项目的过程
概述 本文主要讲解在安装了centos7的Linux主机中部署前后端分离项目的过程. 前端项目名为:vue_project:后端项目名为:django_project. 将这两个项目放在/opt/wh ...
- 使用 Nginx 部署前后端分离项目,解决跨域问题
前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ...
- 在centos7.6上部署前后端分离项目Nginx反向代理vue.js2.6+Tornado5.1.1,使用supervisor统一管理服务
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_102 这一次使用vue.js+tornado的组合来部署前后端分离的web项目,vue.js不用说了,前端当红炸子鸡,泛用性非常广 ...
- 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...
- docker+nginx+redis部署前后端分离项目!!!
介绍本文用的经典的前后端分离开源项目.项目的拉取这些在另一篇博客!!! 其中所需要的前后端打包本篇就不做操作了!!不明白的去看另一篇博客!!! 地址:http://www.cnblogs.com/ps ...
- vue+uwsgi+nginx部署前后端分离项目
前后端分离,vue前端提供静态页面,且可以向后台发起get,post等restful请求. django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染 后端 创建虚拟环境 解决dj ...
- Linux、Debian、Jenkins、GIT、Nginx、码云安装,自动化部署前后端分离项目
1.安装Jenkins i:下载Jenkins安装包(war文件):https://jenkins.io/download/ ii:这里采用Tomcat的war包方式安装,讲下载好的安装包放到Tomc ...
- 在k8s中部署前后端分离项目进行访问的两种配置方式
第一种方式 (1) nginx配置中只写前端项目的/根路径配置 前端项目使用的Dockerfile文件内容 把前端项目编译后生成的dist文件夹放在nginx的html默认目录下,浏览器访问前端项目时 ...
- Linux之部署前后端分离项目
首先得看我前两个博客,把python3,虚拟环境,mariadb数据库,redis数据库,nginx安装好. 一.创建一个虚拟环境 1,创建虚拟环境 mkvirtualenv zijin #创建了一个 ...
随机推荐
- 未能加载文件或程序集“SuperMap.Data.dll”
重新配置的新的开发环境,使用的是原来的工程文件,编译通过,运行报错:"未能加载文件或程序集"SuperMap.Data.dll"或它的某一个依赖项.找不到指定的模块&qu ...
- Webdings字体和Wingdings字体对照表
一.Webdings是一个TrueType的dingbat字体,于1997年发表,搭载在其后的Microsoft Windows视窗系统内,大多的字形都没有Unicode的相对字. 使用很简单1.网页 ...
- [Python设计模式] 第13章 造小人——建造者模式
github地址:https://github.com/cheesezh/python_design_patterns 题目1 用程序模拟一个画小人的过程,要求小人要有头,身子,左手,右手,左脚,右脚 ...
- EAS开发报错 :数据库表 或 视图 不存在
一:原因分析 建模之后,发布数据时未能及时在数据库创建相应的表格或视图. 二:解决办法 建模视图下——右键模型——更新数据库. 三:名称字段.描述字段在数据库里的存储格式 ...
- 理解JAVA的IO
1. 什么是流Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列 ...
- 【Python】 解析Python中的运算符
Python中的运算符相比较于传统的C/C++差别不是很大,主要是一些个别的运算符上的差别.包括:算术.比较.赋值.位.逻辑.成员.身份等.它们的优先级: 符号 说明 ** 指数(最高优先级) ~,+ ...
- notepad++ 复制代码--高亮 - 带颜色
思路来源:http://blog.csdn.net/super828/article/details/72826024 选择代码,然后右键选择菜单命令
- Effective Java 第三版——74. 文档化每个方法抛出的所有异常
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- 国外优秀C/C++网站
1.https://en.cppreference.com/w/ 2.https://www.geeksforgeeks.org/ 3.https://www.tutorialspoint.com/c ...
- animate.css做点赞效果
花了一晚上研究出来的,感觉还行吧... 代码: 源码下载: http://image.niunan.net/animatedemo.zip