CentOS 7.3 部署Tomcat + nginx 负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7.3 部署Tomcat + nginx 负载均衡相关的知识,希望对你有一定的参考价值。

实施准备

技术分享图片

关闭防火墙,安全性增强功能
准备要有三台 centos
其中两个centos 上搭建 tomcat8
另一台上搭建nginx 还以一台Windows 来进行访问
systemctl stop iptables
systemctl stop firewalld
JDK:jdk1.8.0_171-amd64
Tomcat:apache-tomcat-8.5.31.tar.gz
在安装Tomcat 之前要安装JDK。JDK是 Sum 公司免费提供的软件开发语言 在平台兼容性方面,JDK 作为解释字码文件根据此调用操作系统,API 实现对应的功能的JAVA 虚拟机,与操作系统类型和平台位数密切相关,因此存在不同类型的版本,而Tomcat 也具有上述特征。

共享挂在解压

tar xzvh jdk-8u91-linux-x64.tar.gz -C /opt/安装java 编译器
mv jdk1.7.0_65/ /usr/local/java
vim /etc/profile.d/java.sh //建立Java.sh 脚本内如下
export JAVA_HOME=/usr/local/java          //设置Java根目录//
export PATH=$PATH:$JAVA_HOME/bin          //在PATH环境变量中添加Java根目录下的bin/子目录// 
source java.sh             //java.sh脚本导入到环境变量,使其生效//
java -version //查看版本 
[[email protected] bin]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
此时java环境已经配置完成
java ---> class (可执行文件)
javac 进行编译
java 文件名 直接运行

解压tar xzvf apache-tomcat-8.5.31.tar.gz -C /opt/

解压后生成的tomcat-8.5.31文件夹,将该文件夹移动到/usr/local/下把并改名为tomcat8
mv apache-tomcat-8.5.31/ /usr/local/tomcat8
启动Tomcat
/usr/local/tomcat8/bin/startup.sh //启动脚本
/usr/local/tomcat8/bin/shutdown.sh //关闭脚本
[[email protected] bin]# netstat -anpt | grep 8080 //显示8080端口开起来了 就可以访问
tcp6       0      0 :::8080                 :::*                    LISTEN      8707/java 
Tomcat 的主目录为/usr/local/tomcat8
[[email protected] tomcat8]# ll
bin  //存放windows 或linux平台上启动和关闭Tomcat 脚本
conf //存放Tomcat服务器各种全局配置文件,其中最中要的是server.xml和web.xml
lib//存放Tomcat 允许需要的库文件(JARS)
logs//存放Tomcat执行时LOG文件
webapps //Tomcat的只要Web发布目录(包括应采用程序示列)
work//存放jsp 编译后产生的class 文件

配置文件说明

[[email protected] conf]# pwd
/usr/local/tomcat8/conf
[[email protected] conf]# ll
catalina.policy //权限控制配置
catalina.properties //Tomcat 属性配置文件
context.xml  //上下文配置文件
logging.properties //日志log 相关配置文件
server.xml //主配置文件
tomcat-users.xml //manager-gui 管理用户配置文件(Tomcat 安装后提供一个manager-gui的管理页面。通过配置该文件可以开启访问)
web.xml // tomcat 的servlet ,servlet-mappnig,filter MIME 等相关配置 

Tomcat 主配置文件说明

server.xml 为Tomcat 的主配置文件,通过配置该文件,可以修改Tomcat的启动端口,网站目录,虚拟主机,开启https的重要功能
<?xml version="1.0" encoding="UTF-8"?>
//省略······
<Server port="8005" shutdown="SHUTDOWN">
//Tomcat 关闭端口,默认只对本机地址开放,可以通过本机访问telnet 127.0.0.1 8005 访问该端口,对Tomcat 进行关闭操作
//省略·····
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
//Tomcat 启动的默认端口为8080 可以更具需要修改
//省略······
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 
//tomcat 启动AJP1.3 链接时默认的端口号,课以根据需求进行修改
//·····省略···
//已下为Tomcat 定义虚拟主机的配置及日志配置
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        //下面是添加的 测试页面
        <Context docBase="web/webapp1/" path="" reloadable="false">
        </Context>
        //docBase:web 应用的文档基准目录
        //reloadable 设置监视“类”是否变化
        //path""设置默认“类”

Tomcat Server 的组成部分说明

1)server 元素代表了整个 Catalina 的servlet 容器
2)service 是这样一个集合:它由一个过着多个Connector 组成,以及一个Engine,负责处理所有Conector所获得的客户请求。
3)Connector 有一个Connector 在莫个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine 处获得回应并且返回客户。
TOmcat 有两个经典的Connector,一个人侦听赖在browser 的http 请求 一个侦听来自其他WebServer 的请求
coyote htpp /1.1 connector 在端口8080 处侦听赖在browser的http 请求
coyote JK2 Connector 在端口8009 处侦听来自其他WebServer (Apache)的servlet/jsp代理请求
4)engine 下可以配置多个虚拟机 每个虚拟主机都有一个域名
当engine 获得一个请求时 它把该请求匹配到莫个host 上
5)host代表一个虚拟主机每一个虚拟主机和某个网络域名相匹配
6)context 一个Context 对应一个Web Application 由一个或者多个Servlet 组成

建立JAVA 的 web 站点

mkdir -pv /web/webapp1/
vim /web/webappl/index.jsp
<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%>
<html>
 <head>
   <title>JSP testl page</tile>
 </head>
 <body>
<%out.println("Welcome to test site,http://www.testl.com");%>    //方便识别
</body>
</html>
修改Tomcat 的 server.xml 
vim conf/server.xml 主配置文件

关闭Tomcat 在重新启动

/usr/local/tomcat8/bin/shutdown.sh //关闭脚本
/usr/local/tomcat8/bin/startup.sh //启动脚本

通过浏览器就可以访问了
技术分享图片
技术分享图片
技术分享图片

nginx 设置
[其他的设置都一样](http://blog.51cto.com/13660858/2129990)
useradd  -s /bin/false www //创建用户组并管理
./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module 
vim /usr/local/nginx/conf/nginx.conf 修改nginx 主配置文件
http {
    include       mime.types;
    default_type  application/octet-stream;
···省略
#gzip  on;
        upstream tomcat_server {
              server 192.168.204.182:8080 weight=1; //添加tomcat 
              server 192.168.204.129:8080 weight=1;//添加tomcat 
            }
···省略
 location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server; //添加
        }

保存退出 重启服务·OK
关闭防火墙···
技术分享图片
技术分享图片

以上是关于CentOS 7.3 部署Tomcat + nginx 负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7.3 安装MySQL--Java--Tomcat

centos 7.3 配置Tomcat并搭建zrlog-blog网站

Centos 7.3 Tomcat 8.0.36 JDK8u91 启动卡住半天才能正常启动解决方案

云计算 | CentOS 7.3管理及服务部署实战

CentOS 7.3 部署LVS 集群

CentOS 7.3(1611) 环境下详细部署安装分布式存储系统Ceph