部署项目和挂载相关学习笔记

部署使用Systemctl启动项目

假设我们的项目名称叫productName,我们希望使用systemctl start productName命令来启动我们的项目,那么我们需要从以下几个步骤来配置系统。

1.配置service文件

在项目的/usr/lib/systemd/system目录下新建一个文件,名为:

productName.service在里面的内容添加:

[Unit]
Description=service for productName
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/data/product/start.sh
ExecStop=/data/product/stop.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

以下是配置内容介绍:

[Unit] #主要是服务说明
Description=service for productName #简单的服务介绍
After=syslog.target network.target remote-fs.target nss-lookup.target #描述服务类别,表示服务需要在syslog,network,remote,nss-lookup几个服务启动后才能启动
#这里还可以加Before=xxx.service 表示在xxx服务之前启动

[Service] #核心区域
Type=forking #表示后台运行模式
//项目启动文件路径
Restart=no #定义服务进程退出后systemd的重启方式,默认不重启
ExecStart=/data/product/start.sh #启动服务命令,值为启动文件
ExecStop=/data/product/stop.sh #关闭服务命令,值为关闭服务文件
PrivateTmp=true #表示给服务分配独立的临时空间

[Install]
WantedBy=multi-user.target #多用户

Type属性的值有:

描述
simple是默认值,代表以Execstart字段启动的进程为主进程
forkingExecstart字段以fox()方式启动,此时父进程退出,子进程将成为后台运行的主进程,一般使用这个值
oneshot类似于simple,但只执行一次,systemd会等这个执行完才执行其它服务
dbus类似于simple,但会等获得D-Bus信号后启动
notify类似于simple,但结束后会发出通知消息,然后才启动其它服务
idle类似于simple,但要等其它服务启动完才启动本服务

Restart属性的值有:

描述
no默认值,退出后无操作
on-success只有正常退出,退出状态为0,才会重启
on-failure非正常退出时重启,包括信号终止或超时
on-abnaomal只有信号终止或超时才会重启
on-abort只有在没有捕捉到信号终止时才会重启
on-watchdog超时退出时才会重启
always不管什么原因都会重启

Exec*后面执行的命令有很多,列表

命令描述
ExecStart启动服务时执行的命令
ExecReload重启服务时执行的命令
ExecStop停止服务时执行的命令
ExecStartPre启动服务前执行的命令
ExecStartPost启动服务后执行的命令
ExecStopPost停止服务后执行的命令
2.配置项目启动文件

由以上配置我们可以看出启动文件路径在/data/product/下,最好能够把项目包也放在该位置

先添加启动文件start.sh,内容添加为:

#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar -Dspring.profiles.active=outernet -Dspring.config.location=/data/product/application-outernet.yml /data/product/productName-0.0.1-SNAPSHOT.jar > /data/product/productName.log &
echo $! > /data/product/productName.pid

然后添加停止文件stop.sh,内容添加为:

#!/bin/sh
kill -9  `cat /data/product/productName.pid`
在linux系统中挂载磁盘方式:
mount –t nfs 127.0.0.1:/ceshi /home/test –o vers=3

mount是挂载命令

参数选项:

-t:

vfstype指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。常用类型有:

代表类型
iso9660光盘或者光盘镜像
msdosDOS fat16文件系统
vfatWindows 9x fat32文件系统
ntfsWindows NT ntfs文件系统
smbfsWindows文件网络共享
nfsUNIX(LINUX)文件网络共享

由此可以看出示例命令挂载的linux网络共享文件

-o:

options主要用来描述设备或档案的挂载方式

含义
loop用来把一个文件当成硬盘分区挂载到系统
ro采用只读当时挂载设备
rw采用读写方式挂载设备
iocharset指定访问文件系用所用字符集
设置linux开机自动执行方法

很简单,linux开机会在login之前自动执行rc.local脚本

我们只需要把需要开机自启动的命令加入rc.local文件的底部既可

常用设备:centos系统在/etc/rc.d/rc.local

ubuntu系统在/etc/init.d/rc.local

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值