配置虚拟主机—基于域名的虚拟主机配置、Nginx反向代理、Nginx实现负载均衡笔记

 

1、配置虚拟主机—基于域名的虚拟主机配置

1.1 需求

两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。

两个域名是aaa.test.com和bbb.test.com

nginx服务器使用虚拟机192.168.101.3 

 

1.2 准备环境

创建192.168.101.3虚拟机,保证本地电脑和虚拟网络通畅。

在192.168.101.3上安装nginx。

 

通过host文件指定aaa.test.com和bbb.test.com对应192.168.101.3虚拟机:

修改window的hosts文件:(C:\Windows\System32\drivers\etc)

 

html目录创建

在192.168.101.3上创建/usr/local/aaa_html,此目录为aaa.test.com域名访问的目录

在192.168.101.3上创建/usr/local/bbb_html,此目录为bbb.test.com域名访问的目录

 

目录中的内容使用nginx自带的html文件,将/usr/local/nginx/html中的内容拷贝分别拷贝到上边两个目录中,并且将aaa_html目录中的index.html内容改为:“Welcome to aaa nginx!”

将bbb_html目录中的index.html内容改为“Welcome to bbb nginx!”

 

1.3 配置虚拟主机

修改 /usr/local/nginx/conf/nginx.conf文件,添加两个虚拟主机,如下:

##########################################
# 自定义 多个域名绑定一个IP

#配置虚拟主机bbb.test.com
    server {
        listen 192.168.101.3:80;
        server_name aaa.test.com;
        location / {
                root /usr/local/bbb_html;
                index index.html index.htm;
        }
    }

#配置虚拟主机bbb.test.com
    server {
        listen 192.168.101.3:80;
        server_name bbb.test.com;
        location / {
                root /usr/local/bbb_html;
                index index.html index.htm;
        }
    }

##########################################

解析上面代码

#配置虚拟主机aaa.test.com 

server {

        #监听的ip和端口,配置本机ip和端口

        listen 192.168.101.3:80;

        #虚拟主机名称是aaa.test.com,请求域名aaa.test.com的url将由此server配置解析

        server_name aaa.test.com;  

        #所有的请求都以/开始,所有的请求都可以匹配此location

        location / {
        
                #使用root指令指定虚拟主机目录即网页存放目录

                #比如访问http://ip/test.html将找到/usr/local/aaa_html/test.html

                #比如访问http://ip/item/test.html将找到/usr/local/aaa_html/item/test.html

                root /usr/local/aaa_html;

                #指定欢迎页面,按从左到右顺序查找

                index index.html index.htm;

        }

    }

 

1.4 测试

访问aaa.test.com、bbb.test.com

 

 


2、nginx+tomcat反向代理

 

两个tomcat服务通过nginx反向代理,本例子使用三台虚拟机进行测试,

nginx服务器:192.168.101.3

tomcat1服务器:192.168.101.5

tomcat2服务器:192.168.101.6

 

2.1 启动tomcat

tomcat使用apache-tomcat-7.0.57版本,在192.168.101.5和192.168.101.6虚拟机上启动tomcat。

 

2.2 nginx反向代理配置

根据上边的需求在nginx服务器的 conf目录下的nginx.conf文件中配置反向代理,如下:

#配置一个代理即tomcat1服务器
    upstream tomcat_server1 {
            server 192.168.101.5:8080;
        }
#配置一个代理即tomcat2服务器
    upstream tomcat_server2 {
            server 192.168.101.6:8080;
        }

#配置虚拟主机 
    server {
        listen 80;
        server_name aaa.test.com;
        location / {
				#域名aaa.test.com的请求全部转发到tomcat_server1即tomcat1服务上
                proxy_pass http://tomcat_server1;

				#欢迎页面,按照从左到右的顺序查找页面
                index index.jsp index.html index.htm;
        }

    }

    server {
        listen 80;
        server_name bbb.test.com;

        location / {
				 #域名bbb.test.com的请求全部转发到tomcat_server2即tomcat2服务上
                  proxy_pass http://tomcat_server2;

                 #欢迎页面,按照从左到右的顺序查找页面
                  index index.jsp index.html index.htm;
        }
    }

 

2.3 测试

分别修改两个tomcat下的webapps/ROOT/index.jsp的内容,使用tomcat1和tomcat2两个服务首页显示不同的内容,如下:

(方便区分而已)

 

分别访问aaa.test.com、bbb.test.com测试反向代理。

 

请求访问aaa.test.com通过nginx代理访问tomcat1,请求访问bbb.test.com通过nginx代理访问tomcat2。

 

 


3、nginx实现负载均衡

 

 

只需要在反向代理的nginx.conf文件中配置负载均衡即可

案例:

 

 

补充:

 

负载均衡搭建结束 通过域名访问即可发现,nginx会自动给我们分配要访问哪一个服务器。

 

 

 

 

注意:

nginx负载均衡高可用 

如果nginx服务器宕机呢 那么整个系统 就没用了, 此时就需要一个nginx的备用机

 

使用keepalived+nginx实现主备

 此处暂时不涉及 用的时候查一下

 

 

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 狂神在他的教程中提到了Java配套笔记Nginx精讲。Java配套笔记是他为学习Java编程语言的学生准备的一套学习资料。这些笔记涵盖了Java的基础知识,包括语法、数据类型、运算符、流程控制等。此外,它还介绍了Java的面向对象编程概念,如类、对象、继承、多态等。这些笔记不仅提供理论知识,还包含了大量的实例和练习题,旨在帮助学生巩固所学的内容。 Nginx精讲是狂神为想要深入学习Nginx的人准备的教程。Nginx是一个高性能的Web服务器和反向代理服务器,广泛用于构建高并发、高可靠性的网络应用。在这个教程中,狂神详细介绍了Nginx的基本原理和使用方法。他解释了Nginx配置文件结构和语法,以及如何使用Nginx处理静态资源、代理请求、负载均衡等常见任务。此外,他还分享了一些优化技巧和实战经验,帮助读者更好地理解和应用Nginx。 狂神的Java配套笔记Nginx精讲都是他多年的学习和实践经验的总结。这些教程旨在帮助初学者更快地入门和掌握Java编程和Nginx的使用。他的讲解通俗易懂,配有大量的实例和练习,可以帮助读者更好地理解和应用所学的知识。无论是Java初学者还是想要深入学习Nginx的人,这些教程都是很有价值的学习资料。 ### 回答2: 狂神所说的「java配套笔记 nginx精讲」指的是一套关于Java和Nginx的学习笔记和教程。 首先,Java是一种跨平台的编程语言,广泛应用于开发各种类型的应用程序。学习Java需要理解其基本语法、面向对象编程、多线程、异常处理等方面的知识,并且熟练运用Java的核心类库和开发工具。Java配套笔记可以提供一些实践案例和相关的学习资料,帮助学习者逐步掌握Java的编程技巧和应用开发。 而Nginx是一款高性能的Web服务器和反向代理服务器软件,常用于构建高性能、可靠且可扩展的Web应用架构。学习Nginx需要了解其基本原理、配置文件的编写、常用模块的使用等方面的知识。Nginx精讲的内容可能包括Nginx的安装与配置、HTTP服务器配置负载均衡、缓存、反向代理等相关技术。通过学习Nginx的使用,可以提高Web应用的性能和稳定性。 由于字数有限,无法详细阐述上述两方面内容的具体细节。总而言之,「java配套笔记 nginx精讲」提供了Java和Nginx学习的学习资料和教程,帮助学习者系统地学习和掌握Java编程和Nginx服务器的使用。学习者可以通过这些学习材料和实践案例,逐步提升自己的技术水平,并应用到实际的项目开发中。 ### 回答3: 狂神说Java配套笔记是一份针对Java开发学习者的学习指南,其中包含了Java语言的基础知识、常用的开发工具和框架、常见问题的解答等内容。这份笔记的编写者是狂神,他是一位在Java开发领域有丰富经验的专家,因此这份配套笔记具有很高的可信度和实用性。 在狂神说Java配套笔记中,作者通过详细的讲解和实例演示,帮助读者了解Java语言的基本语法和特性,包括变量、数组、流程控制、面向对象编程等。同时,笔记中还介绍了常用的开发工具,如Eclipse和IntelliJ IDEA,以及流行的框架,如Spring和MyBatis,帮助读者快速入门并掌握实际应用。 而关于Nginx的精讲,狂神也在这份配套笔记中有所涉及。Nginx是一种高性能的HTTP和反向代理服务器,常用于负载均衡反向代理、静态文件服务等场景。笔记中介绍了Nginx的基本原理和使用方法,包括配置文件的编写、常见的配置示例和调优技巧等。读者可以通过学习这部分内容,更好地理解Nginx的工作原理,并能在实际项目中灵活应用。 总结来说,狂神说Java配套笔记是一份综合的学习资料,帮助Java开发者系统学习Java语言和相关工具,同时也包含了Nginx的精讲,帮助读者了解和应用这一常用的服务器软件。这份笔记的内容详实、实用,并且由经验丰富的专家亲自编写,因此对于想要学习Java开发和深入了解Nginx的人来说,是一份不可多得的学习资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ark方舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值