How to Install GlassFish Java Application Server with Nginx Reverse Proxy on AlmaLinux 9

Introduction

GlassFish is an open-source application server project and Nginx is a high-performance web server. This tutorial will guide you through the process of installing GlassFish Java Application Server with Nginx acting as a reverse proxy on AlmaLinux 9.

Prerequisites

Before you begin, ensure you have:

  1. An AlmaLinux 9 server
  2. Root or sudo access to the server
  3. Basic knowledge of Linux command line

Step 1: Install Java Development Kit (JDK)

GlassFish requires Java to be installed on your system. Install OpenJDK 11:

sudo dnf install java-11-openjdk-devel -y

Step 2: Download and Install GlassFish

Download and extract the GlassFish archive:

cd /tmp
wget https://download.oracle.com/glassfish/5.1.1/glassfish-5.1.1.zip
sudo unzip glassfish-5.1.1.zip -d /opt

Step 3: Start GlassFish

Start the GlassFish domain:

sudo /opt/glassfish5/bin/asadmin start-domain

Step 4: Install and Configure Nginx

Install Nginx:

sudo dnf install nginx -y

Create a new server block configuration file for GlassFish:

sudo nano /etc/nginx/conf.d/glassfish.conf

Add the following content:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Test Nginx configuration for syntax errors:

sudo nginx -t

If the test is successful, reload Nginx to apply the changes:

sudo systemctl reload nginx

Step 5: Access GlassFish via Nginx

Open your web browser and navigate to http://your_domain.com. You should see the GlassFish default landing page, indicating that Nginx is successfully acting as a reverse proxy for GlassFish.

Conclusion

Congratulations! You have successfully installed GlassFish Java Application Server with Nginx acting as a reverse proxy on AlmaLinux 9. You can now deploy your Java applications and access them via Nginx.

Was this answer helpful? 0 Users Found This Useful (0 Votes)