Linux 系列(六)——Nginx实现多虚拟主机配置

原创 2016年05月31日 21:15:16


一、Nginx的应用概述

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

1、http服务器

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

2、虚拟主机

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

3、反向代理,负载均衡

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

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

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

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

1、在Linux系统中虚拟出两个网卡,设置为不同的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.72.49

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

  1. 修改nginx配置文件

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

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

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

server {
        listen       80;
        server_name  192.168.72.48;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html-48;
            index  index.html index.htm;
        }       
    }

server {
        listen       80;
        server_name  192.168.72.49;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html-49;
            index  index.html index.htm;
        }        
    }
3、reload nginx配置文件,命令:/nginx/bin/nginx -s reload

4、根据IP访问首页,效果图

访问192.168.72.48如下: 

访问192.168.72.49,如下:

这就是实现了在同一台硬件服务器上,虚拟出两个IP地址,使用1个nginx服务器,分别对两个ip进行访问,分别跳转到不同的html页面。

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

1、同样,复制两个html文件,修改index首页信息用于标记访问的是那个虚拟机

2、修改nginx.conf的对应server-port属性值

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

3、访问192.168.72.49:8081 和192.168.72.49:8081 两个端口,可分别跳转到两个不同的index页面,效果图同上。

这就使得通过1个服务器IP,虚拟出多个端口号发布相同服务,浏览器根据输入的某个端口号确定访问对应端口发布的服务。

五、Nginx基于域名的虚拟主机配置

Last but not least,基于域名的虚拟主机应用相对于前两者是更常用,一般情况都是使用域名对网站进行访问,很少有直接输入该网站的服务器IP。nginx基于域名的虚拟主机配置

1、首先设置host文件,指定IP 对应的域名,使得原本需要通过DNS服务器去解析域名所对应的IP,而host文件相当于本地的一份ip-域名的对应数据缓存,如果host中有这个对应关系,那访问网站时,则直接跳转到指定IP,而不再从DNS服务器上解析。这里可以借助SwitchHosts工具修改如下。

192.168.72.49 www.max.com

192.168.72.49 xixi.max.com

2、修改nginx.conf配置

 server {
        listen       80;
        server_name  <a target=_blank href="http://www.max.com">www.max.com</a>;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html-max;
            index  index.html index.htm;
        }
     } 
 server {
        listen       80;
        server_name  xixi.max.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html-linxi;
            index  index.html index.htm;
        }
     } 

这里通过修改server-name,nginx启动会通过这个server-name域名到本地的host文件中找到对应的IP,访问到该IP下指定的location文件地址。

访问xixi.max.com

访问www.max.com





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Mac下配置虚拟主机

Mac下配置虚拟主机 mac下配置虚拟主机 查看Nginx配置文件路径,在不同的安装环境配置下配置文件的路径不相同 ➜ nginx brew info nginx nginx: stable ...

配置阿里云CentOS7.2+nginx+uwsgi 部署flask项目

网上其他的教程不是很简洁易懂,废话不多说,先上步骤。 首先来看一下项目结构: 项目根目录:/var/www/myproject ---|app ---|__init__.py ---|views.p...

Nginx设置虚拟主机,添加多站点

Nginx 目录: /usr/local/nginx/ 进行以下操作之前,请先登录域名管理后台,做好域名解析。 设置域名解析 http://bbs.tbhome.com.cn/for...

Nginx教程(四) Location配置与ReWrite语法

Location规则 语法规则: location [=|~|~*|^~] /uri/ { … } 首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时...

mac下安装Nginx

mac下安装Nginx 为什么选择Nginx: Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使...

Nginx 虚拟主机 VirtualHost 配置

Nginx 是一个轻量级高性能的 Web 服务器, 并发处理能力强, 对资源消耗小, 无论是静态服务器还是小网站, Nginx 表现更加出色, 作为 Apache 的补充和替代使用率越来越高. 我在...

Nginx配置之基于域名的虚拟主机

1、配置好DNS解析 [root@server ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.2 (...

Nginx教程(二) Nginx虚拟主机配置

虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP...

Nginx教程(三) Nginx日志管理

通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)