Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器

部署java项目,并且实现Nginx反向代理Tomcat服务器

  • 安装tomcat
  • 部署java项目
  • 实现Nginx反向代理

安装tomcat

详细安装步骤可以参考我的另一篇文章:
部署TOMCAT及优化.

[root@maomao zhuzhu]# ls
apache-tomcat-8.5.16.tar.gz  bootstrap01 ???.zip  jdk-8u221-linux-x64.tar.gz
[root@maomao zhuzhu]# tar xf apache-tomcat-8.5.16.tar.gz -C /usr/local/
[root@maomao zhuzhu]# tar xf jdk-8u221-linux-x64.tar.gz  -C /usr/local/


[root@maomao local]# mv apache-tomcat-8.5.16 tomcat
[root@maomao local]# mv jdk1.8.0_221 jdk

# 修改环境变量
[root@lnmp local]# vim /etc/profile
# 在最后一行添加
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

[root@maomao local]# source /etc/profile
[root@maomao local]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

打开tomcat 浏览器测试
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第1张图片

部署java项目

上传java项目到服务器

修改java项目的yml文件 修改数据库信息
[root@lnmp resources]# vim application.yml
datasource:
    url: jdbc:mysql://192.168.188.188:3306/manage?characterEncoding=utf-8
    username: root
    password: 123 
    driver-class-name: com.mysql.jdbc.Driver


执行java项目的sql语句
[root@lnmp db]# pwd
/home/java-demo/db

sql语句
/*
MySQL - 5.6.30-log : Database - test
*/
CREATE DATABASE IF NOT EXISTS `manage`  DEFAULT CHARACTER SET utf8 ;
USE `manage`;

CREATE TABLE `user` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(100) NOT NULL COMMENT '名字',
  `age` INT(3) NOT NULL COMMENT '年龄',
  `sex` CHAR(1) DEFAULT NULL COMMENT '性别',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

COMMIT;

# 在sql的目录登录mysql
[root@lnmp db]# mysql -uroot -p
mysql> source tables_ly_tomcat.sql;
Query OK, 1 row affected, 1 warning (0.01 sec)

Database changed
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

line 1

mysql> use manage;
Database changed
mysql> show tables;
+------------------+
| Tables_in_manage |
+------------------+
| user             |
+------------------+
1 row in set (0.00 sec)

打包java项目

# 需要使用maven 
# 首先安装maven
[root@maomao bin]# yum install -y maven

# 进入java项目目录
[root@maomao ~]# cd /home/zhuzhu/java-demo/

# 输入打包命令
[root@maomao java-demo]# mvn clean package -Dmaven.skip.test=True

mvn clean package  -Dmaven.skip.test=True	# 跳过单元测试	

# 打包完成之后 目录里面会多出一个target目录
# 里面就会有打包的war包

将war包传入tomcat下的webapps

# 在tomcat的webapps目录下面新建一个java目录
[root@lnmp webapps]# mkdir java
# 修改tomcat主配置文件
[root@lnmp tomcat]# vim conf/server.xml 
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/usr/local/tomcat/webapps/java"  path="" reloadable="true" />
</Host>


# 将war包移动到tomcat的webapps下面的java目录
[root@lnmp target]# mv ly-simple-tomcat-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/java/

# 最后将war包解压
[root@lnmp java]# unzip ly-simple-tomcat-0.0.1-SNAPSHOT.war

# 目录下会多出两个新文件
[root@lnmp java]# ls
ly-simple-tomcat-0.0.1-SNAPSHOT.war  META-INF  WEB-INF

重启tomcat
打开浏览器测试
项目成功部署
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第2张图片
添加学生 测试mysql是否正常
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第3张图片
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第4张图片
在这里插入图片描述
查看数据库

mysql> select name from manage.user;
+--------+
| name   |
+--------+
| 猫猫   |
+--------+
1 row in set (0.00 sec)

实现Nginx反向代理

具体实现拓扑图就是这样
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第5张图片
在nginx服务器上配置nginx主配置文件

[root@lnmp bin]# vim /usr/local/nginx/conf/nginx.conf
在http下面添加服务池
upstream java {
     
        server 192.168.188.188:8080 weight=1;
        server 192.168.188.158:8080 weight=1;

}

然后在相应server下面的location添加proxy_pass反向代理
location / {
     
            root   html;
            index  index.html index.htm;
            proxy_pass http://java;
        }


  • 轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器
  • proxy_pass即是代理转发,在proxy_pass后面的url写入之前添加的服务池 名字为java

打开浏览器测试,并且查看两个tomcat的日志,来证明反向代理成功
利用域名访问浏览器
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第6张图片
动态查看 tomcat的访问日志

[root@lnmp logs]# tailf /usr/local/tomcat/logs/catalina.out 

188服务器
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第7张图片

158服务器
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第8张图片
刷新页面 两台服务器的日志都更新了 说明反向代理成功

数据也正常
Web服务器群集——部署java项目,并且实现Nginx反向代理Tomcat服务器_第9张图片

你可能感兴趣的:(Web服务器,nginx,tomcat,linux,运维,服务器)