Web服务器--Tomcat部署java项目,实现负载均衡和nginx反向代理

一,准备工具

1.四台虚拟机或者两台虚拟机(根据自己情况而定),这里以4台虚拟机作为演示。
2.该项目所需的所有软件包:
链接:[https://pan.baidu.com/s/1yMAgXQAv9Ak0bln8KJiSjw]
提取码:vjhd

四台示列:
在这里插入图片描述

两台示列:
在这里插入图片描述

二,新建一台虚拟机作为数据库,并源码安装mysql

#首先配置一台MySQL服务器:(我们可以采用yum安装也可以采用源码包安装。)这里将比较复杂的源码包安装展示如下:
# 检查系统有没有安装mysql
rpm -qa |grep mysql
rpm -qa |grep mysqld
# 安装cmake依赖
yum install -y ncurses-devel
 
# 安装cmake
#进入/usr/src将安装包传到该文件夹
[root@wangluoyuan usr]# cd /usr/src
tar xf cmake-2.8.6.tar.gz
#进入cmake-2.8.6文件进行配置
./configure
gmake && gmake install

# 创建mysql用户和用户组
groupadd  mysql
useradd -M -s /sbin/nologin mysql -g mysql

# 安装mysql
tar xf mysql-5.6.36.tar.gz
#进入刚刚解压的文件进行配置
cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all 
		#解释
		cmake  
		-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 	# 安装基目录
		-DSYSCONFDIR=/etc 		# 默认配置文件my.cnf路径
		-DDEFAULT_CHARSET=utf8 	# 默认字符集
		-DDEFAULT_COLLATION=utf8_general_ci 	# 默认字符集校验规则
		-DWITH_EXTRA_CHARSETS=all	# 扩展字符集

make && make install
echo $?	0

# 进入/usr/local将mysql安装目录的权限改成mysql:mysql
chown -R mysql:mysql mysql/

# 将模板配置文件复制到/etc/my.cnf并覆盖
cd mysql/support-files/
cp my-default.cnf  /etc/my.cnf
 
# 初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

# 在/usr/local/mysql下将mysql服务添加进系统服务
cd support-files/
cp mysql.server /etc/init.d/mysqld
ls /etc/init.d/mysqld
#把mysql加入到系统服务里
chkconfig --add mysqld
#查看mysql是否加入成功
chkconfig --list mysqld
# 启动mysql
service mysqld start
 
# 检测mysql是否启动成功
netstat -antpl |grep mysqld
ps -aux |grep mysql

# 添加环境变量
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile


source /etc/profile   (刷新文件)

# 设置mysql用户和用户密码
mysqladmin -u root password '123'

# 通过mysql连接mysqld
mysql -uroot -p123

show databases;
#成功!! !

#为了能让其它服务器能够连接mysql我们这里给mysql授权
 grant all on *.* to 'root'@'%' identified by '123456';(授权)
grant all on *.* to 'root'@'localhost' identified by '123456';(授权)
flush privileges;(刷新授权)

三,新建一台虚拟机,作为tomcat1服务器 ,并源码安装Tomcat

jdk是Tomcat运行的必要环境

# 解压
[root@lnmp ~]# tar xf jdk-8u221-linux-x64.tar.gz  -C /usr/local/

# 改名
[root@lnmp local]# mv jdk1.8.0_221 jdk

[root@lnmp local]# java -version
-bash: java: command not found

# 修改环境变量
[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@lnmp local]# source /etc/profile
# 查看jdk版本
[root@lnmp 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
[root@lnmp ~]# tar xf apache-tomcat-8.5.16.tar.gz  -C /usr/local/

[root@lnmp local]# mv apache-tomcat-8.5.16 tomcat

# 进入tomcat  bin目录下开启tomcat
[root@lnmp bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@lnmp bin]# netstat -antpl
# netstat -antpl 查询tomcat是否成功开启(8080端口)
 
缩短启动TOMCAT的时间

[root@lnmp security]# cd /usr/local/jdk/jre/lib/security/

[root@lnmp security]# vim java.security 
# 将这条修改
securerandom.source=file:/dev/random

securerandom.source=file:/dev/urandom

四,在tomcat1服务器上部署java项目(java-demo)

#上传java(java-demo)项目到服务器
 
#修改java项目的yml文件中的IP地址及数据库信息
[root@localhost resources]# vim application.yml 
[root@localhost resources]# pwd
/usr/local/java-demo/src/main/resources
#添加下列代码
url: jdbc:mysql://192.168.148.128:3306/yangyang?characterEncoding=u
tf-8
#执行java项目的sql语句
[root@localhost db]# pwd
/usr/local/java-demo/db
[root@localhost db]# vim tables_ly_tomcat.sql
#修改数据库单位名字(yangyang)
 CREATE DATABASE IF NOT EXISTS `yangyang`  DEFAULT CHARACTER SET utf8 ;
USE `yangyang`;
 #连接数据库服务器执行以下操作
[root@localhost local]# mysql -u root -h 192.168.148.128 -p
MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

MySQL [(none)]> source tables_ly_tomcat.sql;
Query OK, 1 row affected (0.01 sec)

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

Query OK, 0 rows affected (0.00 sec)

MySQL [yangyang]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| yangyang           |
+--------------------+
5 rows in set (0.00 sec)

MySQL [yangyang]> use yangyang
Database changed
MySQL [yangyang]> show tables
    -> ;
+--------------------+
| Tables_in_yangyang |
+--------------------+
| user               |
+--------------------+
1 row in set (0.00 sec)

MySQL [yangyang]> Ctrl-C -- exit!
Aborted
#进入java-demo查看
 
#如果有target说明以前已经打包过该java项目,将其删除
[root@localhost java-demo]# rm -rf target/
 
打包java项目
# 需要使用maven 首先安装maven 
# yum install -y maven
#在Jav-demo目录
#将其打包
#打包命令:mvn clean package -Dmaven.skip.test=True  #跳过测试
 
# 打包完成之后 目录里面会多出一个target目录 
 
# 里面就会有打包的war包
 
#将war包传送到/usr/local/tomcat/webapps/java/目录下:
[root@localhost target]# mv ly-simple-tomcat-0.0.1-SNAPSHOT.war 
/usr/local/tomcat/webapps/java/
 
#解压该压缩包:
[root@localhost java]# unzip ly-simple-tomcat-0.0.1-SNAPSHOT.war
 
#ls查看该文件
 
#进入tomcat主配置文件添加这一行:
[root@localhost conf]# pwd
/usr/local/tomcat/conf
[root@localhost conf]# vim server.xml 
         <Context docBase="/usr/local/tomcat/webapps/java"  path="" reloadable="true" />
</Host>
 
#重启tomcat
[root@localhost bin]# ./shutdown.sh
 
[root@localhost bin]# ./startup.sh
 
#查看8080端口:
[root@localhost tomcat]# netstat -antpl

#打开打开浏览器进行测试:
在这里插入图片描述
#这里已经表明java项目部署成功。为了实现负载均衡我们将在建一台虚拟机安装tomcat服务器。

五,新建一台虚拟机,作为tomcat2服务器,并实现负载均衡

#安装过程可以参照上面。
#在/usr/local/tomcat/webapps下创建一个java目录
[root@localhost webapps]# mkdir java
#回到之前部署过java-demo项目的服务器里,将打包的war文件传送到新建虚拟机上
[root@localhost java]# scp ly-simple-tomcat-0.0.1-SNAPSHOT.war 192.168.
148.129:/usr/local/tomcat/webapps/java/
 
#进入新的tomcat服务器上
#解压刚刚传送过来的war压缩包
[root@localhost java]# unzip ly-simple-tomcat-0.0.1-SNAPSHOT.war
 
#进入tomcat主配置文件添加一行代码
[root@localhost conf]# pwd
/usr/local/tomcat/conf
[root@localhost conf]# vim server.xml
#添加代码
<Context docBase="/usr/local/tomcat/webapps/java"  path="" reloadable="true" />
 
#重启tomcat
[root@localhost bin]# ./shutdown.sh
[root@localhost bin]# ./startup.sh
#查看是否存在8080端口
[root@localhost bin]# ss -lnt

#打开浏览器进行查看
在这里插入图片描述

#到这里说明tomcat2服务器部署成功!

六,新建一台虚拟机,nginx服务器做反向代理。

#源码安装nginx:
#Nginx安装文件可以从官方网站下载http://www.nginx.org/下载:
#下载依赖包:
[root@localhost nginx-1.14.2]# yum -y install pcre-devel zlib-devel
#为nginx创建运行用户和组:
[root@localhost nginx-1.14.2]# useradd -M -s /sbin/nologin nginx
#解压nginx官网下载的文件:
[root@localhost local]# tar zxf nginx-1.14.2.tar.gz  (-C  接路径)
#进入解压的文件:
[root@localhost local]# cd nginx-1.14.2
#配置:
[root@localhost nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
#编译并安装:
[root@localhost nginx-1.14.2]#make && make install
#为了nginx服务器运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx”命令就可以调用nginx主程序。
[root@localhost nginx-1.14.2]#ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
[root@localhost local]# ls -l /usr/local/sbin/nginx
 
#检查nginx配置文件语法是否错误:
[root@localhost nginx-1.14.2]# nginx -t
#进入nginx下修改主配置文件
[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf
#在http下面添加服务池
upstream java {
            server 192.168.229.14:8080 weight=1;
            server 192.168.229.15:8080 weight=1;
}
 
#然后在相应server下面的location添加proxy_pass反向代理
  location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://java;
 
#重启nginx
Nginx -s stop #关闭nginx
Nginx   #开启nginx
Nginx -t  #检查语法

#打开浏览器输入nginx服务器的ip地址查看
在这里插入图片描述

#登陆两台tomcat服务器查看动态(每次浏览器页面刷新都会产生日志)
#tomcat1:
[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf
[root@localhost nginx]# cd /usr/local/tomcat/logs/
[root@localhost logs]# ls
[root@localhost logs]# tailf catalina.out
#tomcat2:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值