前面讲了如何配置基于IP的虚拟主机,今天讲一讲Nginx如何基于端口的虚拟主机。
需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已经说讲过,然后后续就没有在介绍,如果出现有些配置没有讲,大家可能需要去看看前面的文章。
一、应用场景
一个应用服务器上,不可能只部署一个web网站;有可能会部署多个网站,这个时候就需要通过IP+端口来区分到底访问的是服务器上的那个系统。例如:我们在Nginx上提供81和82两个端口监听APP1和APP2。
二、准备环境
1. 创建192.168.78.132虚拟机,保证本地电脑和虚拟网络通畅。
2. 在192.168.78.132上安装nginx。
三、创建Web网站
将原来nginx的html目录拷贝两个目录 html81和html82,为了方便测试需要修改每个目录下的index.html内容使之个性化。
四、配置虚拟主机
修改/usr/local/nginx/conf/nginx.conf文件,添加两个虚拟主机,命令如下:vi /usr/local/nginx/conf/nginx.conf
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #配置虚拟主机 server { #监听的ip和端口,配置80 listen 81; #虚拟主机名称这里配置ip地址 server_name 192.168.101.3; #所有的请求都以/开始,所有的请求都可以匹配此location location / { #使用root指令指定虚拟主机目录即网页存放目录 #比如访问http://ip/test.html将找到/usr/local/html3/test.html #比如访问http://ip/item/test.html将找到/usr/local/html3/item/test.html root /usr/local/nginx/html81; #指定欢迎页面,按从左到右顺序查找 index index.html index.htm; } } #配置虚拟主机 server { listen 82; server_name 192.168.101.3; location / { root /usr/local/nginx/html82; index index.html index.htm; } } }
上面的示例,我们配置了两个虚拟主机,分别监听81和82端口。
五、验证测试
重新加载配置nginx配置文件,查看端口监听状态:
我们分别访问81和82端口,Nginx给我们转发到了两个不同的web网站。说明我们通过端口号,在同一个服务器上配置两个web网站成功。
最后
以上,就把nginx 基于ip的配置虚拟主机讲完了。后面会继续讲基于域名配置虚拟主机。
这是系列课程,大家关注我的微信公众号(架构师精进),随时交流。
推荐阅读:
Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量
Nginx极简入门(一)如何在Linux系统编译安装Nginx服务