美文网首页
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