同一个服务器可能有一个ip,网站需要使用80端口。网站的域名不同。
区分不同的网站有三种方式:
1、ip区分
2、端口区分3、域名区分
方式一、Ip区分虚拟主机
需要一台服务器绑定多个ip地址。
方法一:
使用标准的网络配置工具(比如ifconfig和route命令)添加lP别名:
在eth0网卡再绑定一个ip:192.168.101.100
/sbin/ifconfig eth0:1 192.168.101.100 broadcast 192.168.101.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.101.100 dev eth0:1
方法二:
1、将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1
修改其中内容:
DEVICE=eth0:1
IPADDR=192.168.25.100
其他项不用修改
2、重启系统
经过上面的步骤两个不同的ip地址就有了,接下来,使用nginx来配置基于ip的地址虚拟主机
我的基于ip的虚拟主机配置在nginx中的配置:
server {
listen 80;
server_name 192.168.136.9;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html-9;
index index.html index.htm;
}
}
server {
listen 80;
server_name 192.168.136.90;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html-90;
index index.html index.htm;
}
}
方式二、基于端口的虚拟主机
我的nginx配置文件如下,同一个主机下的不同端口号,81、82:
server {
listen 81;
server_name 192.168.136.90;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html-81;
index index.html index.htm;
}
}
server {
listen 82;
server_name 192.168.136.90;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html-82;
index index.html index.htm;
}
}
方式三、基于域名的虚拟主机
最有用的虚拟主机配置方式。
一个域名只能绑定一个ip地址,一个ip地址可以被多个域名绑定。
可以修改host文件实现域名访问。
修改window的hosts文件:(C:\Windows\System32\drivers\etc) 修改前备份原始的hosts文件
最后修改nginx的配置文件,我的配置文件如下:
server {
listen 80;
server_name www.xiongxianze.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html-www;
index index.html index.htm;
}
}
server {
listen 80;
server_name hehe.xiongxianze.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html-hehe;
index index.html index.htm;
}
}