nginx虚拟主机的配置

一、说明
      虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的。
在nginx安装目录下的conf文件夹里,有个nginx.conf的配置文件,该文件是nginx的配置文件

该文件下,可以看到:

其中一个server表示一个虚拟主机,默认一个,监听的是80端口。
其中location下的root表示默认访问的路径,即图中配置表示访问nginx安装路径下的html文件夹下的index.html

nginx.conf的配置文件结构:
......
events {
    .......
}
http{
   .......
   server{
         .......
         }
   server{
         .......
         }

}

二、配置虚拟主机
通过nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置,1、基于ip的虚拟主机, 2、基于域名的虚拟主机 3、基于端口的虚拟主机
由于测试条件问题,这里主要介绍通过端口和通过域名的配置
1)通过端口区分配置
在nginx.conf下增加一个server节点,修改端口号即可。
比如,在nginx.conf下新增server如下,将端口号修改为81,为了区分,将访问文件夹改为html-81

    server {
        listen       81;
        server_name  localhost;

        #charset koi8-r;
        #
        #access_log  logs/host.access.log  main;
        #
        location / {
              root   html-81;
              index  index.html index.htm;
        }     
   }

然后在nginx安装目录下复制html文件夹:
cp -r html/ html-81


为了与html下的html区分,修改html-81下的index.html文件:

保存。
启动nginx
这里,需要注意防火墙的问题。
如果不想关闭防火墙,配置防火墙,开放相关端口。
vim /etc/sysconfig/iptables
使用yy复制某行,使用p粘贴。
nyy复制多行,n为行数
修改80和81端口开放

重启防火墙
service iptables restart

使用浏览器分别访问:
http://192.168.1.110/和http://192.168.1.110:81/



表示配置成功!

2)通过域名区分虚拟机
由于没有注册那么多域名用于测试,所以可以通过修改windows的host是文件进行主机名与ip的映射进行模拟。
window的host文件路径:C:\Windows\System32\drivers\etc
当然,可能会因为权限问题需要使用管理员权限。
也可以使用第三方工具SwitchHosts进行配置,比较方便。
下面是使用该工具进行的配置,当然,也可以通过修改host达到同样的效果。


点击应用即可(注意软件要以管理员身份打开)。
这个时候浏览器输入: http://howard.nginx.com/就等于访问192.168.1.110

在nginx.conf下增加下面这段:

保存。类似的,在nginx下复制html文件夹为html-test,并修改index.html文件的标题以区分。

进入sbin,使用./nginx -s reload使配置生效
这时候再通过 http://howard.nginx.com/ 访问,就会按域名区分进入html-test下的index.html了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值