CentOS系统环境搭建(二十三)——运行Java服务

centos系统环境搭建专栏🔗点击跳转

文章目录

运行Java服务

我是用jar包的方式运行的Java服务,下面讲讲我是怎么做的。
这里的内容是我腾讯服务器部署的README.md文件的内容。

部署方式

以jar包方式部署

目录位置

bash 复制代码
/srv/tencent/server

进入目录

bash 复制代码
cd /srv/tencent/server
1.停止服务
bash 复制代码
./stop_jar.sh

stop_jar.sh文件内容

bash 复制代码
#!/bin/bash

pkill -f /srv/tencent/server/tencent-2023.09.13.jar
2.运行服务
bash 复制代码
./run_jar.sh

run_jar.sh文件内容

bash 复制代码
#!/bin/bash

# 分配堆内存大小(总内存的四分之一)
heap_memory=1
# 获取线程数量
thread_count=$(nproc)

# 启动 Java 应用程序
#`-server`:指定Java虚拟机以服务器模式运行,以获得更好的性能。
#`-Dfile.encoding=UTF-8`:设置文件编码为UTF-8,确保正确处理文本数据。
#`-XX:ActiveProcessorCount=8`:指定并行处理器的数目为8,以影响Java虚拟机的线程和CPU利用情况。
#`-Xms2g`:指定Java虚拟机的最小堆内存为2g。
#`-Xmx4g`:指定Java虚拟机的最大堆内存为4g。
#`-XX:+UseParallelGC`:启用并行垃圾回收器,以提高垃圾回收的效率。
#`-XX:+UseCompressedOops`:启用压缩指针,以减少内存消耗。
#`-XX:ParallelGCThreads=8`:指定并行垃圾回收器的线程数为8。
#`-XX:+DisableExplicitGC`:禁用显式的垃圾回收调用
#`-XX:+HeapDumpOnOutOfMemoryError`:当发生堆溢出异常时,自动生成堆转储文件(Heap Dump)。
#`-Djava.net.preferIPv4Stack=true`:该属性为 true 可确保 JVM 在具备 IPv6 支持的情况下仍然优先使用 IPv4。
nohup java -server -Dfile.encoding=UTF-8 -XX:ActiveProcessorCount=$thread_count -Xms${heap_memory}G -Xmx${heap_memory}G -XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+UseCompressedOops -XX:ParallelGCThreads=$thread_count -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true -jar /srv/tencent/server/tencent-2023.09.13.jar &
3.查看控制台信息
bash 复制代码
./see_log.sh

see_log.sh文件内容

bash 复制代码
#!/bin/bash

# 实时查看日志末尾1000行
tail -f -n 1000 nohup.out
4. 删除nohup.out文件中的旧数据(只保留末尾二十万行)
bash 复制代码
./clearlog.sh

clearlog.sh文件内容

bash 复制代码
#!/bin/bash

# 保留末尾二十万行
tail -n 200000 nohup.out > temp.txt && mv temp.txt nohup.out
5.日志位置
bash 复制代码
cd /srv/tencent/server/logs
6.文件位置
bash 复制代码
cd /srv/tencent/server/file
7.nginx部署
bash 复制代码
        location /api/ {
            # 设置代理服务器发送的http请求头中Host的值为接收到的客户端请求头中的Host值
            proxy_set_header Host $http_host;
            # 设置代理服务器发送的http请求头中X-Real-IP的值为当前请求的客户端IP地址
            proxy_set_header X-Real-IP $remote_addr;
            # 设置代理服务器发送的http请求头中REMOTE-HOST的值为当前请求的客户端IP地址
            proxy_set_header REMOTE-HOST $remote_addr;
            # 设置代理服务器发送的http请求头中X-Forwarded-For的值为所有经过的代理服务器IP地址列表,多个IP地址之间用逗号隔开
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # 将客户端请求通过代理服务器转发到指定地址
            proxy_pass http://127.0.0.1:8080/api/;
            # 设置代理服务器与后端服务器建立连接的超时时间
            proxy_connect_timeout 3600s;
            # 设置代理服务器从后端服务器读取数据的超时时间
            proxy_read_timeout  3600s;
            # 设置代理服务器向后端服务器发送数据的超时时间
            proxy_send_timeout  3600s;
        }

nginx重新加载配置文件

bash 复制代码
/usr/local/nginx/sbin/nginx -s reload
相关推荐
IOsetting1 分钟前
金山云主机添加开机路由
运维·服务器·开发语言·网络·php
kali-Myon2 分钟前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
我是咸鱼不闲呀5 分钟前
力扣Hot100系列20(Java)——[动态规划]总结(下)( 单词拆分,最大递增子序列,乘积最大子数组 ,分割等和子集,最长有效括号)
java·leetcode·动态规划
酉鬼女又兒6 分钟前
零基础入门Linux指南:每天一个Linux命令_sed
linux·运维·服务器
daad77710 分钟前
tcpdump_BPF
linux·测试工具·tcpdump
予枫的编程笔记13 分钟前
【Linux进阶篇】Linux网络配置+端口监听实战:ip/ss/iptables常用命令一次吃透
linux·iptables·网络配置·curl·端口监听·ping·ss命令
清水白石00814 分钟前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
礼拜天没时间.20 分钟前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
-dcr23 分钟前
58.DevOps进阶
运维·devops
猫头虎25 分钟前
如何使用Docker部署OpenClaw汉化中文版?
运维·人工智能·docker·容器·langchain·开源·aigc