CentOS 7部署jar包

适用于 Java项目开发,打包为jar的应用程序部署,操作系统为CentOS 7.9。

安装Java运行时,此处省略800字…

将打包好的*.jar文件、config文件上传到服务器/home/8001目录下。

cd /home/8001
vim run.sh

输入以下内容:

#!/bin/bash
# 修改为jar包名称
AppName=GovServices.jar
# 修改端口号
PortID=8001

# 以下无需修改
# 设置Java虚拟机系统内存参数
JVM_OPTS="-server -Xms256M -Xmx256M -XX:PermSize=128M -XX:MaxPermSize=512M"
PID=""

getpid() {
    TempPID=$(netstat -antlp | grep $PortID | awk '{print $7}')
    echo ${TempPID%%/java}
}

function start() {
    PID=$(getpid)
    if [ x"$PID" != x"" ]; then
        echo "$AppName (pid:$PID) is running..."
    else
        echo "Start $AppName..."
        nohup java -jar $JVM_OPTS $AppName >/dev/null 2>&1 &
        sleep 5
        local t=1
        while [ x"$PID" == x"" ] && [ $t -lt 20 ]; do
            PID=$(getpid)
            if [ x"$PID" != x"" ]; then
                echo "Start $AppName (pid:$PID) success..."
            else
                echo "$((t*5)) seconds..."
                sleep 5
            fi 
            (( t+=1 )) 
        done
        if [ x"$PID" == x"" ]; then
            echo "Failed to start $AppName. See \"cat logs/sys-info.log\" and \"cat logs/sys-error.log\" for details."
        fi
    fi
}

function stop() {
    PID=$(getpid)
    if [ x"$PID" != x"" ]; then
        echo "Stop $AppName (pid:$PID)"
        kill -TERM $PID
        echo "$AppName (pid:$PID) exiting..."
        while [ x"$PID" != x"" ]; do
            sleep 3
            PID=$(getpid)
        done
        echo "$AppName exited."
    else
        echo "$AppName already stopped."
    fi
}

function restart() {
    stop
    sleep 5
    start
}

function status() {
    PID=$(getpid)
    if [ x"$PID" != x"" ]; then
        echo "$AppName (pid:$PID) is running..."
    else
        echo "$AppName is not running..."
    fi
}

case $1 in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    restart
    ;;
status)
    status
    ;;
*) ;;
esac


:wq命令保存退出后,chmod u+x run.sh 授予当前用户执行权限。
服务控制命令:

# 启动
./run.sh start
# 停止
./run.sh stop
# 重启
./run.sh restart
# 查看状态
./run.sh status

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS7部署Java WebSocket,可以使用Java API for WebSocket(JSR 356)和Tyrus实现。以下是基本步骤: 1. 安装Java和Maven ``` sudo yum install java-1.8.0-openjdk-devel sudo yum install maven ``` 2. 创建Maven项目并添加Tyrus依赖 ``` mvn archetype:generate -DgroupId=com.example.websocket -DartifactId=websocket-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.glassfish.tyrus</groupId> <artifactId>tyrus-server</artifactId> <version>1.13</version> </dependency> <dependency> <groupId>org.glassfish.tyrus</groupId> <artifactId>tyrus-container-grizzly-server</artifactId> <version>1.13</version> </dependency> ``` 3. 创建WebSocket端点类 ``` import javax.websocket.OnMessage; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/websocket") public class WebSocketEndpoint { @OnMessage public void onMessage(String message, Session session) { System.out.println("Received message: " + message); session.getAsyncRemote().sendText("Echo: " + message); } } ``` 4. 启动WebSocket服务器 ``` import org.glassfish.tyrus.server.Server; public class WebSocketServer { public static void main(String[] args) { Server server = new Server("localhost", 8080, "/", WebSocketEndpoint.class); try { server.start(); System.out.println("WebSocket server started"); Thread.currentThread().join(); } catch (Exception e) { e.printStackTrace(); } finally { server.stop(); } } } ``` 5. 编译和运行 ``` mvn clean package java -cp target/websocket-demo-1.0-SNAPSHOT.jar com.example.websocket.WebSocketServer ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值