您的位置:首页 > 运维架构 > Nginx

Nginx实现虚拟主机

2020-06-29 04:26 901 查看

前言

Nginx实现虚拟主机主要有两种方式,基于域名的虚拟主机和基于端口的虚拟主机。

1.基于域名的虚拟主机配置

两个域名指向同一台Nginx服务器,用户访问不同的域名显示不同的网页类容。我设置的两个域名是a.com和b.com,Nginx使用的虚拟机是192.168.2.10。

1.1修改hosts文件

配置a.com、b.com和虚拟机192.168.2.10的映射关系,修改Windows下的hosts配置文件(文件位置:C:\Windows\System32\drivers\etc)。

1.2创建访问成功页面

在Linux中Nginx安装目录下创建两个欢迎页面,首先创建两个目录。

[code]mkdir -p /usr/local/nginx/a_html
[code]mkdir -p /usr/local/nginx/b_html

/usr/local/nginx/a_html为a.com域名访问的目录;/usr/local/nginx/b_html为b.com访问的目录。目录中的内容使用Nginx自带的html文件,将/usr/local/nginx/html中的类容分别拷贝到上面两个目录中,并将a_html中index.html的<h1>标签体中的内容改为:Welcome to a nginx!;将b_html中index.html的<h1>标签体中的内容改为:Welcome to b nginx!。

1.3配置虚拟主机

修改/usr/local/nginx/conf/nginx.conf文件,配置两个虚拟主机a.com和b.com,就是在配置文件中添加两个server结点。配置文件中有一个默认的server结点,新添加的结点放到默认server结点同一层级。

[code]server {
listen 80;
#访问路径
server_name a.com;
location / {
#转发目的地
root /usr/local/nginx/b_html;
index index.html index.htm;
}
}
server {
listen 80;
server_name b.com;
location / {
root /usr/local/nginx/b_html;
index index.html index.htm;
}
}

1.4测试

配置文件修改后需要重启Nginx才会生效。

访问a.com         页面显示Welcome to a nginx!

访问b.com          页面显示Welcome to b nginx!

2.基于端口的虚拟主机

Nginx对外提供8081和8082两个端口监听服务,请求8081端口访问上文中创建的/usr/local/nginx/a_html目录下的index.html;请求8082端口则访问上文中创建的/usr/local/nginx/b_html目录下的index.html

2.1配置虚拟主机

修改/usr/local/nginx/conf/nginx.conf文件,再添加两个server结点。

[code]server {
listen       8081;
server_name  192.168.2.10;

location / {
root   /usr/local/nginx/a_html;
index  index.html index.htm;
}

}
server {
listen       8082;
server_name  192.168.2.10;

location / {
root   /usr/local/nginx/b_html;
index  index.html index.htm;
}

}

2.2测试

一样也要重启Nginx,配置文件才会生效,访问http://192.168.2.10:8080服务器将/usr/local/nginx/a_html/index.html响应给客户端,访问http://192.168.2.10:8081服务器将/usr/local/nginx/b_html/index.html响应给客户端。

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: