Nginx服务的虚拟主机
2018-06-21 21:14
302 查看
虚拟主机技术实现了不用为每一个要运行的网站提供一台单独的Nginx服务器或者运行一组单独的Nginx进程,虚拟主机提供了在同一台服务器上或同一组Nginx进程上运行多个网站的功能。
Nginx跟Apache一样,也可配置多种类型的虚拟主机,Apache搭建虚拟主机请参见Apache搭建虚拟主机;
Nginx创建虚拟主机类型:
基于IP的虚拟主机
基于域名的虚拟主机
基于端口的虚拟主机
使用Nginx搭建虚拟主机服务器时,每个虚拟web站点拥有独立的“server{}”配置段,各自监听地址,端口号以及网站域名。
Nginx服务软件:nginx-1.12
DNS服务器:192.168.100.111
解析结果如下:
本文采用上述第二种配置方式为例,实现基于域名的虚拟主机:
让Nginx主配置文件支持虚拟主机配置文件
vim /usr/local/nginx/conf/nginx.conf
在主配置文件末尾大括号以内加入以下行:
创建网站域名站点:
mkdir -p /var/www/one //创建one.com站点
mkdir -p /var/www/two //创建two.com站点
创建虚拟主机单独配置文件:
cd /usr/local/nginx/conf
mkdir vhost
cd vhost
vim vhost.conf //虚拟主机独立配置文件
配置完成后,重启Nginx服务;基于域名的虚拟主机访问情况如下:
cd /usr/local/nginx/conf/vhost
vim /vhost.conf //编辑虚拟主机独立配置文件
注:此处需要注意的是与Apache虚拟主机基于端口模式区别,在Apache中添加虚拟端口后,需要在主配置文件中增加监听端口,而Nginx中虚拟主机独立配置文件已经注明服务IP地址的端口,因此不需要在主配置文件中增加监听端口。
killall -3 nginx //停止Nginx服务
nginx -t //检查主配置文件
nginx //启动Nginx服务
启动服务后,当用客户端访问其相同IP不同端口时,即出现不同页面:
Nginx跟Apache一样,也可配置多种类型的虚拟主机,Apache搭建虚拟主机请参见Apache搭建虚拟主机;
Nginx创建虚拟主机类型:
基于IP的虚拟主机
基于域名的虚拟主机
基于端口的虚拟主机
使用Nginx搭建虚拟主机服务器时,每个虚拟web站点拥有独立的“server{}”配置段,各自监听地址,端口号以及网站域名。
实验环境
Linux系统:Redhat6.5Nginx服务软件:nginx-1.12
DNS服务器:192.168.100.111
实验部署
由于基于IP的虚拟主机需要在服务器端配置多个网卡,且每个网卡需要不同IP地址,受到IP地址限制以及成本控制,这种虚拟主机的配置成本偏高,故在本文中不做赘述!1、基于域名的虚拟主机
实现基于域名的虚拟主机首先需要配置DNS域名解析服务,详细过程请参见DNS域名解析服务配置;这里我选择域名为www.one.com和www.two.com两个域名。解析结果如下:
注:配置不同域名的虚拟主机有两种方式: 一是在原有配置文件中直接加入“server()”版块。 二是在Nginx的配置文件目录conf下新建虚拟主机配置文件vhost.conf 然后在主配置文件中添加行:include /usr/local/nginx/conf/*.conf
本文采用上述第二种配置方式为例,实现基于域名的虚拟主机:
让Nginx主配置文件支持虚拟主机配置文件
vim /usr/local/nginx/conf/nginx.conf
在主配置文件末尾大括号以内加入以下行:
include /usr/local/nginx/conf/vhost/*.conf; }
创建网站域名站点:
mkdir -p /var/www/one //创建one.com站点
mkdir -p /var/www/two //创建two.com站点
echo "this is one web" > /var/www/one/index.html //创建域名one.com测试首页 echo "this is two web" > /var/www/two/index.html //创建域名two.com测试首页
创建虚拟主机单独配置文件:
cd /usr/local/nginx/conf
mkdir vhost
cd vhost
vim vhost.conf //虚拟主机独立配置文件
server { server_name www.one.com; //虚拟主机名称 location / { root /var/www/one; //站点位置 index index.html index.php; } } server { server_name www.two.com; location / { root /var/www/two; index index.html index.php; } }
配置完成后,重启Nginx服务;基于域名的虚拟主机访问情况如下:
2、基于端口的虚拟主机
按照上述基于域名的虚拟主机,为每一个不同端口创建不同站点,添加独立的虚拟主机配置文件/conf/vhost/vhost.conf,且需要在主配置文件中添加:include /usr/local/nginx/conf/vhost/*.conf; }
cd /usr/local/nginx/conf/vhost
vim /vhost.conf //编辑虚拟主机独立配置文件
server { listen 192.168.100.111:250; //监听服务器的端口 server_name 192.168.100.111:250; location / { root /var/www/one; //首页站点 index index.html index.php; //支持首页文件类型 } } server { listen 192.168.100.111:222; server_name 192.168.100.111:222; location / { root /var/www/two; index index.html index.php; } }
注:此处需要注意的是与Apache虚拟主机基于端口模式区别,在Apache中添加虚拟端口后,需要在主配置文件中增加监听端口,而Nginx中虚拟主机独立配置文件已经注明服务IP地址的端口,因此不需要在主配置文件中增加监听端口。
killall -3 nginx //停止Nginx服务
nginx -t //检查主配置文件
nginx //启动Nginx服务
启动服务后,当用客户端访问其相同IP不同端口时,即出现不同页面:
相关文章推荐
- nginx配置在一台虚拟主机下多站点服务(对应多域名
- Nginx作为WEB服务相关配置(性能优化,网络连接,访问控制,虚拟主机,https等等)
- Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置
- linux企业常用服务---部署NGINX虚拟主机
- nginx-虚拟主机,访问控制,防盗链,代理服务
- nginx网站服务于虚拟主机
- nginx服务做用户认证和基于域名的虚拟主机
- Nginx 虚拟主机下支持Pathinfo并隐藏入口文件的完整配置
- Nginx配置ThinkPHP和Laravel虚拟主机
- Nginx上虚拟主机的实现过程
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- Nginx安装,Nginx默认虚拟主机,Nginx用户认证,Nginx重定向
- VirtualHost虚拟主机服务
- nginx配置多个虚拟主机,只有其中某个有作用
- Linux上Nginx如何添加多个虚拟主机配置
- 四、配置nginx虚拟主机
- LNMP架构 nginx默认虚拟主机
- Nginx配置信息及虚拟主机的创建
- 深入浅出Nginx之三【虚拟目录与虚拟主机】
- Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置