文章目录
- 一、介绍
- 二、下载
- 三、安装
- 1. 下载源码后,找到数据库SQL并初始化,SQL路径如图
- 2. 找到配置文件,配置初始化好后的数据库地址
- 3. 在pom文件中加入以下配置,使jar变更为./可执行文件
- 4. 编译打包jar(也可以本地先运行),这里就是属于项目部署了,随便那种打包方式都可以,当前选择加入到系统服务。先创建文件路径
- 5. 进入目录,并上传jar包到目录,并重命名为xxl-job、授权
- 6. 在同级目录创建同名conf文件
- 7. 然后将配置文件application.properties文件放到同级目录,这样后续更改这里的文件,直接重启项目就能生效
- 8. 创建系统服务
- 9. 刷新服务配置
- 10. 设置开机自启
- 11. 启动项目
- 12. 默认账号密码
- 四、其他系统服务常用命令
一、介绍
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。本文将以该项目为例,演示如何部署生产项目到系统服务。
二、下载
1. 官方下载地址
https://github.com/xuxueli/xxl-job/releases
三、安装
1. 下载源码后,找到数据库SQL并初始化,SQL路径如图
2. 找到配置文件,配置初始化好后的数据库地址
该配置文件的其他属性简介如下
### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root_pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
### 报警邮箱
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
### 调度中心通讯TOKEN [选填]:非空时启用;
xxl.job.accessToken=
### 调度中心国际化配置 [必填]: 默认为 "zh_CN"/中文简体, 可选范围为 "zh_CN"/中文简体, "zh_TC"/中文繁体 and "en"/英文;
xxl.job.i18n=zh_CN
## 调度线程池最大线程配置【必填】
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100
### 调度中心日志表数据保存天数 [必填]:过期日志自动清理;限制大于等于7时生效,否则, 如-1,关闭自动清理功能;
xxl.job.logretentiondays=30
3. 在pom文件中加入以下配置,使jar变更为./可执行文件
<configuration>
<!--表示打包后是可执行文件-->
<executable>true</executable>
</configuration>
4. 编译打包jar(也可以本地先运行),这里就是属于项目部署了,随便那种打包方式都可以,当前选择加入到系统服务。先创建文件路径
mkdir -p /opt/xxl-job
5. 进入目录,并上传jar包到目录,并重命名为xxl-job、授权
cd /opt/xxl-job
chmod +x xxl-job.jar
6. 在同级目录创建同名conf文件
vi xxl-job.conf
export JAVA_HOME=/etc/graalvm-ce-java17-22.3.1
export JAVA_OPTS="-Xmx512m -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"
这里指定了jdk和相关jvm优化信息。如果你是独立部署的生产级别应用,可以把堆内存设置大一点
export JAVA_HOME=/etc/graalvm-ce-java17-22.3.1
export JAVA_OPTS="-Xms2048m -Xmx2048m -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"
授权
chmod +x xxl-job.conf
7. 然后将配置文件application.properties文件放到同级目录,这样后续更改这里的文件,直接重启项目就能生效
8. 创建系统服务
vi /etc/systemd/system/xxl-job.service
注意,文件里面不能识别末尾的# 文档注释
,所以这里给了一份一样的,没有注释
[Unit]
Description=xxl-job-service
After=syslog.target mysqld
[Service]
User=root
ExecStart=/opt/xxl-job/xxl-job.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
[Unit]
Description=xxl-job-service # 表示添加一个名叫xxl-job的系统服务
After=syslog.target mysqld # 表示在日志服务启动后再启动本服务,因为我mysql也在本机,所以这里先启动mysql
[Service]
User=root # 表示文件以root用户身份启动
LimitNOFILE=65535 # 文件句柄限制为65535
ExecStart=/opt/xxl-job/xxl-job.jar # 启动命令
SuccessExitStatus=143 # 成功的退出状态被特别设置为143
PrivateTmp=true # 每个服务都会在其私有的临时目录中运行,这个目录会在服务启动时创建,并在服务停止时删除
[Install]
WantedBy=multi-user.target # 表示这个服务应该在多用户模式下启动
9. 刷新服务配置
systemctl daemon-reload
10. 设置开机自启
systemctl enable xxl-job
11. 启动项目
systemctl start xxl-job
12. 默认账号密码
- 访问地址:
http://ip:8080/xxl-job-admin
- 账号:
admin
- 密码:
123456
四、其他系统服务常用命令
- 启动:
systemctl statr xxl-job
- 关闭:
systemctl stop xxl-job
- 查看状态:
systemctl status xxl-job
- 开机自启:
systemctl enable xxl-job
- 停止开机自启:
systemctl disable xxl-job
- 刷新配置文件:
systemctl daemon-reload