简单直接地说:在 Debian 上安装 WebLogic 不算“难”,但比较“繁琐”且对版本有要求。
如果你习惯了 Debian 的 apt install 这种一键安装,那么 WebLogic 的安装过程会让你觉得有点“笨重”,因为它通常是基于 Java + 通用 Linux 安装包 或 命令行脚本 进行的,而不是针对 Debian 定制的。
以下是详细的难度分析、步骤和避坑指南:
libX 相关库在纯命令行服务器上缺失,需要手动安装。为了避免图形界面麻烦,推荐使用 通用的 ZIP 分发包 (Generic/Developer Zip) 或者 静默安装。这里推荐比较简单的 ZIP 解压版 思路(如果 Oracle 提供的话,或者通用 Jar 包):
这是最标准的做法,不需要图形界面。
步骤 1:安装 JDK 假设你使用的是 Oracle JDK 8 (以 JDK 8u202 为例,请根据你的 WebLogic 版本选择):
# 假设你已经下载了 jdk-8u202-linux-x64.tar.gz 并传到了服务器上
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /opt/
# 配置环境变量 (写入 ~/.bashrc 或 /etc/profile)
export JAVA_HOME=/opt/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
java -version
步骤 2:下载 WebLogic
去 Oracle 官网下载 fmw_14.1.1.0.0_wls_lite_generic.jar (这是一个通用安装包,不区分 OS,只要能跑 Java 就行)。
步骤 3:创建静默安装响应文件 (Response File)
创建一个文件叫 wls.rsp,内容如下(注意修改路径):
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/opt/weblogic/oracle_home # 你想安装到哪里
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
再创建一个 oraInst.loc 文件(用于指定库存放位置):
inventory_loc=/opt/weblogic/oraInventory
inst_group=root
步骤 4:执行安装
java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /path/to/wls.rsp -invPtrLoc /path/to/oraInst.loc
等待进度条跑完,看到 “The installation of Oracle Fusion Middleware 14c WebLogic Server…” 即成功。
如果你只是想在 Debian 上用 WebLogic,而不是非要“安装”它,这是最简单的方法。Oracle 官方提供了 Docker 镜像。
# 安装 docker
sudo apt update
sudo apt install docker.io
# 拉取官方镜像 (需要登录 Oracle 容器仓库或者 Docker Hub)
# 示例:pull 一个快速启动的版本
docker run -d -p 7001:7001 --name weblogic store/oracle/weblogic:12.2.1.3
注:Docker 方式完全屏蔽了 Debian 和 WebLogic 之间的兼容性问题。
libXext.so.6 缺失:
如果你用 JAR 包安装,即使加了 -silent,有时它还是会去检查图形库。如果报错类似 libXext.so.6: cannot open shared object file,Debian 上需要安装:
sudo apt-get install libxext6 libxrender1 libxtst6
如果服务器是无头(Headless)的,不需要真正的显示器,但这几个库是必须的。
权限问题:
WebLogic 不建议用 root 用户运行生产环境。最好创建一个专门的用户,例如 weblogic:
adduser weblogic
chown -R weblogic:weblogic /opt/weblogic
su - weblogic
防火墙:
Debian 默认可能没有防火墙,或者用的是 ufw。
sudo ufw allow 7001/tcp # WebLogic 默认端口
建议: 除非有强制要求,否则在 Debian 上跑 WebLogic 不如在 Debian 上跑 Spring Boot 或者 Tomcat 来得顺手。