博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx介绍(三) - 虚拟主机
阅读量:5066 次
发布时间:2019-06-12

本文共 3069 字,大约阅读时间需要 10 分钟。

前言

  前面提到过, 由nginx来分发请求到tomcat中, 那么怎么来区分这些tomcat呢? 

  我们一般访问网站的时候, 是不是可以使用 ip : port (127.0.0.1:8080)的方式来访问, 或者是 域名 : port (www.baidu.com:80), 只不过这里可以不写端口, 这是由于使用了默认的端口.

  那么在nginx分发的时候, 是不是也可以通过 区分 域名 和 port 的方式来区分使用tomcat呢?

  注: 同一个ip下面, 可以绑定多个域名, 但是一个域名, 只能有一个ip. 如果一个ip上面绑定了多个域名, 假如 127.0.0.1 绑定了 www.hao123.com 和 www.google.com, 那么在访问的时候, 给人的感觉, 是不是好像是我访问了不同的服务器, 并且, 他们都是使用默认80端口访问的.

 

一. 通过端口区分虚拟主机

1. 将nginx/html文件夹拷贝几份

[root@localhost nginx]# cp -r html html-8081[root@localhost nginx]# cp -r html html-8082

接下来, 修改 html-8081, html-8082 下面的index.html文件

在欢迎的地方, 加上了各自的端口显示.

 

2. 修改配置文件

在server节点下面, 继续添加两个server节点, 主要修改其 listen , location.root 这两个地方

server {        listen       8081;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html-8081;            index  index.html index.htm;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }            }        server {        listen       8082;        server_name  localhost;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html-8082;            index  index.html index.htm;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }            }

 

3. 刷新配置

[root@localhost sbin]# ./nginx -s reload

 

4. 查看结果

同一个ip下, 通过不同端口, 确实访问到了不同的页面. 

  

二. 通过域名来区分

 1. 将html再复制几个

[root@localhost nginx]# cp -r html html-hao123[root@localhost nginx]# cp -r html html-google

 

2. 为默认访问的index.html加一个小尾巴

 

3. 修改nginx配置文件 

server {        listen       80;        server_name  www.hao123.com;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html-hao123;            index  index.html index.htm;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }            }        server {        listen       80;        server_name  www.google.com;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            root   html-google;            index  index.html index.htm;        }        #error_page  404              /404.html;        # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }            }

 

4.  刷新配置

[root@localhost sbin]# ./nginx -s reload

 

5. 修改客户端的host文件, 将www.baidu.com , www.google.com 映射进去

 

 

 6. 验证结果

乍一看, 我访问的是 hao123 和 google 啊, 怎么跑到我部署的nginx里面去了呢. 罒ω罒

转载于:https://www.cnblogs.com/elvinle/p/8268112.html

你可能感兴趣的文章
jq 杂
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
作业一
查看>>
AJAX
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>
Git的使用--打tag
查看>>
F# 编程 借助 F# 构建 MVVM 应用程序
查看>>
ACFUN切换代码自用。。。
查看>>
网卡流量检测.py
查看>>
【转】Android的权限permission
查看>>
ajax
查看>>
poj1981 Circle and Points 单位圆覆盖问题
查看>>
POP的Stroke动画
查看>>
线程同步机制初识 【转载】
查看>>
Oracle 游标使用全解
查看>>
SQL语句在查询分析器中可以执行,代码中不能执行
查看>>
yii 1.x 添加 rules 验证url数组
查看>>
html+css 布局篇
查看>>
银行排队问题(详解队列)
查看>>