zoukankan      html  css  js  c++  java
  • nginx配置虚拟主机-端口号区分/域名区分

    Nginx实现虚拟机

    可以实现在同一台服务运行多个网站,而且网站之间互相不干扰。同一个服务器可能有一个ip,网站需要使用80端口。网站的域名不同。

    区分不同的网站有三种方式:ip区分、端口区分、域名区分,显然通过IP区分是不太现实的,这里只验证后两种方式

    1.配置nginx基于端口号的虚拟主机

    1.1 nginx配置文件中添加一个server节点,这里server节点的域名都是localhost,只是端口号不同

    1.2 将 /usr/local/nginx/路径下的html目录复制一份,命名为html81

    修改html目录下的index.html如下:

    hml81目录下的index.html修改如下:

    1.3 重新加载配置文件:

    cd /usr/local/nginx/bin

    ./nginx -s reload 

    然后测试虚拟主机:

    通过浏览器访问80端口的虚拟主机:

    通过浏览器访问81端口的虚拟主机:

    注意:如果81端口访问不通,有可能是被防火墙拦截了!开放81端口即可:

     [root@localhost nginx]# /sbin/iptables -I INPUT -p tcp --dport 81 -j ACCEPT

    [root@localhost nginx]# /etc/rc.d/init.d/iptables save

     2.nginx配置基于域名区分的虚拟主机——最有用的虚拟主机配置方式。

    我们平时访问淘宝时只需要在浏览器地址栏中输入taobao.com便可以访问淘宝首页,这个”taobao.com”便是域名,而且”taobao.com”是一级域名,我们买域名买的便是一级域名,而”www.taobao.com”是二级域名。如果我们想在浏览器地址栏中输入域名访问我们自己的网站的话,可有两个途径,第一个途径是买一个属于自己的域名,访问这个域名需要经过DNS服务器(把域名解析为ip地址,保存的就是域名和ip之间的映射关系),DNS服务器就是为了将访问的域名对应到相应的IP上,所以最终还是通过IP实际访问网站的,如下:

    注意,一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。第二个途径是配置本地的hosts文件,如果hosts文件中有配置域名对应的ip,就不会去请求DNS服务器了,会直接用hosts中配置的ip地址去访问网页。 

    2.1 hosts添加域名映射:在hosts文件中添加如下两个域名来进行测试:

    2.2 修改nginx.conf配置,设置以域名方式区分虚拟主机,设置如下:

    修改server监听的端口号均为80端口;

    第一个server节点的server_name 设置为www.test81.com; location 节点root 值仍然为 html81, 当浏览器输入http://www.test81.com时,应该会访问到 

    /usr/local/nginx/html81路径下的index.html ,同理,第二个server节点只修改server_name为 www.test80.com; 即可(注意结尾的分号不能少)

    修改保存后,重启nginx:

    2.3测试:

    参考资料:https://blog.csdn.net/yerenyuan_pku/article/details/73135376

  • 相关阅读:
    docker node中uid与gid的授权问题
    windows下docker无法进行端口映射的问题
    IOS/Safari下document对象的scrollHeight值比Chrome更大
    Vue/Egg大型项目开发(二)数据库设计
    .babelrc和babel.config.js的相同配置不能合并
    es6 class中责任链模式与AOP结合
    JS设计模式(10)职责链模式(重要)
    Vue/Egg大型项目开发(一)搭建项目
    你不知道的JS(3)来聊聊this
    CentOS7为php7.2安装php-redis扩展(redis环境搭建二)
  • 原文地址:https://www.cnblogs.com/enjoyjava/p/11029501.html
Copyright © 2011-2022 走看看