Nginx+tomcat实现反向代理(内附源码包)

需求描述

通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构。
Nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。

工作原理

反向代理是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

实验环境

  • 系统环境:CentOS7.4
  • Nginx反向代理服务器IP地址:192.168.100.71
  • Tomcat01服务器IP地址:192.168.100.72
  • Tomcat02服务器IP地址:192.168.100.73
  • yum挂载目录:/mnt/sr0
  • 相关源码包下载地址:百度云下载 ??密码:uhzm

搭建步骤

一、准备工作

1、关闭防火墙及selinux

[[email protected] ~]# systemctl stop firewalld.service #关闭防火墙
[[email protected] ~]# systemctl disable firewalld.service #随开机自动关闭

[[email protected] ~]# vim /etc/sysconfig/selinux

[[email protected] ~]# reboot #重启Linux生效

二、Tomcat01主机搭建服务

1、安装C语言编译器

[[email protected] ~]# yum -y install gcc gcc-c++

2、安装jdk

[[email protected] ~]# tar xvfz jdk-8u91-linux-x64.tar.gz #解压jdk
[[email protected] ~]# mv jdk1.8.0_91/ /usr/local/java
[[email protected] ~]# vim /etc/profile #修改系统环境变量配置文件

末尾添加以下四行:

JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

[[email protected] ~]# source /etc/profile #配置文件重新生效

3、查看Java版本

[[email protected] ~]# java -version

4、安装Tomcat

[[email protected] ~]# tar xvfz apache-tomcat-8.5.16.tar.gz #解压tomcat
[[email protected] ~]# mv apache-tomcat-8.5.16/ /usr/local/tomcat8

5、启动、停止服务

[[email protected] ~]# /usr/local/tomcat8/bin/startup.sh #启动服务
[[email protected] ~]# netstat -anpt | grep ":8080"

[[email protected] ~]# /usr/local/tomcat8/bin/shutdown.sh #停止服务

6、编辑默认首页

[[email protected] ~]# mkdir -pv /web/webapp1 #创建站点目录
[[email protected] ~]# vim /web/webapp1/index.jsp #编辑默认首页

7、修改主配置文件

[[email protected] ~]# cd /usr/local/tomcat8/conf/ #进入配置文件目录下
[[email protected] conf]# vim server.xml #编辑主配置文件

8、访问页面

二、Tomcat02主机搭建服务

安装配置可以参照01主机配置,略……

1、编辑默认首页

2、访问首页

三、搭建Nginx反向代理服务

1、安装相关工具包

[[email protected]_1 ~]# yum -y install gcc gcc-c++
[[email protected]_1 ~]# yum -y install pcre-devel zlib-devel openssl openssl-devel

2、创建Nginx进程用户

[[email protected]_1 ~]# useradd -M -s /sbin/nologin nginx

3、安装Nginx

[[email protected]_1 ~]# tar xvfz nginx-1.6.0.tar.gz #解压
[[email protected]_1 ~]# cd nginx-1.6.0
[[email protected]_1 nginx-1.6.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-file-aio \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module \
--with-http_ssl_module #配置
[[email protected]_1 nginx-1.6.0]# make && make install #编译及编译安装

4、优化路径

[[email protected] ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

5、修改主配置文件

[[email protected] ~]# cd /usr/local/nginx/conf/
[[email protected] conf]# vim nginx.conf

四、测试负载均衡效果

原文地址:http://blog.51cto.com/11905606/2163570

时间: 2024-08-14 03:36:30

Nginx+tomcat实现反向代理(内附源码包)的相关文章

Nginx + Tomcat 负载均衡群集 【内附源码包】

前言: 1·在之前都学习 Linux 的一些服务和搭建,都很熟悉 !这篇文章主要讲Nginx.Tomcat与 Nginx + Tomcat 负载均衡群集.2·在各种网站服务器软件中,除了 Apache HTTP Server 外,还有一款轻量级的 HTTP 服务器软件--Nginx,它是由俄罗斯 Lgor Sysoev(伊戈尔·赛索耶夫)开发. Nginx 的优点: 1·稳定性2·系统资源消耗低3·高并发链接的处理能力 (30000~50000 个并发请求),核心优点!4·反向代理服务器5·安装

详解CentOS7.4搭建Tomcat构建Java Web站点(内附源码包)

Java简介 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论.Java具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等特点.Java可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等. Tomcat简介 Tomcat是Apache软件基金会的Jakarta项目中的一

详解postfix邮箱服务器安装、配置及其工作原理(内附源码包)

简介 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试.在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件.这真是一个让人吃惊的数字.Postfix试图更快.更容易管理.更安全,同时还与sendmail保持足够的兼容性. 工作原理 客户端通过Outlook软件,向邮件

源码手工编译LNMP架构(内附源码包)

简介 LNMP指的是一个基于CentOS/Debian编写的Nginx.PHP.MySQL.phpMyAdmin.eAccelerator一键安装包.可以在VPS.独立主机上轻松的安装LNMP生产环境.LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等:Nginx是一个高性能的HTTP和反向代理服务器,也是

手把手教你部署WEB邮件系统Squirrelmail小松鼠(内附源码包)

简介 Web邮件系统指的是提供给用户发信.收信的网页操作界面,能够完成和MUA软件类似的邮件管理.通讯簿等附加功能,同时Web邮件系统依赖于已有的收信.发信服务器,但不需要用户预先配置邮箱属性,因此使用更加方便,在Internet中应用十分广泛.而SquirrelMail是使用PHP开发的一套网页程序可以与 Postfix. Dovecot很好地协作,通过Web界面提供邮件发送.接收和管理操作. 实验环境 系统环境:centos6.5 LinuxIP地址:192.168.1.77(Linux)

Apach实现创建虚拟目录以及用户访问控制(内附源码包)

简介 基于用户的访问控制就是对网页目录进行认证配置,用户输入用户名密码之后才能访问网页 认证方式 httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式Digest:使用摘要认证需要在编译httpd之前添加"--enable-auth-digest"选项,但并不是所有的浏览器都支持摘要认证;Basic:基本认证是htpd服务的基本功能,不需要预先配置特别的选项(安全性没有摘要认证高,支持所有的浏览器) 认证与授权 基于用户的访问控制包含认证(Authentic

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

简介 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注.从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决

CetOS7.4手工编译安装mysql-5.7.17(内附源码包)

简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的关系数据库管理系统应用软件.MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小.速度快.总体拥有成

史上最详细Oracle 12c搭建过程(内附源码包)

简介 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.它是一种高效率.可靠性好的适应高吞吐量的数据库解决方案. 优点 可用性强可扩展性强数据安全性强稳定性强 操作系统要求 物理内存不少于4Gswap交换分区不少于8G磁盘空间不少于30G挂载分区文件类型为x