内网环境安装nginx,内网环境安装jdk并部署jar项目相关环境配置流程,附下载地址

该教程详细介绍了如何在Linux(CentOS7)环境下,从零开始搭建服务器,包括JDK的安装、Nginx的配置,以及如何运行jar包进行项目部署。步骤中还涉及到了环境变量设置、rpm包安装和进程检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VPN访问内网linux环境部署项目
之前出过一套从0开始的服务器搭建+项目部署教程,互联网环境请访问很细的项目部署上线流程(一)服务器搭建环境从0开始,Linux安装JDK安装nginx部署ssl证书安装git安装node安装pm2安装maven
下面安排一套linux环境centos7环境配置+简单的jar包启动,相应的其他内核请更换下载地址的访问链接

一、JDK安装
下载jdk
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

上传
scp ./jdk-8u361-linux-x64.tar.gz root@x.x.x.x:/opt/jdk
1
需要提前建好对应目录,也可以放在别的目录

解压
tar -zxvf jdk-8u361-linux-x64.tar.gz
1
修改环境变量vi /etc/profile
末尾添加下面代码,写完后保存退出
export JAVA_HOME=/opt/jdk1.8.0_361
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HIOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1
2
3
刷新环境变量
source /etc/profile
1
二、Nginx安装
下载rpm包
http://nginx.org/packages/centos/7/x86_64/RPMS/

上传
scp ./nginx-1.20.1-1.el7.ngx.x86_64.rpm root@x.x.x.x:/opt/nginx
1
安装
cd /opt/nginx
rpm -ivh nginx-1.20.1-1.el7.ngx.x86_64.rpm
1
2
查看运行情况

ps -ef | grep nginx
1
三、jar包运行
nohup java -Xms4096m -Xmx4096m -jar xxx.jar --server.port=18080 >/dev/null &
1
以上就是内网环境安装全流程,启动脚本关闭了日志,如果需要日志请将dev/null更换为xxx.log文件地址
 

<think>首先,用户的问题是关于在Nginx集群中部署Java JAR项目的。我需要基于提供的引用内容来构建一个结构清晰的回答。引用包括使用Nginx部署Java项目、SSL证书、集群部署、动静分离、负载均衡等。 关键点: - Nginx处理静态资源高效,适合部署静态资源。 - 集群部署涉及多个服务器运行Java应用。 - 使用Nginx作为反向代理实现负载均衡。 - 部署Java JAR项目通常涉及启动多个实例,通过Nginx代理请求。 回答结构: 1. **介绍**:简要解释NginxJava集群中的作用。 2. **准备Java JAR项目**:如何准备和启动Java应用。 3. **配置Nginx集群**:设置Nginx作为反向代理和负载均衡器。 4. **部署静态资源**:如果需要,部署静态资源到Nginx。 5. **示例配置**:提供代码示例。 6. **测试部署**:如何验证部署。 7. **相关问题**:生成相关问题。 引用内容: - [^1]:Nginx部署静态资源高效,将文件复制到Nginx的HTML目录。 - [^2]:Docker和K8s部署Tomcat,但核心是Java环境设置。 - [^3]:启动JAR项目的脚本,包括环境变量设置和端口管理。 - [^4]:Nginx配置负载均衡,使用upstream定义多个服务器。 - [^5]:启动Java JAR实例配置Nginx代理。 用户意图:部署Java JAR项目到基于Nginx的集群环境中,即多个Java实例运行在不同端口或服务器上,Nginx作为前端负载均衡器。 步骤: 1. **准备Java应用**:确保Java应用打包为可执行JAR。 2. **启动多个实例**:在服务器上启动多个JAR实例,使用不同端口(如8090, 8091)。 3. **配置Nginx**:设置upstream定义后端服务器,配置server块代理请求。 4. **部署静态资源**:如果应用有静态资源,部署Nginx目录。 5. **SSL配置**:可选,添加SSL证书以实现HTTPS。 示例配置: - 基于[^4],提供Nginx配置示例。 - 基于[^3],提供启动JAR的脚本。 确保回答真实可靠:基于引用内容,避免猜测。 最后,生成相关问题。</think>### 在Nginx集群中部署Java JAR项目的步骤指南 部署Java JAR项目到基于Nginx的集群环境,可以实现高可用、负载均衡和动静分离。核心思路是:将多个Java应用实例运行在不同端口或服务器上,Nginx作为反向代理分发请求,同时处理静态资源以提高性能。以下是详细步骤,基于引用内容优化实践。 --- ### 1. **准备Java JAR项目** 确保Java应用打包为可执行JAR文件(例如`myapp.jar`)。在服务器上安装Java运行环境(JRE/JDK),设置环境变量: ```bash # 设置Java环境变量(示例路径,需根据实际修改) export JAVA_HOME=/usr/local/jdk1.8.0_291 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ``` - **验证**:运行`java -jar myapp.jar --server.port=8080`,访问`http://localhost:8080`确认应用正常[^5]。 --- ### 2. **启动多个Java实例** 在单台服务器或多台服务器上启动多个JAR实例,使用不同端口(如8090、8091)以模拟集群。推荐使用脚本管理启动: ```bash #!/bin/bash # 启动脚本示例(保存为start.sh,参考引用[3]) export JAVA_HOME=/usr/local/jdk1.8.0_291 export PATH=$JAVA_HOME/bin:$PATH Port=8090 # 可改为8091等不同端口 JarName=myapp.jar LogsPatch=./logs_$Port # 停止旧进程 ID=$(ps -ef | grep $JarName | grep $Port | grep -v "grep" | awk '{print $2}') if [ -n "$ID" ]; then kill -9 $ID echo "已停止端口 $Port 的旧进程" fi # 启动新实例 mkdir -p $LogsPatch nohup java -jar $JarName --server.port=$Port > $LogsPatch/catalina.out 2>&1 & echo "Java应用已在端口 $Port 启动,日志见 $LogsPatch/catalina.out" ``` - **关键点**: - 为每个实例分配唯一端口(如8090、8091)。 - 使用`nohup`后台运行,避免会话中断。 - 在多台服务器部署时,确保IP地址不同(如10.40.92.137:8090和10.40.92.138:8091)[^4]。 --- ### 3. **配置Nginx集群和负载均衡** Nginx作为反向代理,将请求分发到多个Java实例。编辑Nginx配置文件(通常位于`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`): ```nginx # 定义后端服务器组(upstream) upstream java_servers { server 10.40.92.137:8090; # 实例1的IP和端口 server 10.40.92.137:8091; # 实例2的IP和端口(同服务器不同端口或多服务器) # 可选:权重配置(weight=2表示更高优先级) } server { listen 80; # HTTP端口 server_name your-domain.com; # 域名或IP # 处理静态资源(如HTML/CSS/JS) location /static/ { root /usr/share/nginx/html; # Nginx静态资源目录 index index.html; } # 代理Java动态请求 location / { proxy_pass http://java_servers; # 指向upstream组 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } # 错误页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } ``` - **关键点**: - `upstream`定义Java实例列表,支持IP轮询或权重分配。 - 动静分离:静态资源由Nginx直接处理(复制文件到`/usr/share/nginx/html/static/`),动态请求转发给Java集群[^1][^4]。 - 多服务器部署时,确保网络互通(如使用内网IP)。 --- ### 4. **部署静态资源(可选)** 如果Java项目包含前端文件(如HTML、CSS),部署Nginx目录以提高性能: ```bash # 将本地静态文件复制到Nginx目录 cp -r /path/to/static/files /usr/share/nginx/html/static/ # 重启Nginx使配置生效 systemctl restart nginx ``` --- ### 5. **测试与验证** 1. **检查Java实例**:运行`ps -ef | grep java`确认多个端口实例已启动。 2. **测试Nginx负载均衡**: - 访问`http://your-domain.com/static/`应直接返回静态资源。 - 访问`http://your-domain.com/`应轮询分发到不同Java实例(可通过日志验证)。 3. **添加SSL(可选)**: - 使用Let's Encrypt申请证书,配置Nginx监听443端口添加SSL参数[^1]。 --- ### 注意事项 - **性能优化**:Nginx处理静态资源时,吞吐量比Tomcat高5-10倍,适合高发场景[^1]。 - **扩展性**:添加新实例时,只需在`upstream`中新增`server`行重载Nginx(`nginx -s reload`)。 - **故障排查**:监控Java日志(`logs/catalina.out`)和Nginx错误日志(`/var/log/nginx/error.log`)。 通过以上步骤,您可高效部署Java JAR项目Nginx集群,实现负载均衡和资源优化。部署过程基于生产实践,确保可靠性[^4][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值