美文网首页
ubuntu脚本自动部署jar包java

ubuntu脚本自动部署jar包java

作者: Mr培 | 来源:发表于2020-01-02 17:06 被阅读0次
ubuntu基础环境配置

系统环境最好不要用最新的(18.04),稳定的是16.04(推荐)
nginx
JDK
以下环境根据自己需求安装
mysql
rabbitmq3.6及延迟队列
redis
环境安装参考

java项目主要相关情况

security + JWT 微服务系统,打包成 .jar 的形式

ubuntu中项目service的配置

将jar的执行命令写成ubuntu的service脚本,以便 systemctl 管理
journalctl命令大全
journalctl命令可以很方便的查看项目的日志

service的配置

1.进入system目录

cd /etc/systemd/system/

2.创建 .service 文件 例如: 您的项目名.service
以transfer.service为例 aliyun.service阿里云服务器系统自带

cp aliyun.service transfer.service

3.删除transfer.service所有内容,修改为

[Unit]
Description=transfer
After=syslog.target
After=network.target[Service]
User=root
Type=simple

[Service]
ExecStart=/usr/bin/java -jar /root/project/transfer.jar --spring.profiles.active=pro
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=transfer

[Install]
WantedBy=multi-user.target

根据自己项目情况修改
Description :项目描述
ExecStart :执行jar的命令
/root/project/transfer.jar jar包所在目录
--spring.profiles.active=pro 项目执行时运行哪一个yml配置文件
SyslogIdentifier :项目日志名称
其余的全部默认

启动service

systemctl start transfer.service

查看service状态

systemctl status transfer.service

停止service

systemctl stop transfer.service

查看service日志

journalctl -f -u transfer.service -n 1000
更多详细命令参考
linux journalctl 命令

nginx的配置

1.进入nginx配置目录

cd /etc/nginx/sites-enabled/

2.配置

server {
        listen 80;
        server_name xxx.xxx.com;

    location /transfer {
       proxy_pass http://localhost:8086/transfer;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header X-Forwarded-Port $server_port;
    }
}

transfer :为项目名
8086 :为项目启动的端口号

通过脚本文件自动部署项目

根据项目运行环境在服务器安装相关环境
例:项目中用到 gradle,maven,git

  1. 在服务器安装环境
  • gradle或者maven并配置好环境变量
  • git
  1. 编写.sh脚本
    创建server.sh,并赋予执行权限
#! /bin/bash
systemctl stop transfer.service #停止服务
cd /root/transfer/code/transfer #移动到目录,根据自己的情况来
git pull #拉代码,需要按装git,并配置
gradle clean bootjar #打包
cp -f /root/transfer/code/transfer/build/libs/transfer-*.jar /root/transfer/transfer.jar #复制到你的目录,这里根据自己的情况来
systemctl start transfer.service #启动服务
  1. 测试脚本

创建项目存放文件夹 /root/transfer/code
在code下 执行 git clone 项目地址,验证git是否正常执行
gradle clean bootjar 打包项目,测试打包是否成功。注意:gradle版本要与项目中使用的版本一致,否则打包可能失败
执行没有问题,则脚本可用。

相关文章

网友评论

      本文标题:ubuntu脚本自动部署jar包java

      本文链接:https://www.haomeiwen.com/subject/ylinoctx.html