Centos 6.8 서버에서는 테스트 사용자로부터 weblogic-service를 시작해야 하며 테스트 사용자가 아닌 프로세스 소유자가 weblogic이어야 합니다.
또한 nohup을 사용하여 weblogic을 시작하고 다음과 같이 백그라운드에 넣어야 했습니다.
#nohup ./startweblogic &
내가 한 일은 다음과 같았다.
시작 스크립트를 실행할 수 있도록 sudoers에 테스트 사용자를 추가했습니다.
다음 명령을 실행했지만 프로세스 소유자가 여전히 weblogic이 아닙니다.
#su -p -s /bin/sh weblogic "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"
답변1
나는 당신이 다음과 같이 sudoers 파일을 설정했다고 추측합니다.
test ALL=(weblogic) NOPASSWD: /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
이를 통해 test
사용자는 weblogic
비밀번호를 요구하지 않고 사용자로서 명령을 실행할 수 있습니다( NOPASSWD:
.
또한 Weblogic을 백그라운드에서 실행할 계획이라면 boot.properties의 자동 로그인 기능을 사용하도록 설정하여 사용자/비밀번호를 묻지 않도록 하는 것이 좋습니다. 다음 내용이 포함된 파일(필요한 경우 보안 디렉터리 생성)을 boot.properties
배치합니다 ./u01/Oracle/Middleware/user_projects/domains/base_domain/servers/your_server_name/security
username=your_weblogic_username
password=your_weblogic_password
그런 다음 로그인 test
하고 실행하십시오.sudo -u weblogic nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &
당신은 다음을 얻습니다:
root 3133 0.0 0.1 37084 6208 pts/1 S 17:47 0:00 sudo -u weblogic nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
weblogic 3134 0.0 0.0 7112 2912 pts/1 S 17:47 0:00 \_ /bin/sh /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh
weblogic 3135 0.0 0.0 7252 3508 pts/1 S 17:47 0:00 \_ /bin/sh /u01/Oracle/Middleware/user_projects/domains/base_domain/bin/startWebLogic.sh
weblogic 3168 2.8 10.8 2606220 437004 pts/1 Sl 17:47 0:15 \_ /home/weblogic/jdk/bin/java -server -Xms256m -Xmx512m -Dweblogic.Name=AdminServer -Djava.security.policy=/u01/Oracle/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader -javaagent:/u01/Oracle/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/u01/Oracle/Middleware/wlserver/server -Dweblogic.home=/u01/Oracle/Middleware/wlserver/server weblogic.Server
답변2
노력하다:
su -p -s /bin/sh weblogic -c "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"
명령 앞에 "-c"를 기록하고 따옴표로 묶습니다.
또한 "weblogic" 사용자에게 현재 디렉터리에 쓸 수 있는 권한이 있는지 확인하세요. "nohup"은 서버의 출력을 현재 디렉터리의 "nohup.out" 파일로 리디렉션하기 때문입니다.