Nginx 不是用来直接部署 Java 应用(JAR 文件)的,它是一款轻量级的 HTTP 和反向代理服务器。但是,你可以使用 Nginx 作为反向代理来将请求转发给运行 Java 应用的后端服务。

以下是部署 Java JAR 文件后端服务并通过 Nginx 反向代理的基本步骤:

  1. 运行 Java 应用:

    假设你的 JAR 文件名为 app.jar,你可以使用 java -jar 命令来运行它。

    java -jar app.jar &
    

    这里的 & 是为了让进程在后台运行。

  2. 配置 Nginx:

    编辑 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),添加一个新的 server 块来配置反向代理。

    server {
        listen 80;     
        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;
        }
    }
    

    在这个例子中,Nginx 监听 80 端口,并把所有到这个端口的流量代理给在本地运行的应用(假设它监听的是 8080 端口)。

  3. 重启 Nginx:

    保存配置文件并重启 Nginx 以应用更改。

    sudo nginx -s reload
    

确保你的防火墙设置允许 80 端口的流量,并且你的 Nginx 配置正确无误。现在,你可以通过 Nginx 服务器的 IP 地址或域名访问你的 Java 应用了。