项目准备
以博客项目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

本文以oneBlog项目为例,详细介绍了如何将Java项目部署到Linux服务器,包括使用maven打包项目,创建服务器目录,通过java -jar、nohup、注册为Linux服务以及systemctl启动方式来启动和管理项目。
509

被折叠的 条评论
为什么被折叠?



