Systemd for WebLogic 11g
Ubuntu 16.04, CentOS 7, RHEL 7 부터는 Systemd 로 Kernel 의 메인프로세스가 바뀌었습니다. 과거에는 Init 이였는데 이 배포판들은 systemd 로 바뀌었습니다.
리눅스가 부팅하면서 SystemV 인 Run Level 에 따라서 자동으로 시작시키기위한 Init Script 가 존재했었는데, Systemd 도 리눅스가 부팅하면서 시작되도록 하는 Systemd Script 가 존재합니다.
Systemd for WebLogic Administrator
WebLogic 을 Systemd 로 동작하는 배포판에 설치했다면 시작/중지 스크립트를 다음과 같이 작성할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[Unit] Description=Weblogic 11g Adminserver service After=syslog.target network.target [Service] Type=simple StandardOutput=syslog StandardError=syslog SyslogIdentifier=wlsAdmin EnvironmentFile=/u01/app/weblogic/config/domains/mCloud/servers/AdminServer/etc/default/adminserver ExecStart=/u01/app/weblogic/config/domains/mCloud/bin/startWebLogic.sh ExecStop=/u01/app/weblogic/config/domains/mCloud/bin/stopWebLogic.sh User=weblogic Group=oinstall Restart=on-failure [Install] WantedBy=multi-user.target Alias=wlsAdmin.service |
WebLogic 의 Admin 서버가 구동될때에 각종 옵션들을 주고 싶다면 “USER_MEM_ARGS” 쉘 환경변수로 지정하고 ‘startWebLogic.sh’ 를 실행하면 그것이 적용된다. Systemd 에서 이러한 환경변수들은 ‘/u01/app/weblogic/config/domains/mCloud/servers/AdminServer/etc/default/adminserver’ 파일에 다음과 같이 정의해 줍니다.
1 |
USER_MEM_ARGS="-Dweblogic.unicast.HttpPing=true -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m" |
Systemd for WebLogic Managed Server
Managed Server 를 시작하기 위해서는 ‘startManagedWebLogic.sh’ 스크립트를 사용하는데, 인자로 서버명을 주어야 합니다. 이것도 Admin 서버와 비슷하게 환경파일을 지정하고 그곳에 정의해주면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[Unit] Description=Weblogic 11g Server-0 of Managed Server After=syslog.target network.target [Service] Type=simple SyslogIdentifier=wlsServer0 EnvironmentFile=/u01/app/weblogic/config/domains/mCloud/servers/Server-0/etc/default/server-0 ExecStart=/u01/app/weblogic/config/domains/mCloud/bin/startManagedWebLogic.sh ${DAEMON_ARGS} ExecStop=/u01/app/weblogic/config/domains/mCloud/bin/stopManagedWebLogic.sh ${DAEMON_ARGS} User=weblogic Group=oinstall Restart=on-failure [Install] WantedBy=multi-user.target Alias=wlsServer0.service |
‘/u01/app/weblogic/config/domains/mCloud/servers/Server-0/etc/default/server-0’ 는 다음과 같습니다.
1 |
DAEMON_ARGS="Server-0" |
물론 USER_MEM_ARGS 환경변수를 지정할 수도 있습니다.
Systemd 등록.
Systemd 에 스크립트를 등록하기 위해서는 ‘/etc/systemd/system’ 디렉토리로 파일을 복사하고 다음과 같은 명령어를 입력해줍니다.
1 2 3 4 5 6 |
# systemctl enable wlsAdmin.service Created symlink from /etc/systemd/system/wlsAdmin.service to /lib/systemd/system/wlsAdmin.service. Created symlink from /etc/systemd/system/multi-user.target.wants/wlsAdmin.service to /lib/systemd/system/wlsAdmin.service. # systemctl enable wlsServer0.service Created symlink from /etc/systemd/system/wlsServer0.service to /lib/systemd/system/wlsServer0.service. Created symlink from /etc/systemd/system/multi-user.target.wants/wlsServer0.service to /lib/systemd/system/wlsServer0.service. |
심볼릭 링크가 생성되면서 Systemd 스크립트가 등록이 됩니다. 등록이되면 이제부터 시스템이 꺼질때는 자동으로 WebLogic 도 꺼지고 시스템이 부팅되면 자동으로 시작이 됩니다.