JBOSS의 open source버전인 WildFly를 이용해 서버를 구축할 때가 있다.
다운로드도 워낙 간편하고 속도도 빠르고 폭넓게 사용할 수 있어 제일 좋아하는 WAS(Web Application Server)이다.
아무튼, 퍼블릭 서비스를 하는 중에 이용자가 많이 몰리게 되어 개발서버에서도 정말 동일한 환경으로 테스트를 많이 해야 할 필요성을 느껴... 개발 서버와 운영 서버 간의 같은 WAR 파일을 구동시키다 보니 구분을 어떻게 할까 고민이 되었다.
그중 System.properties() 를 이용해 구분하면 되지 않을까! 란 생각을 가지고 WildFly를 구동할 때 나오는 로그를 참조해보았다.
단순히 저기서 보이는 host.name 이나 node.name, server.name 만 바꾸면 될 것이라고 생각했는데...
안 바 껴
왜 안되는지 전혀 감도 안잡힌다..
WildFly를 편하게 실행하기 위해 service로 등록을 해두었는데 WildFly_HOME 근처에 systemd 폴더를 찾아보니 wildfly.service 파일을 발견했다.
아니 EnvironmentFile 경로가 저렇게 잡혀있네...? 하고 해당 파일을 열어보았다.
참고로 bind IP가 0.0.0.0으로 세팅되어 있었고 서버 구동할 때 로그도 0.0.0.0이었다가 저 부분을 한번 바꿔보니까 반영이 되더라... 근데 실제로는.... 저것과 전혀 상관없이 다른 ip로 구동이 잘 되고 있다는 것...
개발서버는 내부망 ip를 할당하여 어차피 회사 pc로 밖에 접속이 안되고 그때 이미 다른 ip를 할당해놨던 상태다..
하 뭘까 도대체 저것들은 어디서 가져오는 것이냐, 어떻게 수정할 수 있는 것이냐.
결론적으로 말하면 System.properties()로 가져오는 것들에 대한 세팅은 standalone.xml, host.xml, domain.xml 이 세 개에 골고루 퍼져있다. 그리고 wildfly를 실행시키는 모드가 domain이면 domain.xml을, standalone이면 standalone.xml을 수정시켜주면 되겠다 이 말이다.
문제는 다 안 먹힌다는 것 ^^
wildfly에 대한 레퍼런스도 적은 상태라 결국 아래와 같은 방법으로 해결했다..
https://minggu92.tistory.com/43
<추가>
CentOS 버전에 따라서 설정이 다르구나..백날 network 파일 수정해봤자
https://minggu92.tistory.com/45
<도움(을 줬니?)>
https://access.redhat.com/solutions/18664
https://kb.novaordis.com/index.php/Host.xml#Host_Name