Java项目部署到Linux

项目准备

以博客项目oneBlog为例,来分享一下怎么将java项目部署到linux服务器。

1、将项目打包

在idea通过maven执行package方法,将项目打包为jar包

2、创建目录

在服务器创建放置jar包的目录mkdir /usr/local/project

使用 rz 命令将打好 的jar包上传到project

项目部署

1、java -jar方式启动

在服务器执行 java -jar blog-web.jar

此时,java项目就被启动起来,但是这种方式只能在当前窗口有效,关闭该窗口,则项目就关闭了。

2、nohup方式启动

执行nohub java -jar *.jar >jarLog.txt &

nohub: 不挂断的运行命令
&:后台运行
`>: 日志重定向输出到

3、注册为Linux服务

spring-boot-maven-plugin配置是可以直接像shell脚本一样直接运行的

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <executable>true</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

只需要执行下面的命令

sudo ln -s /var/project/PROJECT_NAME.jar /etc/init.d/SERVICE_NAME

其中 PROJECT_NAME 就是你上传的jar包的名字,SERVICE_NAME是你自己定义的服务的名字。
然后就可以使用service命令来启动服务

启动/关闭 服务
service SERVICE_NAME start/stop
查看状态
service SERVICE_NAME status
设置开机自启
chkconfig SERVICE_NAME on

4、systemctl启动方式

以dblog项目为例,在/usr/lib/systemd/system目录新增’dblog.service’文件

具体内容如下:

[Unit]
Description=dblog.service
Requires=mysql.service mongod.service redis.service
Wants=blogd.service
After=syslog.target network.target mysql.service mongod.service redis.service dblog.service

[Service]
User=manager
Group=manager
EnvironmentFile=/home/.bash_profile
WorkingDirectory=/home/tomcat
ExecStart=/usr/bin/java -Xms512m -Xmx512m -jar /home/dblog.jar --spring.profiles.active=test

[Install]
WantedBy=multi-user.target

更改完service文件后,执行

  • 重新加载
    systemctl daemon-reload

  • 启动服务
    systemctl start dblog

  • 在系统启动时启动服务
    systemctl enable halo

上述文件中用到的.bash_profile文件如下:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

LOG_PATH=/home/logs
export LOG_PATH
export PATH

你可能感兴趣的:(java,linux,springboot,java,linux,maven)