一、先在官网下载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. [NLP] 相对位置编码(一) Relative Position Representatitons (RPR) - Transformer

    对于Transformer模型的positional encoding,最初在Attention is all you need的文章中提出的是进行绝对位置编码,之后Shaw在2018年的文章中提出了 ...

  2. 172. 阶乘后的零 Java解法

    https://leetcode-cn.com/problems/factorial-trailing-zeroes/ 172. 阶乘后的零 这题要完成其实要知道一个很巧妙的思想,就是阶乘里面,后面的 ...

  3. .NET Core CSharp初级篇 1-8泛型、逆变与协变

    .NET Core CSharp初级篇 1-8 本节内容为泛型 为什么需要泛型 泛型是一个非常有趣的东西,他的出现对于减少代码复用率有了很大的帮助.比如说遇到两个模块的功能非常相似,只是一个是处理in ...

  4. 《SQL错题》

    (选择一项) A: B: C: D: 正确答案是 D                   (选择一项) A: B: C: D: 正确答案是 A           (选择一项) 8 A: B: C: ...

  5. pheatmap绘制“热图”,你需要的都在这

    热图可以聚合大量的数据,并可以用一种渐进色来优雅地表现,可以很直观地展现数据的疏密程度或频率高低. 本文利用R语言 pheatmap 包从头开始绘制各种漂亮的热图.参数像积木,拼凑出你最喜欢的热图即可 ...

  6. docker部署xxl-job 通用反射执行器

    原因 最近在公司写一些job,公司使用的是spring boot提供的注解形式实现的. 这样在自测的时候很麻烦,而且测试提测的时候需要修改cron表达式->提交git->jenkins打包 ...

  7. SparkStreaming对接rabbitMQ

    /** * SparkStreaming对接rabbitmq java代码 */public class SparkConsumerRabbit { public static void main(S ...

  8. CF803D 题解

    题面 正解:一道二分大水题! A:为什么我得不到满分? B : 评测的系统不一样啊! A : 蛤? 正常情况下我们日常练习均使用的是windows系统,在windows下,string 本身是可以存储 ...

  9. hdoj 3732 Ahui Writes Word (多重背包)

    之前在做背包的题目时看到了这道题,一看,大喜,这不是裸裸的01背包吗!!  然后华丽丽的超时,相信很多人也和我一样没有考虑到数据量的大小. 时隔多日,回过头来看这道题,依旧毫无头绪....不过相比之前 ...

  10. jenkins弱口令漏洞

    jenkins弱口令漏洞 一.漏洞描述 通过暴力破解管理控制台,如果爆破成功,可获得后台管理权限.操作后台,后台可通过脚本命令行功能执行系统命令,如反弹shell等,低权限可以通过创建控制台输出方式执 ...