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

准备项目

1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中

2.解压缩操作

前端vue部署

node环境准备

  1. .下载node二进制包,该包已经包含node,不需要再编译
  2.  
  3. # wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz
  4. .解压缩 # tar -zxvf node-v8.6.0-linux-x64.tar.gz
  5.  
  6. .进入压缩后的node文件找到bin目录执行 pwd 获取到node的路径
  7.  
  8. .将node命令添加到环境变量 --- vim /etc/profile
  9.  
  10. # PATH = $PATH:/opt/node-v8.6.0-linux-x64/bin
  11. 再读取文件生效PATH --- source /etc/profile
  12.  
  13. .测试环境 node -v 查看版本, v8.6.0

编译打包前端vue文件

  1. 1.进入vue源码目录 cd /opt / vue_project/
  2. #安装vue模块,默认去装package.json的模块内容,如果出现模块安装失败,手动再装
  3. #npm install
  4. 2.根据本地写的vue代码,处理接口连接的服务器地址,注意Axios.POST提交的地址,一定发送给django应用,(如果用了nginx,就发送给nginx的入口端口)
  5.  
  6. #找到 /opt/vue_project/src/restful/api.js
  7. #更改接口内地址原本可能是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
  8.  
  9. 3.编译打包vue源码 ,生成一个dist静态文件夹
  10. #npm run build
  11.  
  12. 4.查看dist里面有 index.html static 即正常

配置nginx

  1. 配置nginx.conf
  2.  
  3. #虚拟主机1,用于找到vue页面
  4. server {
  5. listen 80;
  6. server_name loaclhost;
  7. location / {
  8. root /opt/vue_project/dist;
  9. index index.html;
  10. }
  11. }
  12. #虚拟主机2,用于反向代理,找到django
  13. server{
  14. listen 8000;
  15. server_name 192.168.220.128;
  16.  
  17. location / {
  18. include uwsgi_params;
  19. uwsgi_pass 0.0.0.0:9999;
  20. }
  21. }

  22. 配置完毕后重启 nginx -s nginx.conf

配置后端代码(创建配置虚拟环境,保证项目干净隔离)

  1. 1.创建虚拟环境 mkvirtualenv vue_django
  2. 2.安装项目所需的依赖模块.
  3. #windows下 执行pip3 freeze > requirements.txt
  4. 3.linux下通过命令安装
  5. # pip3 install -i https://pypi.douban.com/simple -r requirements.txt
  6.  
  7. 4. 安装uwsgi 启动后端
  8. #pip3 install uwsgi
  9.  
  10. 启动方式1:uwsgi --socket :8000 --module django_project.wsgi
  11. 启动方式2:在项目第一层文件 touch uwsgi.ini
  12. #配置uwsgi.ini文件
  13.  
  14. [uwsgi]
  15. # Django-related settings
  16. # the base directory (full path)
  17. chdir = /opt/django_project
  18. # Django's wsgi file
  19. module = django_project.wsgi
  20. # the virtualenv (full path)
  21. home = /root/Envs/vue_django
  22. # process-related settings
  23. # master
  24. master = true
  25. # maximum number of worker processes
  26. processes = 1
  27. # the socket (use the full path to be safe
  28. socket = 0.0.0.0:9999
  29. # ... with appropriate permissions - may be needed
  30. # chmod-socket = 664
  31. # clear environment on exit
  32. vacuum = true

启动redis数据库,支撑需要的业务数据

  1. #进入redis目录
  2. redis-server redis.conf

全部部署完毕后,最后再次确认前端vue,后端django,nginx,redis正常后,通过windows中访问浏览器

  1. #查看端口以及pid
  2. 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. SpringBoot2.0+Shiro+JWT 整合

    SpringBoot2.0+Shiro+JWT 整合 JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息. 我们利用一定的编 ...

  2. Swift 拷贝文件夹,实现文件夹内容整体复制

    我们知道,在沙盒内,iOS要拷贝一个文件,可以使用 fileManager.copyItem(atPath: fullPath, toPath: fulltoPath) 方法简单实现,不过当我们要拷贝 ...

  3. .NET 同步与异步 之 Mutex (十二)

    本随笔续接:.NET 同步与异步 之 线程安全的集合 (十一) 本随笔 及 接下来的两篇随笔,将介绍 .NET 同步与异步系列 的最后一个大块知识点:WaitHandle家族. 抽象基类:WaitHa ...

  4. 关于VC预定义常量_WIN32,WIN32,_WIN64

    VC2012 下写 Windows 程序时,有时需要判断编译环境.在之前的文章<判断程序是否运行在 Windows x64 系统下.>里说过如何在运行期间判断系统环境,但在编译时如何判断? ...

  5. mac ssh 连接超时

    打开终端,进入,/etc/ssh.sudo vi ssh_config 最后一行添加 ServerAliveInterval30 然后保存就可以了

  6. AYUI第12个作品-英雄联盟-魔法少女的星光水晶2.0-WPF版本

    一下 内容基于AYUI6.7制作,主要3个大控件,1个 轮播预览,一个抽奖展示,一个是自己的抽中的历史展示,还有礼品领取,图片变成黑白的滤镜,滚动条网页方式布局 历时4天,制作效果如下: 由于自己爬了 ...

  7. Android ANR的产生与分析

      ANR即Application Not Responding应用无响应,一般在ANR的时候会弹出一个应用无响应对话框.也许有些开发者在使用某些手机开发中不在弹出应用无响应弹出框,特别是国产手机An ...

  8. webpack2.x抽取css

    这里以.vue文件为例,需要安装extract-text-webpack-plugin包 我们主要设置的文件是webpack.config.js文件. 抽取成一个css文件 这个设置是提取成一个单独的 ...

  9. 一次xxoo提权

    数据库root权限.然并卵. 看了一下phpinfo得知是mysql 5.0 的 然后想要通过udf之类的提权一波,结果一执行sql语句就被狗拦截了. 然而数据库这条路是GG了 OS 名称: Micr ...

  10. 【GMT43智能液晶模块】例程十二:SDIO实验——读取SD卡信息

    实验原理: STM32F429上带有SDIO控制器,GMT43液晶模块上将SDIO连接到TF卡座上.本 实验将Micro SD卡插入TF卡座上即可.SD卡中可存放液晶显示模块需要显示的图片.字 库等资 ...