一、先在官网下载nginx 软件,解压后放在软件盘中如D盘

将nginx 文件夹拖到编译器中,打开conf 文件夹中的 nginx.conf 文件,找到其中的server {} 配置项,默认35 行。将默认的 server 配置全部用 # 注释掉,之后再 conf 文件夹中创建文件夹 conf.d ,创建文件 test.conf,在该文件中进行server {} 配置项的 配置。

二、配置server

配置之前需要在 nginx.conf 文件中的 http {} 配置项里加上 include D:/nginx-1.14.1/conf/conf.d/*.conf; 进行文件的映射,加上后才可以找到我们在 conf.d 问件中创建的 .conf 问件,而且是所有的 .conf 文件。如果有多个 .conf 文件则会一起启动,而只想让其中一个启动可以将 * 号改为那个文件的文件名。

server配置:

listen 8999;  是配置的端口号

server_name localhost;  是配置的域名

root D:/nginx-root;  是配置的资源路径

autoindex on;  是配置的打开页面是否能进入文件列表页,on为能进入,off 为不能进入

charset utf-8;  是编码格式

如果不配置autoindex on; 且你的 root 目录下没有东西,服务启动后可能会报 403 Forbidden 错误,这时加上这个配置就能避免这个错误。

在nginx.exe 所在文件夹里,上图的 nginx-1.14.1文件夹中,进入命令窗口,输入 start nginx 启动 nginx 出现以下界面则nginx 启动成功。

下图是 成功进入列表页的显示

配置以上这些后少不了要配置反向代理,反向代理到 json-server启动的 mock 数据的服务上,配置方法如下

location /api {
  proxy_pass http://localhost:8085;
}
 
可以配置多个反向代理
 
 
在输入地址后,一般会想让页面进入首页而不是列表页,这是要进行配置,本应用是Vue 的,所以从Vue 官网上拿到如下配置,并进行改进:
location / {
  try_files $uri $uri/dist /dist/index.html;
}
其中默认配置第二个 $uri 后是没有 /dist的,后面也没 /dist 是

try_files $uri $uri /index.html; 。
加上的原因是之后的资源不是直接放在 D:/nginx-root 目录下的,而是在其中的 dist 文件夹中,这是如果是官网的默认配置就会找不到对应的 index.html文件,加上 /dist 后就行了。
 
为什么我们要资源放在 dist 文件夹中,而不是放在 nginx-root 文件目录下?是应为我们可能在 nginx-root 下放了其他的应用的资源,为了防止混乱所以就放在 nginx-root 下的文件夹 dist 下。
 

 
 
三、Vue 应用的小修改
与上面相对应,在给Vue 应用进行 yarn build 之前需要进行修改在 vue.config.js 文件的 module.export 暴露的对象中加上  baseUrl: '/dist/',

还要再路由中,在实例化 VueRouter 的配置中加上 base: '/dist/',

之后直接 yarn build 就行了 ,build 出的文件在所有引用的文件路径前自动加上 /dist/ 。

四、启动应用

将 build 好的 dist 文件夹拷贝到 nginx-root 目录下,在命令窗口输入start nginx启动 nginx,在浏览器窗口输入localhost:8999,就进入了我们的应用了。到这就正式完成 Vue.js 项目 前后端不分离模式 nginx 配置。

五、nginx 配置中的坑

在 .conf 文件中进行配置时,一定要记住加上 ; ,不加会报错;

在放置解压后的 nginx-1.14.1 文件夹时,目录时一定不能有中文和空格 ,也会报错

在判断 nginx 是否启动成功时,不止直接去浏览器输入域名和端口号,也可以直接 nginx -s stop 停止nginx 看是否有错误,如果什么都没有显示,那么恭喜启动成功了,否则会报错。

如有错误,请各位指正!

Vue 应用 nginx 配置 前后端不分离模式的更多相关文章

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

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

  2. vue项目如何打包前后端不分离发布手把手教学apache、nginx

    vue项目如何不分离发布 1.首先yarn build 我用了vue-cli脚手架,bulid后的dist文件夹里的index.html有加版本号,那么为什么需要加版本号呢? a.回滚 b.解决浏览器 ...

  3. 前后端不分离部署教程(基于Vue,Nginx)

    有小伙伴私信问我vue项目是如何进行前后端不分离打包发布的,那我岂能坐视不管,如此宠粉的我肯定是要给发一篇教程的,话不多说,开始操作 前端假如我们要发布我们的Vue项目,假设我们前端用的是histor ...

  4. .Net Core+Vue.js+ElementUI 实现前后端分离

    .Net Core+Vue.js+ElementUI 实现前后端分离 Tags: Vue 架构 前端采用:Vue.js.Element-UI.axios 后端采用:.Net Core Mvc 本项目是 ...

  5. Nginx部署前后端分离服务

    飘过... 一,安装Nginx 二,配置nginx 一般nginx配置文件在etc目录下 另,如何找nginx.conf配置文件: 在前后端分离端项目里,前端的代码会被打包成为纯静态文件.使用 Ngi ...

  6. 在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)

    1.maven教程官网 https://m.runoob.com/maven/ 2.理解Maven的构建生命周期(clean.Package) 3.在项目中使用maven进行打包 4.运行打包好的ja ...

  7. nginx 配置支持URL HTML5 History 模式 与 设置代理

    拾人牙慧:https://segmentfault.com/q/1010000007140360 nginx 配置支持URL HTML5 History 模式 location / { try_fil ...

  8. 前后端分离 vue的nginx配置

    nginx配置vue 有全静态化  与 vue自己的应用端口 两种方式 以下是nginx跳转到vue自己的端口 https://www.jianshu.com/p/b7bd0d352db7 以下是全静 ...

  9. nginx+vue+uwsgi+django的前后端分离项目部署

    Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1 ...

随机推荐

  1. Python基础总结之第一天(新手可相互督促)

    我是大刘啊~ 坚持每周更新最少一次,为年薪20万迈进! 我为什么要学Python? 答:我想要涨工资...家里有矿我就不会来烧脑了...... 先写点什么呢? 新手,hhh,激动无比,无从下爪.... ...

  2. Maven重新下载未下载完成的jar包

    使用maven下载jar包,经常会遇到下载失败的情况,如果失败的jar包过多,或是不清楚到底有那些jar包在下载过程中出现了问题.可通过maven命令重新批量下载未成功的jar包. 1,打开cmd , ...

  3. solidity的delete操作汇总

    简介 Solidity中的特殊操作符delete用于释放空间,为鼓励主动对空间的回收,释放空间将会返还一些gas. delete操作符可以用于任何变量,将其设置成默认值0. 删除枚举类型时,会将其值重 ...

  4. 前后端分离 之vue-cli 搭建项目mac 系统讲解

    前端项目搭建必备技术 webpack nodejs 搭建 vue-cli 的安装 以上技术自行了解安装 一:创建前端项目 采用vue-cli 脚手架 1:终端执行如下命令 vue init webpa ...

  5. 1.4.1python下载网页(每天一更)

    # -*- coding: utf-8 -*- ''' Created on 2019年4月27日 @author: lenovo ''' # import urllib3 # def downloa ...

  6. 【eclipse】No enclosing instance of type A is accessible. Must qualify the allocation with an enclosing instance of type A

    用 eclipse 写 Java 代码时出现了这个问题,详细如下: No enclosing instance of type TestParsingLinkedList is accessible. ...

  7. 【iOS】PLA 3.3.12

    发件人 Apple Program License Agreement PLA We found that your app uses the Advertising Identifier but d ...

  8. 基于zookeeper集群的云平台-配置中心的功能设计

    最近准备找工作面试,就研究了下基于zookeeper集群的配置中心. 下面是自己设想的关于开源的基于zookeeper集群的云平台-配置中心的功能设计.大家觉得哪里有问题,请提出宝贵的意见和建议,谢谢 ...

  9. 一个项目中:只能存在一个 WebMvcConfigurationSupport (静态文件失效之坑)

    一个项目中:只能存在一个 WebMvcConfigurationSupport 在一个项目中WebMvcConfigurationSupport只能存在一个,多个的时候,只有一个会生效. 静态文件访问 ...

  10. 全开源C++ DirectUI 界面库SOUI 3.0更新

    从2019.5.22开始,SOUI版本号更新到2.9.0.2,后面开始准备3.0的开发,历时近3个月,现在3.0的主要工作基本完成. 为了便于大家区别2.x,3.0启用了新的代码仓库:https:// ...