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 --- 部署前后端分离项目的更多相关文章

  1. centos7部署前后端分离项目的过程

    概述 本文主要讲解在安装了centos7的Linux主机中部署前后端分离项目的过程. 前端项目名为:vue_project:后端项目名为:django_project. 将这两个项目放在/opt/wh ...

  2. 使用 Nginx 部署前后端分离项目,解决跨域问题

    前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ...

  3. 在centos7.6上部署前后端分离项目Nginx反向代理vue.js2.6+Tornado5.1.1,使用supervisor统一管理服务

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_102 这一次使用vue.js+tornado的组合来部署前后端分离的web项目,vue.js不用说了,前端当红炸子鸡,泛用性非常广 ...

  4. 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...

  5. docker+nginx+redis部署前后端分离项目!!!

    介绍本文用的经典的前后端分离开源项目.项目的拉取这些在另一篇博客!!! 其中所需要的前后端打包本篇就不做操作了!!不明白的去看另一篇博客!!! 地址:http://www.cnblogs.com/ps ...

  6. vue+uwsgi+nginx部署前后端分离项目

    前后端分离,vue前端提供静态页面,且可以向后台发起get,post等restful请求. django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染 后端 创建虚拟环境 解决dj ...

  7. Linux、Debian、Jenkins、GIT、Nginx、码云安装,自动化部署前后端分离项目

    1.安装Jenkins i:下载Jenkins安装包(war文件):https://jenkins.io/download/ ii:这里采用Tomcat的war包方式安装,讲下载好的安装包放到Tomc ...

  8. 在k8s中部署前后端分离项目进行访问的两种配置方式

    第一种方式 (1) nginx配置中只写前端项目的/根路径配置 前端项目使用的Dockerfile文件内容 把前端项目编译后生成的dist文件夹放在nginx的html默认目录下,浏览器访问前端项目时 ...

  9. Linux之部署前后端分离项目

    首先得看我前两个博客,把python3,虚拟环境,mariadb数据库,redis数据库,nginx安装好. 一.创建一个虚拟环境 1,创建虚拟环境 mkvirtualenv zijin #创建了一个 ...

随机推荐

  1. DroneCI启用privileged

    https://www.aliyun.com/jiaocheng/123155.html?spm=5176.100033.2.5.EIV4p6 drone的服务需要配置DRONE_ADMIN环境变量, ...

  2. K-means算法原理

    聚类的基本思想 俗话说"物以类聚,人以群分" 聚类(Clustering)是一种无监督学习(unsupervised learning),简单地说就是把相似的对象归到同一簇中.簇内 ...

  3. 使用 fail2ban 防御 SSH 服务器的暴力破解攻击

    对于SSH服务的常见的攻击就是暴力破解攻击——远程攻击者通过不同的密码来无限次地进行登录尝试.当然SSH可以设置使用非密码验证验证方式来对抗这种攻击,例如公钥验证或者双重验证.将不同的验证方法的优劣处 ...

  4. atitit 各分公司ceo cao行政经理职责.docx

    1.1. 人员招募--分公司高层人员招募(每月招募四五人吧,每周一人平均) 1 1.2. 组织架构优化 1 1.3. 制度建设  健全并完善分公司内部管理机构设置,优化分公司业务管理流程: 1 1.4 ...

  5. How the heck does async/await work in Python 3.5

    https://snarky.ca/how-the-heck-does-async-await-work-in-python-3-5/

  6. 60cms Cookies欺骗漏洞审计

    源码地址:https://files.cnblogs.com/files/ssooking/60cms.zip 运行60cms目录下的Netbox.exe即可开启Asp Web服务,默认端口80 环境 ...

  7. session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的

    一.session_id()对原来session文件和里面的数据,是怎么处理的? 测验办法:<?php $sid = md5("aaad");session_id($sid) ...

  8. 基数计数——HyperLogLog

    所谓的基数计数就是统计一组元素中不重复的元素的个数.如统计某个网站的UV,或者用户搜索网站的关键词数量:再如对一个网站分别统计了三天的UV,现在需要知道这三天的UV总量是多少,怎么融合多个统计值. 1 ...

  9. linux技巧---为各应用创建快捷方式

    linux中启动或关闭应用有时候比较麻烦,你必须cd到该应用的可执行脚本的目录中再执行该脚本,不能在任意目录下开启或关闭应用..当然,设置了环境变量path可以解决在任意目录下开启应用的问题,但是每个 ...

  10. 关于C/C++中求最大公约数和最小公倍数的算法

    1.更相减损法 int gcd(int a,int b) { while(a!=b) { if(a>b) a-=b; else b-=a; } return a; } 2.辗转相除法--递归 i ...