Nginx 1.15.11 启动失败,如何解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 1.15.11 启动失败,如何解决?相关的知识,希望对你有一定的参考价值。

nginx启动失败,提示:
nginx: [emerg] invalid number of arguments in "include" directive in D:\Program Files\phpstudy\phpstudy_pro\Extensions\Nginx1.15.11/conf/vhosts/192.168.0.52_80.conf:20
环境:Windows10 专业版 19041.330

根据介绍,应该是你第20行的代码有问题,有可能是因为你的路径有空格,导致识别失败了。你可以将include后面的路径用双引号包起来成为一串字符串,然后再重新运行一下,看看还会不会出问题。
楼主如果对如何使用Nginx不太熟悉,可以百度《Linux就该这么学》,里面有关于如何在Linux系统下使用Nginx的说明,其中关于Nginx的配置文件讲解部分,不管是Linux还是windows都是通用的。
参考技术A 你用护卫神·nginx大师试试呢。

关于配置Nginx反向代理后SpringSecurity认证失败的问题解决

问题背景

最近在写的一个项目,采用前后端分离的方式进行开发,登录认证使用的是SpringSecurity框架。

问题描述

在项目部署的时候出现了一个问题,在自己电脑上运行的时候一切顺畅,可是部署到服务器上就一直登录失败,分别测试了前端和后端的代码,独立运行没有问题,打开F12查看返回的提示是发生了重定向。

问题解决

起初以为是Security的配置问题,可是试来试去都没有什么作用,依然登录不上。折腾半天无果后,来才考虑到nginx,只有它不一样。security是根据url进行拦截的,是不是在反向代理的时候出了些猫腻呢?

在网上查了一圈,果然问题发生在Nginx上,修改一下Nginx的配置。

原来的配置 proxy_pass http://127.0.0.1:8080
?
改后的配置 proxy_pass http://127.0.0.1:8080/

加了一个斜杠,问题就解决了。

问题总结

为啥少了个斜杠就不行了呢?原来问题是Nginx代理的路径和项目的context-path不匹配导致的。context-path = # Context path of the application. 应用的上下文路径,也可以称为项目路径,是构成url地址的一部分。在每个module的application.yml文件都可以配置server.servlet.context-path这个属性。如果进行不配置的话,它的默认值是‘‘/‘‘,这也就是为什么我在Nginx里加了一个斜杠问题就解决了。context-path的作用与 @RequestMapping 类似,我理解@RequestMapping用于区分不同的Controller,而context-path的主要作用是为了区分不同的模块,这一点在使用反向代理的时候尤其重要,反向代理服务器需要通过区分context-path去辨别到底要代理哪个服务,如果找不到,它就要报错。

========================================================================================

不要简单的收集学习资料,知识活在百度云或者书签列表中意义不大。

把自己困惑的地方,真正搞懂,写出来。如果别人也能看懂,那才是真的掌握了,坚持下去,应该会有收获。

========================================================================================

 

 

以上是关于Nginx 1.15.11 启动失败,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

liunx开启Nginx失败, 出现 An error occurred

解决Nginx启动失败

powerpoint启动失败怎么办 ppt启动失败问题解决办法

ActiveMQ挂了,重启一直无法将所有实例启起来的问题

liunx开启Nginx失败, 出现 An error occurred

Muddleftpd 启动失败