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永久关闭

网页验证

相关推荐
可乐配鸡翅9 分钟前
day seven 猜数字小游戏
java
张小凡vip11 分钟前
Java Web 设置 Session 超时时间:如何让 Session 永不失效
java·spring boot
浪里摸鱼12 分钟前
Java 泛型快速学习指南(面向接口扫描场景)
java
我是大猴子23 分钟前
redis执行get等命令时底层操作
java
叶总没有会32 分钟前
微服务--分布式基础
java·spring·spring cloud·微服务
鹿角片ljp34 分钟前
Prompt Cache、Token 成本与 Plan Compiler 的工程设计
java·python·算法
Wang's Blog1 小时前
Java 接入Redis: 五大数据类型与存储结构选型
java·服务器·redis
Wang's Blog1 小时前
Java 接入Redis: 字符串与哈希类型操作命令
java·服务器·redis
智慧物业老杨6 小时前
物业数字化落地思考:真正的转型,是底层数据秩序的重构
java·大数据·人工智能·微服务·系统架构
星空8 小时前
金蝶苍穹build.gradle配置
java·build.gradle