1. 中间件概述
中间件是位于操作系统和应用程序之间的软件层,提供了应用程序运行所需的服务和功能。更多学习教程www.fgedu.net.cn
1.1 中间件的类型
- Web服务器:如Tomcat、Nginx、Apache等
- 应用服务器:如WebLogic、WebSphere、JBoss等
- 消息中间件:如Kafka、RabbitMQ、ActiveMQ等
- 缓存中间件:如Redis、Memcached等
- 数据库中间件:如MySQL Proxy、MyCat等
1.2 中间件的作用
- 提供应用程序运行环境
- 管理应用程序的生命周期
- 提供负载均衡和高可用
- 简化应用程序开发
- 提高系统的可扩展性和可靠性
2. Tomcat安装与配置
Tomcat是一个开源的Web应用服务器,用于部署和运行Java Web应用程序。学习交流加群风哥微信: itpux-com
2.1 安装Java
# yum install -y java-11-openjdk java-11-openjdk-devel
# 验证Java安装
# java -version
openjdk version “11.0.11” 2021-04-20
OpenJDK Runtime Environment 18.9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.11+9, mixed mode)
# 设置JAVA_HOME环境变量
# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-0.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
# 使环境变量生效
# source /etc/profile
2.2 安装Tomcat
# wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz
# 解压Tomcat
# tar -zxvf apache-tomcat-9.0.50.tar.gz
# 移动到安装目录
# mv apache-tomcat-9.0.50 /usr/local/tomcat9
# 创建Tomcat用户
# useradd -m -s /bin/bash tomcat
# 设置Tomcat目录权限
# chown -R tomcat:tomcat /usr/local/tomcat9
2.3 配置Tomcat
# vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-0.el7_9.x86_64
Environment=CATALINA_PID=/usr/local/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat9
Environment=CATALINA_BASE=/usr/local/tomcat9
Environment=’CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’
Environment=’JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’
ExecStart=/usr/local/tomcat9/bin/startup.sh
ExecStop=/usr/local/tomcat9/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
# 启动Tomcat服务
# systemctl daemon-reload
# systemctl start tomcat
# systemctl enable tomcat
# 查看Tomcat状态
# systemctl status tomcat
● tomcat.service – Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2026-03-30 17:00:00 CST; 1min ago
Process: 1234 ExecStart=/usr/local/tomcat9/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1235 (java)
CGroup: /system.slice/tomcat.service
└─1235 /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-0.el7_9.x86_64/bin/java -Djava.util.logging.config.file=/usr/local/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Xms512M -Xmx1024M -server -XX:+UseParallelGC -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat9 -Dcatalina.home=/usr/local/tomcat9 -Djava.io.tmpdir=/usr/local/tomcat9/temp org.apache.catalina.startup.Bootstrap start
# 验证Tomcat访问
# curl http://fgedudb:8080
…
2.4 配置Tomcat虚拟主机
# vi /usr/local/tomcat9/conf/server.xml
# 在
# 重启Tomcat
# systemctl restart tomcat
3. WebLogic安装与配置
WebLogic是Oracle公司的一款商业应用服务器,用于部署和运行Java企业级应用程序。学习交流加群风哥QQ113257174
3.1 安装Java
# wget https://download.oracle.com/java/11/latest/jdk-11_linux-x64_bin.rpm
# rpm -ivh jdk-11_linux-x64_bin.rpm
# 验证Java安装
# java -version
java version “11.0.11” 2021-04-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
# 设置JAVA_HOME环境变量
# vi /etc/profile
export JAVA_HOME=/usr/java/jdk-11.0.11
export PATH=$JAVA_HOME/bin:$PATH
# 使环境变量生效
# source /etc/profile
3.2 安装WebLogic
# wget https://download.oracle.com/otn/nt/middleware/12c/122140/fmw_12.2.1.4.0_wls_lite_generic.jar
# 创建WebLogic用户
# useradd -m -s /bin/bash weblogic
# passwd weblogic
# 创建安装目录
# mkdir -p /opt/oracle/middleware
# chown -R weblogic:weblogic /opt/oracle
# 切换到weblogic用户
# su – weblogic
# 运行安装程序
$ java -jar fmw_12.2.1.4.0_wls_lite_generic.jar
# 按照安装向导进行安装
# 选择”Typical”安装类型
# 安装路径:/opt/oracle/middleware
# 完成安装
3.3 创建WebLogic域
# su – weblogic
# 运行域创建向导
$ /opt/oracle/middleware/oracle_common/common/bin/config.sh
# 按照向导进行配置
# 选择”Create a new domain”
# 域路径:/opt/oracle/middleware/user_projects/domains/base_domain
# 配置管理员fgedu和密码
# 完成域创建
# 启动WebLogic服务器
$ /opt/oracle/middleware/user_projects/domains/base_domain/bin/startWebLogic.sh
# 验证WebLogic访问
# curl http://fgedudb:7001/console
…
4. WebSphere安装与配置
WebSphere是IBM公司的一款商业应用服务器,用于部署和运行Java企业级应用程序。更多学习教程公众号风哥教程itpux_com
4.1 安装WebSphere
# wget https://www.ibm.com/software/passportadvantage/pao_customer/sd/display_pn.html?pn=CB4E2ML
# 创建WebSphere用户
# useradd -m -s /bin/bash websphere
# passwd websphere
# 创建安装目录
# mkdir -p /opt/IBM/WebSphere
# chown -R websphere:websphere /opt/IBM
# 切换到websphere用户
# su – websphere
# 运行安装程序
$ ./install
# 按照安装向导进行安装
# 选择”IBM WebSphere Application Server Network Deployment”
# 安装路径:/opt/IBM/WebSphere/AppServer
# 完成安装
4.2 配置WebSphere
$ /opt/IBM/WebSphere/AppServer/bin/wasprofile.sh -create -profileName AppSrv01 -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/default
# 启动WebSphere服务器
$ /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1
# 查看服务器状态
$ /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/serverStatus.sh server1
# 验证WebSphere访问
# curl http://fgedudb:9080
…
5. Nginx安装与配置
Nginx是一个高性能的Web服务器和反向代理服务器,用于部署静态网站和作为应用服务器的前端代理。author:www.itpux.com
5.1 安装Nginx
# yum install -y nginx
# 启动Nginx服务
# systemctl start nginx
# systemctl enable nginx
# 查看Nginx状态
# systemctl status nginx
● nginx.service – The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2026-03-30 17:30:00 CST; 1min ago
Process: 1234 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1233 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1232 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
CGroup: /system.slice/nginx.service
├─1235 nginx: master process /usr/sbin/nginx
└─1236 nginx: worker process
# 验证Nginx访问
# curl http://fgedudb
…
5.2 配置Nginx
# vi /etc/nginx/nginx.conf
# 修改配置
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
# 创建虚拟主机配置
# vi /etc/nginx/conf.d/example.conf
server {
listen 80;
server_name www.fgedu.net.cn fgedu.net.cn;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
# 测试Nginx配置
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 重启Nginx
# systemctl restart nginx
5.3 配置Nginx反向代理
# vi /etc/nginx/conf.d/proxy.conf
server {
listen 80;
server_name api.fgedu.net.cn;
location / {
proxy_pass http://fgedudb:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 测试Nginx配置
# nginx -t
# 重启Nginx
# systemctl restart nginx
6. Redis安装与配置
Redis是一个开源的内存数据库,用于缓存、会话管理和消息队列等场景。
6.1 安装Redis
# yum install -y redis
# 启动Redis服务
# systemctl start redis
# systemctl enable redis
# 查看Redis状态
# systemctl status redis
● redis.service – Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2026-03-30 17:45:00 CST; 1min ago
Main PID: 1234 (redis-server)
CGroup: /system.slice/redis.service
└─1234 /usr/bin/redis-server 127.0.0.1:6379
# 验证Redis访问
# redis-cli ping
PONG
6.2 配置Redis
# vi /etc/redis.conf
# 修改配置
bind 0.0.0.0
protected-mode no
port 6379
dir /var/lib/redis
maxmemory 512mb
maxmemory-policy allkeys-lru
# 重启Redis
# systemctl restart redis
# 测试Redis设置
# redis-cli set test “Hello Redis”
OK
# redis-cli get test
“Hello Redis”
7. Kafka安装与配置
Kafka是一个分布式的消息队列系统,用于处理高吞吐量的实时数据流。
7.1 安装Kafka
# yum install -y java-11-openjdk java-11-openjdk-devel
# 下载Kafka
# wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
# 解压Kafka
# tar -zxvf kafka_2.13-2.8.0.tgz
# 移动到安装目录
# mv kafka_2.13-2.8.0 /usr/local/kafka
# 创建Kafka用户
# useradd -m -s /bin/bash kafka
# 设置Kafka目录权限
# chown -R kafka:kafka /usr/local/kafka
7.2 配置Kafka
# su – kafka
$ /usr/local/kafka/bin/zookeeper-server-start.sh -daemon /usr/local/kafka/config/zookeeper.properties
# 启动Kafka服务器
$ /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
# 创建主题
$ /usr/local/kafka/bin/kafka-topics.sh –create –topic test-topic –bootstrap-server fgedudb:9092 –partitions 1 –replication-factor 1
# 查看主题
$ /usr/local/kafka/bin/kafka-topics.sh –list –bootstrap-server fgedudb:9092
test-topic
# 发送消息
$ /usr/local/kafka/bin/kafka-console-producer.sh –topic test-topic –bootstrap-server fgedudb:9092
>Hello Kafka
>Test message
# 消费消息
$ /usr/local/kafka/bin/kafka-console-consumer.sh –topic test-topic –from-beginning –bootstrap-server fgedudb:9092
Hello Kafka
Test message
8. 中间件最佳实践
中间件的安装和配置需要遵循最佳实践,以确保系统的稳定性和性能。
- 选择合适的中间件版本,考虑稳定性和安全性
- 合理配置中间件参数,根据系统负载进行调优
- 实施中间件监控,及时发现和解决问题
- 建立中间件备份策略,防止数据丢失
- 定期更新中间件,修复安全漏洞
- 实施访问控制,保护中间件安全
- 文档化中间件配置,便于维护和管理
- 制定中间件故障应急预案,提高系统可靠性
8.1 性能优化
- 内存配置:根据应用需求合理配置内存大小
- 线程池配置:根据系统负载调整线程池大小
- 连接池配置:优化数据库和网络连接池
- 缓存配置:合理使用缓存,提高系统响应速度
- 日志配置:优化日志级别和存储方式
8.2 高可用配置
- 集群部署:部署多个中间件实例,实现负载均衡
- 故障转移:配置自动故障转移机制
- 数据复制:实现数据的多副本存储
- 监控告警:配置监控系统,及时发现故障
8.3 安全配置
- 访问控制:配置用户认证和授权
- 网络安全:限制网络访问,使用防火墙
- 加密传输:使用SSL/TLS加密传输数据
- 漏洞修复:定期更新中间件,修复安全漏洞
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
