nginx 的三种虚拟主机配置方法
nginx三种虚拟主机配置的方法.
基于端口
在生产环境中一般使用端口或者域名。
[root@web01 /etc/nginx/conf.d]# cat web01.conf
server {
listen 80;
server_name 10.0.0.7;
location / {
root /code/web01;
index index.html;
}
}
[root@web01 /etc/nginx/conf.d]# cat web02.conf
server {
listen 81;
server_name 10.0.0.7;
location / {
root /code/web02;
index index.html;
}
}
[root@web01 /etc/nginx/conf.d]# cat web03.conf
server {
listen 82;
server_name 10.0.0.7;
location / {
root /code/web03;
index index.html;
}
}
基于域名
[root@web01 /etc/nginx/conf.d]# cat web01.conf
server {
listen 80;
server_name www.web01.com;
location / {
root /code/web01;
index index.html;
}
}
[root@web01 /etc/nginx/conf.d]# cat web02.conf
server {
listen 80;
server_name www.web02.com;
location / {
root /code/web02;
index index.html;
}
}
[root@web01 /etc/nginx/conf.d]# cat web03.conf
server {
listen 80;
server_name www.web03.com;
location / {
root /code/web03;
index index.html;
}
}
基于IP
很少使用,保持域名和端口一样。
就两个解决方案:
- 添加物理网卡
实际上物理端口通常只有4个,当主机上面有10台虚拟站点的时候使用添加物理网卡单独配置IP来实现nginx虚拟主机就不适用了。
- 给一块网卡添加多个ip,虚拟IP
# 1.绑定IP给eth0
[root@web01 /etc/nginx/conf.d]# ifconfig eth0:0 10.0.0.100/24
[root@web01 /etc/nginx/conf.d]# ifconfig eth0:1 10.0.0.101/24
# 2、配置文件
[root@web01 /etc/nginx/conf.d]# cat web01.conf
server {
listen 80;
server_name 10.0.0.7;
location / {
root /code/web01;
index index.html;
}
}
[root@web01 /etc/nginx/conf.d]# cat web02.conf
server {
listen 80;
server_name 10.0.0.100;
location / {
root /code/web02;
index index.html;
}
}
[root@web01 /etc/nginx/conf.d]# cat web03.conf
server {
listen 80;
server_name 10.0.0.101;
location / {
root /code/web03;
index index.html;
}
}