前面讲了如何配置基于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
访问
http://192.168.78.132:82
我们分别访问81和82端口,Nginx给我们转发到了两个不同的web网站。说明我们通过端口号,在同一个服务器上配置两个web网站成功。
最后
以上,就把nginx 基于ip的配置虚拟主机讲完了。后面会继续讲基于域名配置虚拟主机。
这是系列课程,大家关注我的微信公众号(
架构师精进
),随时交流。
推荐阅读:
Nginx极简实战—Nginx服务器高性能优化配置,轻松实现10万并发访问量
Nginx极简入门(二)配置基于ip的虚拟主机
Nginx极简入门(一)如何在Linux系统编译安装Nginx服务
新建完文件后就可以开启容器了,开启后应该就正常了,访问你的服务器ip(默认就是80端口,应该就可以正常访问nginx) 然后在刚刚的主机目录/home/wwwroot/下新建一个目录default (因为在nginx里设置的默认目录,可以自己修改) 然后新建test.php 写入php代码测试运行。