WebLogic在Debian上的最佳实践指南
sudo apt update && sudo apt upgrade -y
wget、unzip、build-essential等):sudo apt install -y wget unzip build-essential libaio-dev libnsl1 libssl-dev
sudo apt install -y openjdk-11-jdk
# 验证安装
java -version
# 持久化JAVA_HOME环境变量(全局生效)
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee /etc/profile.d/java.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.sh
source /etc/profile.d/java.sh
wls14110_generic.jar),避免使用第三方非正版资源。weblogic)运行WebLogic,提升安全性:sudo groupadd weblogic
sudo useradd -g weblogic -d /opt/weblogic -s /bin/bash weblogic
sudo mkdir -p /opt/weblogic
sudo chown -R weblogic:weblogic /opt/weblogic
weblogic用户,解压安装包至目标目录:su - weblogic
java -jar /path/to/wls14110-generic.jar -silent -responseFile /path/to/response_file.rsp
# response_file.rsp需预先配置(如指定oracleHome=/opt/weblogic)
config.sh脚本创建域,遵循“最小权限”原则配置域参数(如域名称、管理服务器端口、监听地址):cd /opt/weblogic/oracle_common/bin
./config.sh -domain mydomain -template /opt/weblogic/wlserver/common/templates/wls/wls.jar
config/config.xml,设置管理服务器监听地址(建议使用内网IP或域名)和端口(默认7001),仅开放必要端口:<server>
<name>AdminServer</name>
<listen-address>192.168.1.100</listen-address>
<listen-port>7001</listen-port>
</server>
config.xml启用SSL:<server>
<name>AdminServer</name>
<ssl>
<enabled>true</enabled>
<key-store>/opt/weblogic/security/mykeystore.jks</key-store>
<key-store-type>JKS</key-store-type>
<key-store-password>changeit</key-store-password>
</ssl>
</server>
# 在setDomainEnv.sh中添加(示例:初始堆2G,最大堆4G)
export JAVA_OPTIONS="${JAVA_OPTIONS} -Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
# 在setDomainEnv.sh中添加
export JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.threadpool.MinThreads=50 -Dweblogic.threadpool.MaxThreads=200"
<jdbc-connection-pool>
<initial-capacity>10</initial-capacity>
<max-capacity>100</max-capacity>
<shrink-frequency-seconds>300</shrink-frequency-seconds>
</jdbc-connection-pool>
echo "weblogic soft nofile 65536" | sudo tee -a /etc/security/limits.conf
echo "weblogic hard nofile 65536" | sudo tee -a /etc/security/limits.conf
echo "net.ipv4.tcp_max_syn_backlog = 4096" | sudo tee -a /etc/sysctl.conf
echo "net.core.somaxconn = 1024" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
http://<ip>:7001/console),立即修改默认管理员账号(weblogic)的密码(使用强密码,包含大小写字母、数字及特殊字符)。ufw仅开放必要端口(如7001管理端口、8080应用端口),禁止未授权访问:sudo ufw allow from 192.168.1.0/24 to any port 7001 proto tcp # 仅允许内网访问管理端口
sudo ufw enable
/opt/weblogic仅weblogic用户可写),避免其他用户修改配置文件。logging.properties文件:handlers=java.util.logging.FileHandler
java.util.logging.FileHandler.level=INFO
java.util.logging.FileHandler.limit=10485760 # 10MB
java.util.logging.FileHandler.count=10 # 保留10个备份
/opt/weblogic/user_projects/domains/mydomain)及应用程序数据,测试恢复流程(如模拟域损坏时的恢复步骤)。/opt/weblogic/user_projects/domains/mydomain/servers/AdminServer/deployments目录),或通过管理控制台/命令行工具(deploy.sh)部署;autodeploy目录下的文件(可能导致部署失败)。Servlet重新加载检查设置为-1),减少不必要的资源消耗;Page Cache、Data Cache)提升应用性能;