部署成服务

1. 部署

1.1. 打包生成jar

创建项目 website,最后打包出website.jar
创建Controller

Maven àpackage 后如果报下面错误
jar中没有主清单属性

解决方法如下:
第一步 file–>project structure 弹框后选中Atifacts—> + ---->jar---->from module with dependenceis

第二步选择一个Main Class,然后指定META-INF/MANIFEST.MF的路径为src下
在这里插入图片描述

修改pom.xml 注释掉true

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.example.website2.Website2Application</mainClass>
<!--                    <skip>true</skip>-->
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

1.2. 安装java

[root@localhost ~]# java –version
-bash: java: command not found

把 \课前资料\software\部署\jdk-8u271-linux-x64.tar.gz拷贝到usr/local/src文件夹中 。

cd /usr/local/src
tar -zxvf jdk-8u271-linux-x64.tar.gz

打印/etc/profile文件,在文件末尾加入下面 几行。

#java environment
export JAVA_HOME=/usr/local/src/jdk1.8.0_271
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

让环境变量生效

source /etc/profile

java –version

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

1.3. nohup &的使用

1.3.1. 直接启动

java -jar website.jar --server.port=9000

启动后能访问http://192.168.64.140:9000,ctrl c就不能访问

1.3.2. 使用&

java -jar website.jar --server.port=9000&

启动后能访问,ctrl c后还能访问

ps -ef | grep 9000

关闭终端后不能访问

1.3.3. 使用nohup

cd /usr/local/src
nohup java -jar website.jar --server.port=9000&

ctrl c后还能访问,关闭终端后能访问

Nohup =no hang up
& ctrl c 还在后台运行

1.3.4. 测试服务是否可用

在这里插入图片描述### 1.3.5. 杀进程
在这里插入图片描述

1.4. 使用sh执行

“"#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。(#! /bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面跟的是解释此脚本的shell的路径)如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell.

#!/bin/sh
nohup java -jar website.jar --server.port=9000 &

在这里插入图片描述
在这里插入图片描述

1.5. 做成服务

1.5.1. 服务介绍

服务是开机自动启动。
Windows中的服务
在这里插入图片描述

Linux中的tomcat,数据库,redis,消息队列,docker都要做成开机自启动。

1.5.2. 停止进程

在这里插入图片描述

1.5.3. 启动服务脚本

/usr/local/src/website-start-service.sh

#!/bin/sh
export JAVA_HOME=/usr/local/src/jdk1.8.0_271
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar /usr/local/src/website.jar --server.port=9000 &
echo $! > /usr/local/src//website.pid

1.5.4. 停止服务脚本

/usr/local/src/website-stop-service.sh

#!/bin/sh
PID=$(cat /usr/local/src/website.pid)
kill -9 $PID

1.5.5. 设置权限

chmod -R 777 /usr/local/src
chmod -R 777 /usr/local/src/website-start-service.sh
chmod -R 777 /usr/local/src/website-stop-service.sh

1.5.6. 创建.service文件

编写注册服务 website.service 放到目录 /usr/lib/systemd/system

[Unit]
Description=website
After=network.target   
[Service]
Type=forking
ExecStart=/usr/local/src/website-start-service.sh
ExecStop=/usr/local/src/website-stop-service.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target

1.5.7. 服务做成开机自动

systemctl start website #启动 website 服务
systemctl stop website #停止 website 服务

systemctl list-unit-files #查看当前服务(是否开机启动等)状态

systemctl list-unit-files | grep website

systemctl status website #查看 website 服务当前的运行状态

systemctl enable website #开机启动 website 服务

systemctl status website

systemctl disable website #取消开机启动 website 服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值