nginx基于IP多虚拟主机配置

Posted 王子建

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx基于IP多虚拟主机配置相关的知识,希望对你有一定的参考价值。

【基于IP多虚拟主机】
环境准备
1.添加别名
ifconfig eth0:1 10.0.0.145 netmask 255.255.255.0  broadcast 10.0.0.255 up
ifconfig eth0:2 10.0.0.146 netmask 255.255.255.0  broadcast 10.0.0.255 up
此时一共准备了3个IP
[root@backup html]# ifconfig |grep -E  "^.*inet 10"
        inet 10.0.0.200  netmask 255.255.255.0  broadcast 10.0.0.255
        inet 10.0.0.145  netmask 255.255.255.0  broadcast 10.0.0.255
        inet 10.0.0.146  netmask 255.255.255.0  broadcast 10.0.0.255


【开始实践】
1.给nginx添加include包含语法,让其他目录下的配置文件,导入到nginx.conf中,这样的写法,
能够让nginx每一个配置文件,看起来更简洁,更清晰

修改nginx.conf,在http{}标签中的最后一行,添加如下参数
include  extra/*.conf;

2.在nginx.conf中修改第一个虚拟主机配置
 server {
        listen      10.0.0.200:80;
        server_name  localhost;
        
        charset utf-8;
        
        location / {
            root   /www/200;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    
    
3.在/opt/tngx232/conf/extra/145.conf中编辑第二个虚拟主机配置
mkdir /opt/tngx232/conf/extra
[root@backup extra]# vim 145.conf
server {
        listen      10.0.0.145:80;
        server_name  localhost;
        
        charset utf-8;
        
        location / {
            root   /www/145;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


4.在在/opt/tngx232/conf/extra/146.conf中编辑第三个虚拟主机配置
server {
        listen      10.0.0.146:80;
        server_name  localhost;
        
        charset utf-8;
        
        location / {
            root   /www/146;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


5.编辑完成后,检查nginx语法
[root@backup extra]# nginx  -t
nginx: the configuration file /opt/tngx232/conf/nginx.conf syntax is ok
nginx: configuration file /opt/tngx232/conf/nginx.conf test is successful


6.重启nginx
[root@backup extra]# nginx -s stop
[root@backup extra]# nginx


7.准备3个基于IP的站点内容

mkdir -p /www/{200.145.146}
[root@backup extra]# echo "我是110,hello man." >  /www/200/index.html
[root@backup extra]# echo "我是200,hello man." >  /www/200/index.html
[root@backup extra]# echo "我是145,hello man." >  /www/145/index.html
[root@backup extra]# echo "我是146,hello man." >  /www/146/index.html


8.测试访问
[root@backup extra]# curl 10.0.0.200
我是200,hello man.
[root@backup extra]# curl 10.0.0.145
我是145,hello man.
[root@backup extra]# curl 10.0.0.146
我是146,hello man.

以上是关于nginx基于IP多虚拟主机配置的主要内容,如果未能解决你的问题,请参考以下文章

Nginx虚拟主机配置

nginx配置基于域名端口IP的虚拟主机

Nginx配置基于多域名端口IP的虚拟主机

Nginx配置——虚拟主机基于IP,域名,端口(实战!)

Nginx的配置文件简介及在Nginx中配置基于不同ip的虚拟主机

Nginx总结基于ip的虚拟主机配置