前言
今天,小焦给大家要讨论的问题就是一台服务器配置两个网站后,域名错误的问题。因为个人需求,我在一台nginx配置的服务器上部署了两个网站,一个是纯html和css写的静态网站,一个就是我用wordpress做的这个现在的这个个人博客网站。
问题原因
首先第一个网站(兰西尔婚礼:lxecm.com)是纯静态网站页没有任何的后台,非常简单。我用nginx简单配置就上线了,域名啥的也没问题。出现问题的是我的第二网站,由于域名备案问题,我第二个网站(jiaokangyang.com)为了方便调试用的是第一个网站的子域名调试的,结果当域名下来并且部署后就出现了问题
症状:我访问第二个网站域名老是自动转跳到第一个网站里面去了,不管是子域名还是什么全部自动跳转。
条件:
- nginx
- 一个静态网站一个wordpress个人博客
- gzip压缩配置
- 静态网站用的是http协议,个人博客用的是https
- 静态网站配置的是自动跳转到加www的站点
- 个人博客站点为了方便管理。nginx的配置文件是单独写出来放到别的文件夹下面
解决办法
出现这个问题,说简单很简单,说难也很难。网上很多人说是什么301跳转啥的,反正是乱七八糟的。反复检查了nginx的配置丝毫找不到毛病。因为我的配置确实很简单,我自己很清楚我的配置文件写的格式是不会出错的。
反复检查都不能找到问题也是很郁闷,直到第二天突然脑子里蹦出来一个点,直觉告诉我是这个东西可能有问题。没错就是我的第二个站点配置文件用的是单独的文件夹,但是我的第二个站点测试的时候是没有问题,换了域名后才出现了问题。然后又检查配置文件,这是我发现了一个可疑配置,如下图
include /etc/nginx/conf.d/*.conf;
没错就是上述配置,我发现该配置格式和我配置的第二个nginx的文件路径非常相似,然后我就在该目录下面看了下,发现此目录下没有任何文件,然后我果断注释掉此配置。
然后systemctl restart nginx
重启nginx,经过测试发现之前的问题已经完美解决
分析
经过此次问题解决,小焦感觉上述nginx自带的配置文件应该是留有缓存机制的,虽然目录下没有任何文件,但是它还会影响到我们的配置,而且这种问题最让人头疼,因为你看不出任何的毛病。所以大伙要配置多个nginx文件,要么放到它的默认目录下,要么注释掉自己另建目录。如果有人和我一样的症状可以试此方法解决。希望给到你帮助。另外喜欢研究技术的伙伴可以加入小焦的自学群,大伙有什么问题一起交流。
评论2