Ubuntu 反向代理/负载均衡 centos7/8 tomcat服务更改

关闭防火墙、关闭selinux

systemctl stop firewalld

setenforce 0

安装基础依赖

yum install -y wget tar unzip net-tools

安装OpenJDK 8

查看 yum 里有哪些 JDK 版本

yum search java | grep -i jdk

安装

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

java -version

javac -version

配置环境变量

echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile echo 'export PATH=JAVA_HOME/bin:PATH' >> /etc/profile source /etc/profile

echo $JAVA_HOME

安装tomcat9(必须9.0以上的版本不然后续可能不兼容)

cd /usr/local

下载Tomcat9

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz

解压

tar -zxvf apache-tomcat-9.0.85.tar.gz

重命名

mv apache-tomcat-9.0.85 tomcat9

创建Tomcat系统服务文件

vi /usr/lib/systemd/system/tomcat.service

Unit

Description=Tomcat9
After=network.target

Service

Type=forking

JDK路径(与第二步一致)

Environment="JAVA_HOME=/usr/local/jdk8"

Tomcat路径

Environment="CATALINA_HOME=/usr/local/tomcat9"
ExecStart=/usr/local/tomcat9/bin/startup.sh
ExecReload=/usr/local/tomcat9/bin/shutdown.sh && /usr/local/tomcat9/bin/startup.sh
ExecStop=/usr/local/tomcat9/bin/shutdown.sh
PrivateTmp=true

Install

WantedBy=multi-user.target

启动 Tomcat & 设置开机自启

重新加载服务配置

启动Tomcat

systemctl start tomcat

设置开机自启

systemctl enable tomcat

看Tomcat状态(active (running) 即成功)

systemctl status tomcat

验证端口(8080端口监听即成功)

netstat -lntp | grep 8080

Maven 编译打包

cd /opt

上传需要的源码目录压缩包

java-demo.tar.gz

解压

tar -zxvf java-demo.tar.gz

打包

mvn clean package -Dmaven.test.skip=true

查找服务配置路径

find / -name "webapps" -type d 2>/dev/null

将打包好的war文件复制过去并改名ROOT.war

cp target/ly-simple-tomcat-0.0.1-SNAPSHOT.war /usr/local/tomcat9/webapps/ROOT.war

删除默认配置

rm -rf ROOT

重启tomcat9 它会自动解压 (有些情况需要自己手动解压)

去网页验证

CENTOS8安装tomcat 配置java服务

删除原有源

rm -rf /etc/yum.repos.d/*

手动添加源

cd /etc/yum.repos.d/

cat > Rocky-BaseOS.repo << EOF

baseos

name=Rocky Linux 9 - BaseOS

mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=\\$basearch\&repo=BaseOS-\\$releasever

baseurl=http://dl.rockylinux.org/pub/rocky/9/BaseOS/\\$basearch/os/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

EOF

cat > Rocky-AppStream.repo << EOF

appstream

name=Rocky Linux 9 - AppStream

mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=\\$basearch\&repo=AppStream-\\$releasever

baseurl=http://dl.rockylinux.org/pub/rocky/9/AppStream/\\$basearch/os/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

EOF

cat > Rocky-Extras.repo << EOF

extras

name=Rocky Linux 9 - Extras

mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=\\$basearch\&repo=extras-\\$releasever

baseurl=http://dl.rockylinux.org/pub/rocky/9/extras/\\$basearch/os/

gpgcheck=1

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

EOF

给权限防止报错

chmod 644 /etc/yum.repos.d/*.repo

清理缓存/重建

yum clean all

yum makecache

测试

yum install -y wget

安装jdk

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

查看版本

查看JDK安装路径

echo $JAVA_HOME

手动配置

cat >> /etc/profile << EOF export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=JAVA_HOME/bin:PATH EOF

生效配置

source /etc/profile

安装 Maven

yum install -y maven

mvn -v

配置阿里云 Maven 镜像

备份默认配置文件

cp /etc/maven/settings.xml /etc/maven/settings.xml.bak

替换为阿里云镜像配置

cat > /etc/maven/settings.xml << EOF

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>/var/maven/repository</localRepository>

<mirrors>

<mirror>

<id>aliyunmaven</id>

<mirrorOf>central</mirrorOf>

<url>https://maven.aliyun.com/repository/public\</url>

</mirror>

</mirrors>

</settings>

EOF

下载 Tomcat 9

进入安装目录

cd /usr/local

下载Tomcat9.0.85(稳定版)

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz

解压

tar -zxvf apache-tomcat-9.0.85.tar.gz

重命名

mv apache-tomcat-9.0.85 tomcat9

配置systemd 服务

创建Tomcat系统服务文件

cat > /usr/lib/systemd/system/tomcat9.service << EOF

Unit

Description=Tomcat9

After=network.target

Service

Type=forking

JDK路径(与第二步一致)

Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk"

Environment="CATALINA_HOME=/usr/local/tomcat9"

ExecStart=/usr/local/tomcat9/bin/startup.sh

ExecStop=/usr/local/tomcat9/bin/shutdown.sh

PrivateTmp=true

Install

WantedBy=multi-user.target

EOF

重载systemd配置 systemctl daemon-reload

开机自启 systemctl enable tomcat9

启动Tomcat systemctl start tomcat9

查看状态 systemctl status tomcat9

关闭防火墙 关闭selinux

systemctl stop firewalld

setenforce 0

Java 项目编译、打包、部署

cd /opt

将本地的java-demo.tar.gz上传到服务器 **/opt 目录 **

解压项目

tar -zxvf java-demo.tar.gz

进入项目目录(根据解压后的目录名修改)

cd java-demo

清理旧包+编译+打包(生成war/jar包)

mvn clean package -Dmaven.test.skip=true

c复制war包到Tomcat的webapps目录(Tomcat自动解压部署)cp /opt/java-demo/target/ly-simple-tomcat-0.0.1-SNAPSHOT.war /usr/local/tomcat9/webapps/ROOT.war

删除原有配置服务

rm -rf ROOT

重启tomcat9

systemctl status tomcat9

正常情况下再次查看/usr/local/tomcat9/webapps/

ROOT.war就已经解压出ROOT文件了 这时候就可以去网页验证了

如果有冲突报错

rm -rf /usr/local/tomcat9/webapps/ly-simple-tomcat* 删除旧文件

vi src/main/resources/application.yml

如果是 .properties 格式

在文件最后一行添加:

spring.jmx.enabled=false

如果是 .yml 格式

在文件中添加:

spring:

jmx:

enabled: false

网页验证

UBUNTU 安装nginx 反向代理负载均衡配置

更新软件源

apt update

安装 Nginx

apt install nginx -y

停止服务,防止配置冲突

systemctl stop nginx

编辑 Nginx 默认主配置文件

nano /etc/nginx/nginx.conf

Nginx 默认主配置(已集成负载均衡)

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
worker_connections 768;
}

http {

↓↓↓↓↓ 负载均衡后端服务组(核心配置)↓↓↓↓↓

upstream backend_servers {
server 192.168.100.88:8080; # 服务1
server 192.168.100.91:8080; # 服务2
}

↑↑↑↑↑ 负载均衡配置结束 ↑↑↑↑↑

默认基础配置

sendfile on;
tcp_nopush on;
types_hash_max_size 2048;

include /etc/nginx/mime.types;
default_type application/octet-stream;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

gzip on;

↓↓↓↓↓ 反向代理服务配置(核心)↓↓↓↓↓

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;

location / {

转发到负载均衡组

proxy_pass http://backend_servers;

传递真实客户端IP

proxy_set_header Host host; proxy_set_header X-Real-IP remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

↑↑↑↑↑ 反向代理配置结束 ↑↑↑↑↑

}

检查配置语法

nginx -t

禁用默认站点(避免端口冲突)

unlink /etc/nginx/sites-enabled/default

重启nginx

systemctl restart nginx

放行 80 端口

ufw allow 'Nginx HTTP'

ufw enable临时关闭防火墙

ufw disable永久关闭

网页验证

相关推荐
ywlovecjy2 小时前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
tuokuac2 小时前
Spring Boot约定大于配置(配置MQ消息转换器的具体实例)
java·后端·spring
wuqingshun3141592 小时前
说一下Spring中的ApplicationContext和BeanFactory的区别?
java·后端·spring
wyazyf2 小时前
TREA IDE运行java springboot项目
java·spring boot·trea ide 启动java
星月昭铭2 小时前
一次全表审核“卡99%”故障排查:空字符串在while循环中引发的性能陷阱
java
jessecyj2 小时前
Windows操作系统部署Tomcat详细讲解
java
摇滚侠2 小时前
Redis 怎么用,Java 开发,Redis 怎么用
java·数据库·redis
木井巳2 小时前
【递归算法】全排列 Ⅱ
java·算法·leetcode·决策树·深度优先·剪枝
weixin_433179332 小时前
Python - 调试
java·开发语言·python