在之前的文章里面已经讲过用VMware workstation创建虚拟机,有兴趣的小伙伴可以前往看一下:
https://mp.csdn.net/mp_blog/creation/editor/new/128980278
一、更改linux配置
安装wget命令,我们可以直接用wget命令来下载需要的资源:
yum install -y wget
根据以下链接,配置centOS镜像,加快linux下载速度:
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.44f31b11Xr8j6w
二、下载JDK并配置环境变量
下载JDK
# 进入根目录
cd /
# 根目录下创建文件夹soft用于存放我们的软件
mkdir soft
#查看当前目录
ll
#进入soft文件夹
cd soft
# 下载JDK wget 下载地址 -O 下载下来后的名称
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
2、解压
# 解压压缩包
tar -zxvf jdk-8u202-linux-x64.tar.gz
3、配置环境变量
#全新的linux系统没有vim命令执行 yum install -y vim 安装vim命令
yum install -y vim
#以下两个步骤都在jdk目录下进行的
# 配置环境变量
1. vim /etc/profile
# 在最后加入下面三句作为环境变量的参数:
export JAVA_HOME=/soft/jdk1.8.0_202
export JRE_HOME=/soft/jdk1.8.0_202/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
2. source /etc/profile
# 查看版本
3. java -version
三、安装Apache Tomcat
下载 apache-tomcat-8.5.82.tar.gz压缩包(http://tomcat.apache.org/)
wget https://repo.huaweicloud.com/apache/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz
2、将压缩包解压到soft文件夹
# 进入soft文件夹
cd soft/
# 解压压缩包
tar -zxvf apache-tomcat-8.5.82.tar.gz
3、修改apache-tomcat-8.5.82名字为tomcat8
mv apache-tomcat-8.5.82/ tomcat8
4、进入tomcat下bin目录 启动Tomcat
cd tomcat/bin
./catalina.sh run
5、浏览器访问并解决防火墙问题
在浏览器使用ip进行访问(端口默认:8080),http://10.70.20.127:8080,可以看到tomcat的管理界面。
10.70.20.127为服务器的ip地址,如果访问不了,有可能是服务器防火墙问题,8080端口被拦截了,于是需要打开8080端口,并保存重启防火墙
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart
6、配置 tomcat Web管理界面帐号密码权限
修改tomcat下的配置文件
vim /soft/tomcat8/conf/tomcat-users.xml
在tomcat-users结束标签之前添加以下代码:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
:wq! 保存退出,重启tomcat
:wq!
cd /soft/tomcat8/bin
./shutdown.sh
./catalina.sh run
四、部署web项目
1、第一种方式 : 直接部署项目到webapps
进入tomcat下的webapps目录,
cd /soft/tomcat8/webapps
把web项目打包出来的war拷贝到webapps目录下
rz 选择上传war压缩包
重启服务,tomcat会自动将war包解压
浏览器访问:http://10.70.20.127:8080/ajax 即可访问到ajax目录下的 index.html/.jsp
2、通过Apache Tomcat管理页面直接部署
关闭防火墙并启动Tomcat
systemctl stop firewalld
cd /soft/apache-tomcat-8.5.82/bin
./catalina.sh run
点击manager App,登录管理页面
选择上传的war文件,然后点击部署
重新启动tomcat
五、配置Nginx并部署多台tomcat
1、安装依赖
1. yum install gcc-c++
2. yum install pcre pcre-devel
3. yum install zlib zlib-delvel
4. yum install openssl openssl-devel
2、下载解压Nginx安装包
# 下载安装包 我下载的是1.20.1版本
wget http://nginx.org/download/nginx-1.20.1.tar.gz
# 解压安装包
tar -xvf nginx-1.20.1.tar.gz
3、安装Nginx
# 移动到下载安装包的位置
cd nginx-1.20.1/
# 执行 执行当前文件夹中的配置configure文件 默认安装在user/local/nginx(如果不确定可以使用 whereis nginx)
./configure
# 执行make
make
# 执行make install
make install
4、启动Nginx
# 移动到/usr/local/nginx/sbin/
cd /usr/local/nginx/sbin/
# 执行 ./nginx 启动nginx(注意关闭防火墙)
./nginx
# 也可以使用这条命令执行启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#重启命令
./nginx -s reload
#测试命令
./nginx -t
5、修改nginx.conf文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
upstream coolxiaoqi{
#ip_hash 绑定ip,实现session共享(可能会导致某个tomcat负载过多)
#ip_hash
server 47.108.222.111:8082;
server 47.108.222.111:8083;
}
server {
listen 80;
server_name localhost;
location / {
root html;
# 设置主页为index.html
index index.html index.htm;
# 代理 指向upstream coolxiaoqi
proxy_pass http://coolxiaoqi;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
6、session共享配置
6.1、方法一:tomcat自身设置(在我的电脑上,多机情况下session无法保存,暂不推荐)
#在tomcat1和tomcat2中进行配置,下面的配置在两个tomcat服务器的server.xml文件中都要进行修改:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="10.70.20.127"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
#在每个tomcat需要共享session的项目的web.xml中添加标签
<distributable/>
6.2、方法二:redis实现session共享
# 1、下载redis(我的redis是安装在了Nginx的虚拟机上)
wget https://repo.huaweicloud.com/redis/redis-6.2.4.tar.gz
# 2、将redis-6.2.4.tar.gz上传至192.168.14.132的/usr/local/路径下
cd /usr/local/
tar -zvxf redis-6.2.4.tar.gz
cd redis-6.2.4/
make
make PREFIX=/usr/local/redis-6.2.4 install
# 3、启动redis
./bin/redis-server& ./redis.conf
# 4.配置
vi /usr/local/redis-6.2.4/redis.conf
# 更改内容 可以在conf文件下使用 /+要查找内容快速查找;
# 也可以在非输入模式insert下输入:set nu 显示行号,然后在下面几行进行操作
259 daemonize no 改成: daemonize yes
75 注释掉bind 127.0.0.1
94 protected-mode yes 改成: protected-mode no
903 取消# requirepass foobared 的注释,并改成requirepass 密码
# 5.设置redis开机启动
/usr/local/redis-6.2.4/bin/redis-cli shutdown #先停止之前启动的redis
vim /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis-6.2.4/bin/redis-server /usr/local/redis-6.2.4/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable redis.service #设置为开机启动
systemctl stop redis.service #停止redis
systemctl start redis.service #启动redis
systemctl status redis.service #查看redis运行状态
# 在tomcat的安装目录的lib下上传三个jar包:
commons-pool2-2.2.jar
jedis-2.5.2.jar
tomcat-redis-session-manager.jar
jar下载地址:
https://pan.baidu.com/s/11YW5lLn6RXO-iYCWqrpbxQ?from=init#list/path=%2Fjar
提取码:ga6n
# 对每一个需要集群的tomcat进行设置
# 进入tomcat的conf文件夹,修改context.xml文件
cd /soft/tomcat-8.5.82/conf
vi context.xml
在Context节点增加:
<Valve className="com.seejoke.tomcat.redissessions.RedisSessionHandlerValve"/>
<Manager className="com.seejoke.tomcat.redissessions.RedisSessionManager"
host="10.70.20.128" <!---虚拟机的IP地址-->
port="6379"
database="0"
password="root"
maxInactiveInterval="60"
/>
完成!!!