요즘 프로젝트를 하고 있는데, 역시나 자바 시스템이 있다. Spring Boot3 을 사용하고 있고 자바 17을 쓰는등 나름대로 괜찮은 환경에서 개발이 이루어지고 있다. 그런데, 이것을 서버에서 배포를 하고 Spring Boot 를 실행해야 하는데, 어떻게 하나 봤더니 초보자 수준도 못 벗어나는 설정을 하고 있으니… 안타까운 마음에 어떻게 하는 것이 좋은 것인지 한번 적어봤다. Spring boot, jar 실행 파일 Spring Boot3 를 컴파일 하면 jar 파일 나온다. 그리고 별다른 서버 없이도 바로 실행하고 접속이 가능해 진다. 한가지 재미있는 사실은 많은 사람들이 Spring boot3 […]
systemd unit 편집기 바꾸기
systemd 는 이제 리눅스 시스템의 뼈대가 되는 기본운영 방법이 되었다. 기존에는 System V Init 이였지만 RHEL 7, Ubuntu 16.04부터 기본 시스템운영 프로그램이 되었다. systemd 는 ‘ctl’ 로 끝나는 명령어들의 집합으로 제어가 가능하다. systemctl, journalctl, timedatectl, hostnamectl, loginctl 이 대표적이다. systemctl 의 경우에는 systemd unit 파일들에 대한 제어와 설정이 가능하다. systemd unit 파일은 기존의 Systemv V init Script 를 대체하는 것으로 일종의 시스템 데몬 프로그램들이라고 보면 된다. 시스템이 시작될때에 자동으로 시작되게 한다거나 종료하게 한다거나 하는것들을 가능하게 한다. unit 파일은 텍스트 파일이기 […]
Ubuntu, systemd-networkd 전환하기
Ubuntu 16.04 로 넘어오면서 SysV 의 Init 이 Systemd 로 변경되었다. 이런 변화에는 Network 관리에도 적용되고 있는데, 이에 대해서 알아보자. 기존의 Network 관련된, 정확하게는 Network Interface 와 관련된 일은 NetworkManager 가 담당했다. Network Interface 가 무엇인지, 아이피는 DHCP 혹은 Static 인지 등이 그것이다. 하지만 Ubuntu 16.04 로 넘어오면서 시스템에 관련된 일체가 systemd 로 통합되면서 네트워크 관련 작업도 systemd 로 통합되어지게 되는데, 이것이 systemd-networkd 이 이다. 하지만 Ubuntu 18.04 로 넘어온 시점에서도 NetworkManger 는 이전과 호환을 위해서 살려뒀고 살려둔김에 지금도 기본적인 […]
systemctl tomcat no bind 8005 port
Tomcat 을 설치하고 난후에 systemd 에 유닛으로 등록하고 나고 서비스를 시작하고 shutdown 을 하려고 할때에 다음과 같은 오류를 만날 수 있다. 8005 포트로 접속을 할 수 없어서 셧다운시에 오류를 발생시키는 것이다. 왜 이런문제가 발생할까? systemd tomcat 유닛의 내용은 다음과 같다. 그리고 이 상태로 다음과 같이 tomcat 을 서비스로 시작 한다. 이렇게 하고 난후에 netstat 명령어로 포트 리스닝 상태를 살펴보면 8005 포트가 보이지 않는다. 더 큰 문제는 shutdown 포트가 올라오지 않으면 Tomcat 이 작동하지 않는데 있다. 해결 방법은 의외로 간단하다. 다음과 […]
systemd –user 사용하기
Systemd 는 기존 리눅스 시스템에서 사용해왔던 init script 를 대체한다. 배포판마다 적용된 버전이 다른데, CentOS에 경우에는 7 버전부터 Ubuntu 의 경우에는 16.04 부터 적용되기 시작했다. Systemd 는 부팅과정에서 최초로 실행되는 프로세스이며 리눅스 시스템 전체를 움직하게 하는 프로세스이다. 이 프로세스는 또 다른 프로세스들을 제어하는데 이를 위해서 systemd 프로그램을 제공한다. 부팅과정에서 자동으로 데몬들을 실행시키는 것도 systemd 가 하는데 이 프로그램은 데몬에 대한 명세서인 unit 파일을 기반으로 실행을 시켜준다. 이러한 파일들은 전역 시스템 영역에 속한다. 전역 systemd 영역 전역 systemd 영역의 파일들은 다음에 […]
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’ 를 실행하면 […]