Nginx虚拟主机多server_name的顺序问题
Nginx配置文件中没有相关的rewrite跳转规则,那么就应该是MediaWiki的PHP程序做的跳转,但是,遍历了MediaWiki目录下的所有文件以及查询了MySQL数据库中的每个表,都没有发现记录有这个域名。后来,通过查看源代码发现MediaWiki是根据$_SERVER['SERVER_NAME']做的跳转,顺藤摸瓜,发现了下列问题:
在一个Nginx虚拟主机中,可以绑定多个server_name,例如:
而server_name的先后顺序的不同,对PHP程序中使用$_SERVER["SERVER_NAME"]或getenv('SERVER_NAME')获取服务器域名是有影响的:
$_SERVER["SERVER_NAME"]或getenv('SERVER_NAME')获取的始终将是Nginx server_name配置中的第一个域名,这一点在程序开发中需要注意。这第一个域名就相当于Apache虚拟主机配置中的ServerName,后面的域名就相当于Apache的ServerAlias。
相关推荐
-
nginx 虚拟主机设置实例(多网站配置)
配置文件: 复制代码 代码如下: http { server { listen 80; server_name www.domain1.com; access_log logs/domain1.access.log main; location / { index index.html; root /var/www/domain1.com/htdocs; }
-
Nginx中虚拟主机与指定访问路径的设置方法讲解
添加多个虚拟主机 最近在ubuntu上捣腾nginx,安装成功了,就只有rewrite没有试验,因为服务器上有多个网站,还不敢在服务器上尝试,慢慢来.网上查了一些文章,下了一篇留下来做试验. nginx上虚拟主机的配置其实跟apache上的基本上类似. 需要注意的几点是: 第一.关于.htaccess配置,也就是为静态配置,在nginx上一般你要写在虚拟主机的配置文本中,但是我也有看到用包含文件解决这个问题的,即在虚拟主机配置脚本上include .htaccess文件,不过没有没有试过. 第二
-
为nginx设置默认虚拟主机(空主机头,默认主机头)
最关键的一点事,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. 这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500. 目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦.就可以这样设置: 复制代码 代码如下: server { listen 80 default; return 500; } 也可以把这些流量收集起来,导入到自己的网
-
Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)
系统环境:RHEL5 [ 2.6.18-8.el5xen ] 软件环境: nginx-0.7.17 lighttpd-1.4.20.tar.gz pcre-6.6-1.1 pcre-devel-6.6-1.1 php-5.1.6-5.el5 参考下载地址: http://sysoev.ru/nginx/nginx-0.7.17.tar.gz (最新稳定版为0.6.32) http://www.lighttpd.net/download/lighttpd-1.4.20.tar.gz #######
-
nginx配置虚拟主机vhost的方法详解
前言 所谓虚拟主机,是说通过几个不同的url地址,都能到达nginx环境,只不过针对不同的url,处理的逻辑不同. nginx支持虚拟主机,但是浏览器等客户端不知道,所以虚拟主机的几个地址,应该是都指向nginx所在的ip地址,虚拟主机功能才能正常. 环境 系统环境:CentOS6.7 nginx version: nginx/1.8.1 方案 例如配置文件位于: /opt/nginx/conf/nginx.conf 在http {}的最后,添加如下行: include vhosts/*.con
-
Nginx虚拟主机多server_name的顺序问题
Nginx配置文件中没有相关的rewrite跳转规则,那么就应该是MediaWiki的PHP程序做的跳转,但是,遍历了MediaWiki目录下的所有文件以及查询了MySQL数据库中的每个表,都没有发现记录有这个域名.后来,通过查看源代码发现MediaWiki是根据$_SERVER['SERVER_NAME']做的跳转,顺藤摸瓜,发现了下列问题: 在一个Nginx虚拟主机中,可以绑定多个server_name,例如: 而server_name的先后顺序的不同,对PHP程序中使用$_SERVER["
-
php管理nginx虚拟主机shell脚本实例
本文实例讲述了php管理nginx虚拟主机shell脚本,分享给大家供大家参考.具体分析如下: 使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考: 复制代码 代码如下: #!/usr/bin/php -q <?php start: fwrite(STDOUT,"===========Vhost Script===========\n"); fwrite(STDOUT,"=
-
nginx虚拟主机配置实例详解
nginx虚拟主机配置 server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.
-
Nginx 虚拟主机配置的三种方式(基于域名)
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 详解Nginx 虚拟主机配置的三种方式(基于IP) https://www.jb51.net/article/149774.htm 详解Nginx 虚拟主机配置的三种方式(基于端口) https://www.jb51.net/article/14978.htm 3.Nginx基于域名的虚拟主机配置 使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端
-
详解Nginx 虚拟主机配置的三种方式(基于IP)
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 详解Nginx 虚拟主机配置的三种方式(基于端口) https://www.jb51.net/article/14977.htm 详解Nginx 虚拟主机配置的三种方式(基于域名) https://www.jb51.net/article/14978.htm 1.基于IP的虚拟主机配置 如果同一台服务器有多个IP,可以使用基于IP的虚机主机配置,将不同的服务绑定在不同的IP上. 1.1
-
详解Nginx 虚拟主机配置的三种方式(基于端口)
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 详解Nginx 虚拟主机配置的三种方式(基于IP) https://www.jb51.net/article/14974.htm 详解Nginx 虚拟主机配置的三种方式(基于域名) https://www.jb51.net/article/14978.htm 2.Nginx基于端口的虚拟主机配置 如一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配
-
基于域名、端口和IP搭建nginx虚拟主机
nginx支持的虚拟主机有三种 1.基于域名的虚拟主机 2.基于IP的虚拟主机 3.基于端口的虚拟主机 一.基于域名构建 1.编译安装nginx服务 2.配置DNS域名解析服务 3.配置虚拟主机 a.创建自测网页 [root@localhost named]# cd [root@localhost ~]# mkdir -p /var/www/html/kgc [root@localhost ~]# mkdir -p /var/www/html/accp [root@localhost ~]# l
-
深入浅析Nginx虚拟主机
一 虚拟主机 1.1 虚拟主机概念 对于Nginx而言,每一个虚拟主机相当于一个在同一台服务器中却相互独立的站点,从而实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的. 1.2 虚拟主机类型 通过 Nginx 可以实现虚拟主机的配置,Nginx 支持三种类型的虚拟主机配置: 基于 IP 的虚拟主机(较少使用) 基于域名的虚拟主机 基于端口的虚拟主机 二 基于IP虚拟主机 2.1 配置多IP地址 [root@nginx ~]# ifconfig eth0:0 172.2
-
Nginx虚拟主机的搭建的实现步骤
目录 Nginx服务基础 关于Nginx Nginx相对于Apache的优点: Apache相对于Nginx的优点: Nginx访问控制 创建运行用户.组 编译安装Nginx 配置 Nginx服务管理 认识Nginx服务的主配值文件nginx.conf 访问状态统计配置 基于授权的访问控制 生成用户登录码认证文件 基于客户端的访问控制 访问控制规则如下 基于域名的Nginx虚拟主机 提供域名解析 为虚拟主机添加测试文件 修改Nginx配置文件 基于IP的Nginx虚拟主机 基于端口的 Nginx
-
Nginx虚拟主机的配置步骤过程全解
目录 一.Nginx虚拟主机的配置 二.日志的配置 三.Nginx缓存配置 四.Nginx的gzip压缩配置 五.Nginx自动列目录配置 一.Nginx虚拟主机的配置 虚拟主机:通常情况下,为了使每个服务器可以供更多用户使用,可以将一个服务器分为很多虚拟的子服务器,每个子服务器都是互相独立的.这些服务器是根据虚拟化技术分出来的,这样,一台服务器就可以虚拟成很多台子服务器.我们把子服务器叫做虚拟主机.我们搭建好Nginx服务器之后,此时只有一台Nginx服务器,这时如果我们对这台服务器进行虚拟主
随机推荐
- C++中new和delete的使用方法详解
- 防止电脑被他人控制
- 基于jQuery创建鼠标悬停效果的方法
- .NET动态加载用户控件并传值的方法
- 仿百度输入框智能提示的js代码
- 简单介绍PHP非阻塞模式
- C#处理Json字符串实例分析
- PHP魔术方法以及关于独立实例与相连实例的全面讲解
- jquery 回车事件实现代码
- 通用JS事件写法实现代码
- javascript 层隐藏和显示的代码
- MYSQL主从库不同步故障一例解决方法
- PHP JSON格式的中文显示问题解决方法
- 探讨:android项目开发 统筹兼顾 需要考虑的因素
- Javascript Web Slider 焦点图示例源码
- PHP中使用break跳出多重循环代码实例
- 浅谈Redis分布式锁的正确实现方式
- PHP Cli 模式设置进程名称的方法
- layui 动态设置checbox 选中状态的例子
- 关于JSON解析的实现过程解析