首先需明确哪个端口被占用及占用进程。常用命令如下:
netstat命令:sudo netstat -tuln | grep <端口号>(如sudo netstat -tuln | grep 7001),输出中会显示占用端口的进程ID(PID)和协议类型。ss命令(更高效):sudo ss -tuln | grep <端口号>,功能与netstat类似,但性能更好。fuser命令(快速定位进程):sudo fuser -v -n tcp <端口号>,直接显示占用端口的进程号、用户及命令。若占用端口的进程不是WebLogic自身(如其他应用、服务),可通过以下命令终止:
sudo kill <PID>(<PID>为上一步查到的进程号),等待进程正常退出。sudo kill -9 <PID>强制结束进程(慎用,需确认进程无关键作用)。避免后续冲突,需修改WebLogic的端口设置,有两种方式:
http://<服务器IP>:<原端口>/console(如http://localhost:7001/console),输入管理员账号密码。AdminServer)→ 配置 → 监听端口。8080),点击“保存”。/u01/domains/base_domain),打开config/config.xml文件。<server>标签(如<server name="AdminServer">),修改<listen-port>属性的值(如将7001改为8080)。<server name="AdminServer">
<listen-port>8080</listen-port> <!-- 修改为新端口 -->
<listen-address>localhost</listen-address>
</server>
修改端口后,需确保防火墙放行新端口,避免外部无法访问:
sudo firewall-cmd --zone=public --add-port=<新端口>/tcp --permanent(如sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent)。sudo firewall-cmd --reload,使规则生效。使配置变更生效,执行以下命令:
cd /u01/domains/base_domain/bin(域目录下的bin目录),运行./stopWebLogic.sh。./startWebLogic.sh,等待服务启动完成。通过以下方式确认端口已切换:
http://<服务器IP>:<新端口>/console(如http://localhost:8080/console),若能正常登录则说明成功。netstat -tuln | grep <新端口>或ss -tuln | grep <新端口>,确认新端口处于LISTEN状态。AdminServer端口,需同步修改启动脚本(如startWebLogic.sh)中的端口引用(若有硬编码)。控制台修改方式,避免直接编辑配置文件导致格式错误。