天天看点

Nginx极简入门(三)基于端口的虚拟主机配置

前面讲了如何配置基于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配置文件,查看端口监听状态:

访问

http://192.168.78.132:81
Nginx极简入门(三)基于端口的虚拟主机配置
http://192.168.78.132:82
Nginx极简入门(三)基于端口的虚拟主机配置

我们分别访问81和82端口,Nginx给我们转发到了两个不同的web网站。说明我们通过端口号,在同一个服务器上配置两个web网站成功。

最后

以上,就把nginx 基于ip的配置虚拟主机讲完了。后面会继续讲基于域名配置虚拟主机。

这是系列课程,大家关注我的微信公众号(架构师精进),随时交流。

推荐阅读:

Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量 Nginx极简入门(二)配置基于ip的虚拟主机 Nginx极简入门(一)如何在Linux系统编译安装Nginx服务

继续阅读