nginx的虚拟主机的配置

目录

 

Nginx的虚拟主机的配置

1.server的语法:server{...}

2.server内的一些主要配置

(1)listen

(2)server_name

(3)location 为某个请求URI(路径)建立配置,详细信息见官网

3.nginx的虚拟主机配置方法

(1)基于名字的虚拟主机

(2)基于监听端口的虚拟主机的配置

(3)基于IP的虚拟主机的配置


Nginx的虚拟主机的配置

 

  安装好tengine后编写服务启动脚本中编写了nginx的服务脚本,以后我们只要修改了配置文件,都要重新启动或者重新加载该服务。使用service nginx (stop|start|reload|restart)操作。

tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台(引自tengine官网)。nginx [engine x]是Igor Sysoev编写的一个HTTP反向代理服务器,另外它也可以作为邮件代理服务器。

nginx虚拟主机,是通过在核心模块ngx_http_core_module中的server来配置。

1.server的语法:server{...}

2.server内的一些主要配置

(1)listen

语法见官网介绍

listen address[:port]...;

listen port...;

设置nginx监听地址,nginx从这里接受请求。对于IP协议,这个地址就是addressport;对于UNIX域套接字协议,这个地址就是path。 一条listen指令只能指定一个address或者port。 address也可以是主机名。

(2)server_name

设置虚拟主机名,比如:

server {
    server_name example.com www.example.com;
}

如果多个主机名,第一个为首要主机名。主机名前,后还可以使用通配符,具体的请看官网文档。

(3)location 为某个请求URI(路径)建立配置,详细信息见官网

语法:location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }

 

3.nginx的虚拟主机配置方法

 nginx没有明显分隔IP-based(基于IP地址)和name-based(基于“Host”请求头)这两种类型的虚拟主机, 而是用listen指令描述虚拟主机接受连接的地址和端口,用server_name指令列出虚拟主机的所有主机名。

nginx官网在Nginx如何处理一个请求说明了主机的配置方法。

(1)基于名字的虚拟主机

下面配置两个虚拟主机,只有主机名不一样,每个主机对应的web站点路径不同,相当于有两个web站点:www.zdxh.com  和www.zdxh1.com。

worker_processes  1;


events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
    server {
        listen       80;
        server_name  www.zdxh.com;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       80;
        server_name  www.zdxh1.com;

        location / {
            root   /www/html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

www.zdxh1.com对应的location是/www/html,我们先建目录 /www/html([root@node1-1 ~]# mkdir -p /www/html),然后在该目录下建文件index.html,内容如下:<h1>hello tengine</h1>

重新启动nginx:service nginx restart

在windows的hosts文件配置主机名

在windows浏览器输入上面两个网址,分别显示如下:

以上是基于名字的虚拟主机的配置。

(2)基于监听端口的虚拟主机的配置

a.假设,我们配置的server_name都是www.zdxh.com,但是监听端口一个是80,另外一个是90,则这种就是基于端口的配置。

b.重新启动nginx

      c.测试:

 

(3)基于IP的虚拟主机的配置

这个了解就行,需要在网卡上绑定另外的IP,然后在listen那里配置IP:Port就行。

重启nginx后的测试结果:

 

 

 

总结:上面介绍了nginx中配置虚拟主机的三种方法,其中第1、2种要掌握,第三种了解即可。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值