Rocky Linux에 GlassFish Java 애플리케이션 서버를 설치하는 방법
이 페이지에서
- 전제 조건
- 자바 OpenJDK 설치
- GlassFish 애플리케이션 다운로드\n
- GlassFish를 시스템 서비스로 실행\n
- GlassFish 관리 구성
- Nginx를 리버스 프록시로 설정\n
- 방화벽 설정\n
- GlassFish 액세스
- 결론
GlassFish는 Eclipse에서 개발한 Java EE 플랫폼의 무료 오픈 소스 구현입니다. 세계 최고의 Java EE 플랫폼 구현입니다. 가벼운 응용 프로그램 서버를 제공하며 여러 Java 기반 응용 프로그램을 배포할 수 있습니다. GlassFish는 Enterprise JavaBeans, JPA, JavaServer Faces, JMS 등과 같은 여러 유형의 Java 애플리케이션 기술을 지원합니다.
GlassFish는 개발자가 Java 기반 응용 프로그램을 개발하고 배포하는 데 가장 적합한 선택 중 하나입니다. 이를 통해 개발자는 편리한 방식과 확장 가능한 아키텍처로 엔터프라이즈 애플리케이션을 개발할 수 있습니다. GlasshFish 프로젝트는 원래 Sun Microsystem에서 시작했습니다. Common Development and Distribution License와 GNU General Public License라는 두 가지 무료 라이선스가 함께 제공됩니다.
이 자습서에서는 Rocky Linux에 Nginx 리버스 프록시를 사용하여 GlassFish Java 애플리케이션 서버를 설치합니다. Java OpenJDK를 설치하고, 바이너리 패키지를 통해 GlassFish를 설치하고, Nginx를 리버스 프록시로 설치 및 구성합니다.
전제 조건
먼저 다음 요구 사항이 있는지 확인해야 합니다.
- Rocky Linux 서버 - Rocky Linux 8 또는 9를 사용할 수 있습니다.\n
- sudo 루트/관리자 권한이 있는 루트가 아닌 사용자.\n
- 로컬 개발 서버의 로컬 도메인 이름입니다.
이제 설치로 이동하겠습니다.
자바 OpenJDK 설치
GlassFish는 Java 애플리케이션 서버입니다. 설치하려면 서버에 Java OpenJDK를 설치해야 합니다.
이 글을 작성할 당시 최신 버전의 GlassFish 6.2.5에는 Java OpenJDK 11 이상이 필요했습니다. 이제 Rocky Linux 시스템에 Java OpenJDK 11을 설치하여 설치를 시작합니다.
기본 Java OpenJDK는 Rocky Linux appstream 리포지토리에서 사용할 수 있습니다. 다음 dnf 명령을 통해 설치하십시오.
sudo dnf install java-11-openjdk
메시지가 표시되면 y를 입력하여 확인하고 ENTER를 눌러 계속 진행하면 Java OpenJDK 설치가 시작됩니다.
그런 다음 다음 java 명령을 실행하여 설치를 확인하십시오. Rocky Linux에 설치된 Java OpenJDK 11의 출력을 받아야 합니다.
java -version
Java OpenJDK가 설치되면 다음 단계는 GlassFish를 다운로드하고 바이너리 패키지에서 수동으로 설치하는 것입니다.
GlassFish 애플리케이션 다운로드
GlassFish는 Eclipse에서 개발한 Java EE 호환 구현입니다. 소스 코드에서 빌드하여 수동으로 설치하거나 Eclipse에서 제공하는 바이너리 배포 패키지를 통해 설치할 수 있습니다.
이 단계에서는 Eclipse 웹 사이트에서 다운로드할 수 있는 바이너리 배포 패키지를 통해 GlassFish를 설치합니다.
GlassFish 설치를 시작하기 전에 다음 dnf 명령을 실행하여 압축 해제 패키지를 설치하십시오. 이것은 GlassFish 배포 패키지를 추출하는 데 사용됩니다.
sudo dnf install unzip
다음으로 다음 명령을 실행하여 GlassFish 전용 사용자를 새로 생성합니다. 이 예에서는 루트가 아닌 사용자 glassfish를 통해 GLassFish 애플리케이션 서버를 실행합니다.
sudo useradd -m -d /opt/glassfish6 -U -s /bin/false glassfish
glassfish 사용자가 생성된 후 /tmp 디렉토리로 이동하고 아래의 wget 명령을 통해 GlassFish 바이너리 배포 패키지를 다운로드합니다.
cd /tmp
wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.2.5.zip
그리고 새 파일 glassfish-6.2.5.zip을 가져와야 합니다.
다음 unzip 명령을 실행하여 GlassFish 패키지 glassfish-6.2.5.zip을 /opt 디렉토리에 추출합니다.
unzip /tmp/glassfish-6.2.5.zip -d /opt
이제 GlassFish 패키지가 /opt/glassfish6 디렉토리에 추출되었습니다.
마지막으로 다음 명령을 실행하여 GlassFish 설치 디렉터리 /opt/glassfish6의 소유권을 사용자 및 그룹 glassfish로 변경합니다.
sudo chown -R glassfish:glassfish /opt/glassfish6
이제 GlassFish 패키지를 다운로드했으므로 이진 파일 /opt/glassfish6/bin/asadmin을 통해 수동으로 GlassFish 응용 프로그램을 시작할 수 있습니다. 하지만 더 쉽게 하기 위해 GlassFish를 시스템 서비스로 설정하고 실행할 것입니다.
GlassFish를 시스템 서비스로 실행
이 가이드에서는 systemd 서비스를 통해 GlassFish Java 애플리케이션 서버를 실행합니다. 이를 통해 systemctl 명령을 통해 GlassFish 애플리케이션 서버를 쉽게 관리할 수 있습니다.
먼저 다음 nano 편집기를 사용하여 새로운 systemd 서비스 파일 /lib/systemd/system/glassfish.service을 만듭니다.
sudo nano /lib/systemd/system/glassfish.service
파일에 다음 구성을 추가합니다.
[Unit]
Description = GlassFish Server v6
After = syslog.target network.target
[Service]
User=glassfish
ExecStart=/opt/glassfish6/bin/asadmin start-domain
ExecReload=/opt/glassfish6/bin/asadmin restart-domain
ExecStop=/opt/glassfish6/bin/asadmin stop-domain
Type = forking
[Install]
WantedBy = multi-user.target
파일을 저장하고 완료되면 편집기를 종료하십시오.
그런 다음 다음 systemctl 명령을 실행하여 systemd 관리자를 다시 로드하고 새 서비스 파일 glassfish.service를 적용합니다.
sudo systemctl daemon-reload
이제 systemd 관리자를 다시 로드했으므로 다음 systemctl 명령을 통해 glassfish 서비스를 시작하고 활성화할 수 있습니다.
sudo systemctl start glassfish
sudo systemctl enable glassfish
glassfish 서비스가 시작되면 다음 systemctl 명령을 실행하여 glassfish 서비스를 확인하고 서비스가 실행 중인지 확인합니다.
sudo systemctl status glassfish
다음 스크린샷과 같이 실행 중인 glassfish 서비스의 출력을 받아야 합니다.
이제 glassfish Java 애플리케이션이 실행 중이므로 다음 단계에서는 GlassFish 관리 구성을 시작합니다.
GlassFish 관리 구성
기본 GlassFish 설치는 관리자 암호 없이 제공됩니다. 이제 GlassFish에 대한 관리 사용자 및 암호를 구성하고 명령줄 /opt/glassfish6/bin/asadmin을 통해 GlassFish 설치를 보호합니다.
다음 명령을 실행하여 GlassFish 설치를 위한 관리 사용자 및 비밀번호 구성을 시작하십시오.
sudo -u glassfish /opt/glassfish6/bin/asadmin --port 4848 change-admin-password
이제 일부 GlassFish 관리 메시지가 표시됩니다.
- GlassFish의 사용자를 입력합니다. 기본 사용자는 admin입니다.\n
- 기본 GlassFish 설치에는 암호가 없으므로 ENTER를 누르십시오.\n
- 이제 GlassFish 설치를 위한 새 암호를 입력하고 반복합니다.\n
이제 성공적으로 실행된 Command change-admin-password와 같은 출력 메시지가 있어야 합니다.
GlassFish 관리 사용자를 구성한 후 GlassFish 설치 보안을 시작합니다.
GlassFish 보안을 시작하려면 다음 명령을 실행하십시오.
sudo -u glassfish /opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin
GlassFish 관리 사용자 및 암호를 묻는 메시지가 표시되면 이전에 구성한 대로 세부 정보를 입력합니다. 모두 완료되면 Command enable-secure-admin과 같은 출력이 성공적으로 실행되는 것을 볼 수 있습니다.
그런 다음 다음 명령을 실행하여 glassfish 서비스를 다시 시작하고 새 변경 사항을 적용합니다.
sudo systemctl restart glassfish
이 시점에서 GlassFish는 이제 새 관리 사용자 및 암호로 실행 중이며 보안도 유지됩니다. 기본 GlassFish Java 애플리케이션 서버는 포트 8080에서 실행 중이고 GlassFish 관리는 포트 4848에서 실행 중입니다.
GlassFish 설치에 액세스하기 전에 다음 firewall-cmd 명령을 실행하여 포트 8080 및 4848을 엽니다.
sudo firewall-cmd --add-port=8080/tcp --zone=public
sudo firewall-cmd --add-port=4848/tcp --zone=public
마지막으로 웹 브라우저를 열고 IP 주소와 포트 8080(예: http://192.168.5.100:8080)을 방문합니다. 이제 GlassFish Java 애플리케이션 서버의 기본 index.html 페이지가 표시되어야 합니다.
GlashFish 관리를 위해 포트 4848(예: http://192.168.5.100:4848/)로 서버 IP 주소를 방문하십시오. 그리고 GlassFish 관리 로그인 페이지가 표시되어야 합니다.
Nginx를 리버스 프록시로 설정
이 시점에서 GlassFish Java 응용 프로그램은 관리가 활성화되고 보안이 설정된 상태로 실행됩니다. 이제 Nginx를 설치하고 GlassFish용 리버스 프록시로 설정합니다.
Nginx 리버스 프록시를 사용하면 표준 포트 HTTP 또는 HTTPS(활성화된 경우)에서 GlassFish를 실행합니다.
다음 dnf 명령을 실행하여 Nginx 웹 서버를 설치합니다. 구성을 묻는 메시지가 표시되면 Y를 입력하고 ENTER를 눌러 계속 진행합니다.
sudo dnf install nginx
다음으로 다음 nano 편집기를 사용하여 새 Nginx 서버 블록 구성 /etc/nginx/conf.d/glassfish.conf을 만듭니다. 이 구성은 Nginx가 GlassFish의 리버스 프록시로 실행되도록 합니다.
sudo nano /etc/nginx/conf.d/glassfish.conf
파일에 다음 구성을 추가하고 도메인으로 로컬 도메인 이름 glassfish.hwdomain.io를 변경했는지 확인합니다.
upstream glassfish6 {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name glassfish.hwdomain.io;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://glassfish6/;
}
}
파일을 저장하고 완료되면 편집기를 닫습니다.
다음으로 다음 명령을 실행하여 Nginx 구성을 확인합니다. 올바른 구성이 있는 경우 Syntax is OK - test is successful과 같은 출력 메시지가 표시되어야 합니다.
sudo nginx -t
이제 GlassFish용 Nginx 서버 블록을 만들었으므로 다음 명령을 실행하여 Nginx 서비스를 시작하고 활성화합니다.
sudo systemctl start nginx
sudo systemctl enable nginx
이제 Nginx 서비스가 실행 중이고 활성화되어 시스템 부팅 시 자동으로 실행됩니다.
마지막으로 다음을 사용하여 Nginx 서비스를 확인하여 서비스가 실행 중인지 확인합니다.
sudo systemctl status nginx
다음과 같은 출력이 표시됩니다. Nginx 서비스가 실행 중인 것을 볼 수 있습니다.
방화벽 설정
Rocky Linux의 기본 방화벽이 실행 중입니다. GlassFish에 액세스하려면 HTTP 포트와 GlassFish 관리 포트 4848을 열어야 합니다.
아래의 다음 firewall-cmd 명령을 실행하여 HTTP 및 HTTPS 서비스와 GlassFish 관리를 위한 기본 포트 4848을 추가하십시오.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-port=4848/tcp --permanent
이제 방화벽 규칙을 다시 로드하고 다음 명령을 통해 활성화된 규칙 목록을 확인합니다.
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
다음 출력을 수신해야 합니다. HTTP 및 HTTPS 서비스가 firewalld에 추가되고 GlassFish 관리 포트 4848/tcp도 추가됩니다.
GlassFish 액세스
로컬 컴퓨터에서 다음 nano 편집기를 사용하여 /etc/hosts 파일을 편집합니다.
sudo nano /etc/hosts
파일에 다음 구성을 추가하고 GlassFIsh 설치를 위해 서버 IP 주소와 로컬 도메인 이름을 변경해야 합니다.
192.168.5.100 glassfish.hwdomain.io
파일을 저장하고 완료되면 편집기를 종료하십시오.
그런 다음 웹 브라우저를 열고 GlassFish 설치의 도메인 이름(예: http://glassfish.hwdomain.io/)을 방문합니다. 이제 GlassFish의 기본 index.html 페이지를 가져와야 합니다.
이제 새 탭을 열고 도메인 이름과 관리 포트 4848(예: https://glassfish.hwdomain.io:4848/)을 차례로 방문합니다. 이제 GlassFish의 관리 로그인 페이지가 나타납니다.
구성한 관리 사용자 및 암호를 입력하고 로그인을 클릭합니다.
관리 사용자 및 암호가 올바른 경우 다음과 같이 GlassFish 관리 대시보드가 표시되어야 합니다.
결론
이 안내서에서는 Rocky Linux 서버에 GlassFish Java Application Server를 설치했습니다. 또한 Java OpenJDK 11을 설치하고 Linux 시스템에 새 서비스 파일을 추가했습니다. 마지막으로 GlassFish Java 애플리케이션 서버용 리버스 프록시로 Nginx 웹 서버를 설치하고 구성하는 방법도 배웠습니다.
다음 단계에서는 이제 다른 애플리케이션 배포를 시작하거나 GLassFish의 고가용성 구성을 시작할 수 있습니다.