1. 首页 > 软件安装教程 > 正文

Resin安装配置-Resin中间件安装配置_升级迁移详细过程

1. Resin概述与环境规划

Resin是一款高性能的Java应用服务器,由Caucho Technology开发。它以速度快、资源占用少、配置简单著称,广泛应用于企业级Java Web应用。Resin支持Servlet、JSP、WebSocket等标准,并提供商业版和企业版以满足不同需求。更多学习教程www.fgedu.net.cn

1.1 Resin版本说明

Resin目前主要版本为Resin 4.0,本教程以Resin 4.0.66为例进行详细讲解。

# 查看Resin版本
$ /opt/resin/bin/resin.sh version
Resin-4.0.66 (built Thu, 15 Mar 2024 10:00:00 PST)

Copyright(c) 1998-2024 Caucho Technology. All rights reserved.

# 查看Resin状态
$ /opt/resin/bin/resin.sh status
Resin/4.0.66 status for watchdog at 127.0.0.1:6600

server ‘app-0’ : active
watchdog : 127.0.0.1:6600
state : active
ports : http*:8080
uptime : 0:10:00

1.2 环境规划

本次安装环境规划如下:

主机名:fgedudb01.fgedu.net.cn
IP地址:192.168.1.51
Resin HTTP端口:8080
Resin HTTPS端口:8443
Watchdog端口:6600
Cluster端口:6800
安装目录:/opt/resin
数据目录:/data/resin
日志目录:/var/log/resin
备份目录:/backup/resin

Java环境:
JDK版本:OpenJDK 17
JAVA_HOME:/usr/lib/jvm/java-17
JVM堆大小:2GB

1.3 Resin核心特性

主要特点:
1. 高性能:采用C语言编写的核心,执行效率高
2. 轻量级:内存占用小,启动速度快
3. 集群支持:内置集群和负载均衡功能
4. 热部署:支持应用热部署和热更新
5. 健康检查:内置健康检查和自动恢复
6. 监控功能:提供Web管理界面和JMX支持
7. 多协议支持:支持HTTP/2、WebSocket等
8. 开源免费:GPL开源协议

2. 硬件环境要求与检查

在安装Resin之前,需要对服务器硬件环境进行全面检查。学习交流加群风哥微信: itpux-com

2.1 最低硬件要求

最低配置:
CPU:2核心
内存:2GB
磁盘:10GB

推荐配置(生产环境):
CPU:4核心以上
内存:4GB以上
磁盘:50GB以上

大型应用配置:
CPU:8核心以上
内存:8GB以上
磁盘:100GB以上SSD

2.2 Java环境检查

# 检查JDK版本
$ java -version
openjdk version “17.0.9” 9.0.4
OpenJDK Runtime Environment (Temurin-17.0.9+9) (build 17.0.9+9)
OpenJDK 64-Bit Server VM (build 17.0.9+9, mixed mode, sharing)

# 检查JAVA_HOME
$ echo $JAVA_HOME
/usr/lib/jvm/java-17

# 查看Java安装路径
$ which java
/usr/bin/java

2.3 系统环境检查

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.8 (Ootpa)

# 检查内存信息
# free -h
total used free shared buff/cache available
Mem: 15Gi 1.0Gi 13Gi 256Mi 1.0Gi 14Gi
Swap: 7Gi 0B 7Gi

# 检查磁盘空间
# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg_system-lv_root 100G 5.0G 95G 5% /
/dev/mapper/vg_data-lv_data 500G 50G 450G 10% /data

3. Resin安装步骤

本节详细介绍Resin 4.0的安装过程。学习交流加群风哥QQ113257174

3.1 安装OpenJDK

# 安装OpenJDK 17
# dnf install -y java-17-openjdk java-17-openjdk-devel

# 验证安装
$ java -version
openjdk version “17.0.9” 9.0.4
OpenJDK Runtime Environment (Temurin-17.0.9+9) (build 17.0.9+9)
OpenJDK 64-Bit Server VM (build 17.0.9+9, mixed mode, sharing)

# 设置JAVA_HOME
# vi /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH

# 使配置生效
# source /etc/profile.d/java.sh
$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk

3.2 创建用户和目录

# 创建resin用户
# groupadd -g 1004 resin
# useradd -u 1004 -g resin -d /opt/resin -s /bin/bash resin
# passwd resin

# 创建目录
# mkdir -p /opt/resin
# mkdir -p /data/resin/{webapps,logs,conf}
# mkdir -p /var/log/resin
# mkdir -p /backup/resin

# 设置目录权限
# chown -R resin:resin /opt/resin
# chown -R resin:resin /data/resin
# chown -R resin:resin /var/log/resin
# chown -R resin:resin /backup/resin

3.3 下载并安装Resin

# 切换到安装目录
# cd /usr/local/src

# 下载Resin 4.0.66
# wget http://www.caucho.com/download/resin-4.0.66.tar.gz

# 解压安装
# tar -xzf resin-4.0.66.tar.gz -C /opt/

# 创建软链接
# ln -s /opt/resin-4.0.66 /opt/resin

# 设置目录权限
# chown -R resin:resin /opt/resin-4.0.66
# chown -R resin:resin /opt/resin

# 验证安装
$ ls -la /opt/resin/
总用量 0
drwxr-xr-x. 3 resin resin 4096 4月 4 10:00 bin
drwxr-xr-x. 2 resin resin 4096 4月 4 10:00 conf
drwxr-xr-x. 2 resin resin 4096 4月 4 10:00 lib
drwxr-xr-x. 2 resin resin 4096 4月 4 10:00 webapps

3.4 配置Resin环境

# 配置resin用户环境变量
$ vi ~/.bash_profile

# 添加以下内容
export RESIN_HOME=/opt/resin
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$RESIN_HOME/bin:$JAVA_HOME/bin:$PATH

# 使配置生效
$ source ~/.bash_profile

# 验证环境变量
$ echo $RESIN_HOME
/opt/resin

# 查看resin.sh命令
$ which resin.sh
/opt/resin/bin/resin.sh

# 查看resin.sh帮助
$ resin.sh –help

3.5 配置Resin

# 编辑resin.xml配置文件
$ vi /opt/resin/conf/resin.xml

# 配置服务器



-Xms2g
-Xmx4g
-XX:+UseG1GC







# 配置resin.properties
$ vi /opt/resin/conf/resin.properties

# 设置管理密码
admin_user : admin
admin_password : {SSHA}xxxxxxxxxxxxxxxx

# 设置日志路径
log_directory : /var/log/resin

3.6 启动Resin

# 启动Resin
$ resin.sh start

# 输出示例:
Resin/4.0.66 launching watchdog at 127.0.0.1:6600
Resin/4.0.66 started -server ‘app-0’ for watchdog at 127.0.0.1:6600

# 查看状态
$ resin.sh status

# 输出示例:
Resin/4.0.66 status for watchdog at 127.0.0.1:6600

server ‘app-0’ : active
watchdog : 127.0.0.1:6600
state : active
ports : http*:8080
uptime : 0:05:00

# 检查端口
$ netstat -tlnp | grep resin
tcp6 0 0 :::8080 :::* LISTEN 12345/java
tcp6 0 0 :::6600 :::* LISTEN 12346/resin
tcp6 0 0 :::6800 :::* LISTEN 12345/java

# 配置防火墙
# firewall-cmd –permanent –add-port=8080/tcp
success
# firewall-cmd –permanent –add-port=8443/tcp
success
# firewall-cmd –permanent –add-port=6600/tcp
success
# firewall-cmd –reload
success

# 访问Resin
# 浏览器访问: http://192.168.1.51:8080

风哥提示:Resin使用watchdog进程监控服务器状态,确保服务高可用。生产环境建议配置自动重启策略。

4. Resin参数配置

Resin参数配置是性能优化的关键步骤,直接影响系统性能。更多学习教程公众号风哥教程itpux_com

4.1 JVM参数配置

# 编辑resin.xml配置JVM参数
$ vi /opt/resin/conf/resin.xml



-Xms4g
-Xmx8g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/resin/heapdump.hprof
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-Djava.awt.headless=true

# 重启Resin使配置生效
$ resin.sh restart

4.2 线程池配置

# 编辑resin.xml配置线程池
$ vi /opt/resin/conf/resin.xml


200 50 60s

# 配置连接池
128 50
30s

# 重启Resin
$ resin.sh restart

4.3 数据源配置

# 编辑resin.xml配置数据源
$ vi /opt/resin/conf/resin.xml




jdbc/FgeDuDS

jdbc:mysql://192.168.1.51:3306/fgedudb
fgedu fgedu123
128 50
30s


# 重启Resin
$ resin.sh restart

生产环境建议:根据应用并发量和数据库性能合理配置连接池大小。建议设置合理的空闲超时时间,及时释放连接。

5. 应用部署

Resin支持多种应用部署方式,本节介绍常用的部署方法。from:www.itpux.com

5.1 部署WAR应用

# 方式一:直接复制到webapps目录
$ cp /tmp/fgedu-web.war /data/resin/webapps/

# Resin会自动部署
$ ls -la /data/resin/webapps/
fgedu-web.war
fgedu-web/

# 方式二:配置resin.xml部署
$ vi /opt/resin/conf/resin.xml



# 重启Resin
$ resin.sh restart

# 查看部署状态
$ resin.sh status

# 输出示例:
Resin/4.0.66 status for watchdog at 127.0.0.1:6600

server ‘app-0’ : active
web-apps : /fgedu
state : active

5.2 配置虚拟主机

# 编辑resin.xml配置虚拟主机
$ vi /opt/resin/conf/resin.xml







# 重启Resin
$ resin.sh restart

5.3 取消部署

# 删除WAR文件
$ rm /data/resin/webapps/fgedu-web.war
$ rm -rf /data/resin/webapps/fgedu-web

# 或者从resin.xml中移除配置
$ vi /opt/resin/conf/resin.xml

# 注释掉或删除web-app配置

# 重启Resin
$ resin.sh restart

6. 集群配置

Resin支持集群部署,提供高可用性和负载均衡能力。更多学习教程www.fgedu.net.cn

6.1 配置集群

# 编辑resin.xml配置集群
$ vi /opt/resin/conf/resin.xml




-Xms2g
-Xmx4g


















# 重启Resin
$ resin.sh restart

6.2 启动集群节点

# 在第一台服务器启动
$ resin.sh start –server app-0

# 在第二台服务器启动
$ resin.sh start –server app-1

# 在负载均衡器启动
$ resin.sh start –server web-0

# 查看集群状态
$ resin.sh status

# 输出示例:
Resin/4.0.66 status for watchdog at 127.0.0.1:6600

server ‘app-0’ : active
state : active
ports : http*:8080

server ‘app-1’ : active
state : active
ports : http*:8080

风哥提示:Resin集群配置简单,内置负载均衡功能。生产环境建议配置至少2个应用服务器节点以实现高可用。

7. 安全配置

Resin提供了完善的安全框架,本节介绍常用的安全配置方法。学习交流加群风哥微信: itpux-com

7.1 配置SSL/TLS

# 生成自签名证书
$ keytool -genkeypair -alias resin -keyalg RSA -keysize 2048 -keystore /opt/resin/conf/resin.keystore -validity 365 -storepass changeit -keypass changeit -dname “CN=fgedudb01.fgedu.net.cn,OU=IT,O=FGedu,L=BJ,ST=BJ,C=CN”

# 编辑resin.xml配置HTTPS
$ vi /opt/resin/conf/resin.xml






jks
/opt/resin/conf/resin.keystore
changeit
changeit



# 重启Resin
$ resin.sh restart

# 测试HTTPS访问
$ curl -k https://192.168.1.51:8443

7.2 配置访问控制

# 编辑resin.xml配置安全约束
$ vi /opt/resin/conf/resin.xml





/*


admin


BASIC
admin


# 配置用户
$ vi /opt/resin/conf/resin.xml






# 重启Resin
$ resin.sh restart

生产环境建议:生产环境建议使用正式CA签发的SSL证书。定期更新证书和密码策略。

8. 监控与日志

Resin提供了完善的监控和日志功能,本节介绍常用的监控配置方法。更多学习教程公众号风哥教程itpux_com

8.1 日志配置

# 编辑resin.xml配置日志
$ vi /opt/resin/conf/resin.xml






# 查看日志
$ tail -f /var/log/resin/resin.log

# 输出示例:
[2026-04-04 10:00:00.123] [resin] info: Resin/4.0.66 started
[2026-04-04 10:00:00.456] [resin] info: Server ‘app-0’ started

8.2 启用JMX监控

# 编辑resin.xml启用JMX
$ vi /opt/resin/conf/resin.xml



-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

# 重启Resin
$ resin.sh restart

# 使用JConsole连接
$ jconsole service:jmx:rmi:///jndi/rmi://192.168.1.51:9999/jmxrmi

8.3 健康检查

# 编辑resin.xml配置健康检查
$ vi /opt/resin/conf/resin.xml



30s 10s 3
2


# 查看健康状态
$ resin.sh status

# 输出示例:
Resin/4.0.66 status for watchdog at 127.0.0.1:6600

server ‘app-0’ : active
health : healthy
state : active

风哥提示:生产环境建议配置集中式日志收集,如ELK Stack。定期分析日志有助于发现潜在问题。

9. 升级与迁移

Resin升级和迁移是运维工作中的重要环节,需要仔细规划和执行。from:www.itpux.com

9.1 版本升级

# 检查当前版本
$ resin.sh version
Resin-4.0.66 (built Thu, 15 Mar 2024 10:00:00 PST)

# 完整备份当前Resin
$ tar -czf /backup/resin/resin_backup_$(date +%Y%m%d).tar.gz /opt/resin

# 备份配置文件
$ cp /opt/resin/conf/resin.xml /backup/resin/resin.xml.$(date +%Y%m%d)

# 停止Resin
$ resin.sh stop

# 下载新版本
# wget http://www.caucho.com/download/resin-4.0.67.tar.gz

# 解压新版本
# tar -xzf resin-4.0.67.tar.gz -C /opt/

# 迁移配置文件
# cp /opt/resin/conf/resin.xml /opt/resin-4.0.67/conf/
# cp /opt/resin/conf/resin.properties /opt/resin-4.0.67/conf/

# 更新软链接
# rm -f /opt/resin
# ln -s /opt/resin-4.0.67 /opt/resin

# 设置权限
# chown -R resin:resin /opt/resin-4.0.67
# chown -R resin:resin /opt/resin

# 启动Resin
$ resin.sh start

# 验证版本
$ resin.sh version
Resin-4.0.67 (built Thu, 01 Jun 2024 10:00:00 PST)

9.2 迁移到新服务器

# 在源服务器备份
$ tar -czf /backup/resin/resin_migrate_$(date +%Y%m%d).tar.gz /opt/resin /data/resin

# 传输备份文件
$ scp /backup/resin/resin_migrate_*.tar.gz new-server:/tmp/

# 在新服务器安装Resin
# 参见3.1-3.4节安装步骤

# 恢复配置
# tar -xzf /tmp/resin_migrate_*.tar.gz -C /

# 设置权限
# chown -R resin:resin /opt/resin
# chown -R resin:resin /data/resin

# 启动Resin
$ resin.sh start

# 验证迁移
$ resin.sh status

# 输出示例:
Resin/4.0.66 status for watchdog at 127.0.0.1:6600

server ‘app-0’ : active
state : active

生产环境建议:升级前必须进行完整备份。建议先在测试环境验证兼容性,确保应用正常运行。

10. 生产环境实战案例

本节提供一个完整的生产环境配置案例,帮助读者更好地理解Resin的实际应用。更多学习教程www.fgedu.net.cn

10.1 生产环境完整配置

# 生产环境Resin完整配置

# 1. 编辑resin.xml
$ vi /opt/resin/conf/resin.xml



-Xms8g
-Xmx16g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/var/log/resin/heapdump.hprof
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=1g

500 100 120s





jks
/opt/resin/conf/resin.keystore
changeit

30s 10s






# 2. 创建启动脚本
$ vi /opt/resin/bin/start-resin.sh

#!/bin/bash
RESIN_HOME=/opt/resin
export RESIN_HOME

$RESIN_HOME/bin/resin.sh start

# 3. 创建systemd服务
$ vi /etc/systemd/system/resin.service

[Unit]
Description=Resin Application Server
After=network.target

[Service]
Type=forking
User=resin
Group=resin
ExecStart=/opt/resin/bin/resin.sh start
ExecStop=/opt/resin/bin/resin.sh stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

# 启用服务
# systemctl enable resin
# systemctl start resin

10.2 性能监控配置

# 启用详细监控
$ vi /opt/resin/conf/resin.xml




60s
60s


# 查看统计信息
$ curl http://192.168.1.51:8080/resin-admin/status

# 输出示例:



2147483648
8589934592
50
20
500

10.3 性能调优实战

# 线程池优化
$ vi /opt/resin/conf/resin.xml


500 100 120s

# 连接池优化

jdbc/FgeDuDS

jdbc:mysql://192.168.1.51:3306/fgedudb
fgedu fgedu123
256 100
60s

# 缓存优化


# 重启Resin使配置生效
$ resin.sh restart

风哥提示:Resin作为高性能Java应用服务器,在速度和资源占用方面表现出色。建议根据实际业务负载进行性能调优,避免过度配置。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息