一、Nginx的应用概述

Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有以下3方面的应用:

1、http服务器

Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机

可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理,负载均衡

当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。 

 

本文主要讲下实现多虚拟主机的配置,应该如何做

二、什么是虚拟主机
      虚拟主机使用的是特殊的软硬件技术,它把一台服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。
       利用虚拟主机,不必为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

可以实现在同一台服务器上运行多个网站,并且网站之间相互独立各不干扰。

三、基于IP 的虚拟主机配置

1、如果是多网卡就可以直接使用不同的IP地址,如果是单网卡则再系统中虚拟出两个网卡,设置为不同的IP地址

  将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1

    cd /etc/sysconfig/network-scripts

  cp ifcfg-eth0 ifcfg-eth0:1

  修改其中内容:

  DEVICE=eth0:1

  IPADDR=192.168.56.127

  其他项不用修改,然后执行service network restart 重启网络服务

  此时我们就有两个IP地址:

       IP1=192.168.56.126

       IP2=192.168.56.127

 

2,修改nginx配置文件

在nginx/conf/nginx.conf是nginx核心配置文件,nginx对虚拟主机的配置,一个server就是一个虚拟主机。Nginx对于多虚拟主机的支持,主要是对server标签的添加,指定location启动路径即可。

1)先将/nginx/html文件复制成两份,修改html/index.html文件,用于标记不同nginx首页信息。

2)修改nginx.conf配置文件,添加两个server节点,指定ip

worker_processes  4;
pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
 
http {
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       192.168.56.126:80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html ;
        }
    }
    server {
        listen       192.168.56.127:80;
        server_name  localhost;
        location / {
            root   test;
            index  index.html ;
        }
  }
}


完成后重新加载配置

nginx -s reload

 

 

后面将结果贴上

 

四、基于不同端口的虚拟主机配置

在nginx conf 的配置目录下添加,port2.conf ,然后在nginx.conf 里面 include port2.conf

worker_processes  4;
pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
 
 
http {
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    include  port2.conf;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
}

port2.conf

server {
    listen       81;
    server_name  localhost;
    location / {
        root   test;
        index  index.html ;
    }
}

完成之后重新加载配置:

nginx -s reload


后面将结果贴上

 

五:基于不同域名的虚拟主机:

为了测试,我们在hosts里面新加了两个 IP 域名解析

192.168.2.158 1.imoocc.com
192.168.2.158 2.imoocc.com

这样直接将nginx.conf 里面的hostname 修改为 1.imoocc.com  port2.conf 里面的hostname 修改为 2.imoocc.com,,然后 nginx -s reload

 

后面将结果贴上

 

posted on 2020-12-29 15:45  EZgod  阅读(202)  评论(0编辑  收藏  举报