导言
xxl-job是一款开源的分布式任务调度平台,支持在线管理任务和调度任务。本文将详细介绍如何基于2.2.0版本进行xxl-job的部署,包括数据库的初始化、镜像的拉取和运行、以及Nginx的配置。
部署数据库
首先,我们需要部署MySQL数据库作为xxl-job的后端存储。执行以下命令:
docker run -d --name mysql --restart=always -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6
初始化数据
使用以下链接下载xxl-job的数据库初始化脚本:
或者
执行脚本来初始化数据库表结构。
拉取镜像
拉取xxl-job-admin的2.2.0版本镜像:
docker pull xuxueli/xxl-job-admin:2.2.0
运行xxl-job-admin
执行以下命令运行xxl-job-admin:
docker run --net=host --restart=always -e PARAMS="--spring.datasource.url=jdbc:mysql://your_mysql_ip:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.password=123456 --xxl.job.login.password=123456" --name xxl-job-admin -d xuxueli/xxl-job-admin:2.2.0
其中,your_mysql_ip
需要替换为你实际的MySQL服务器IP地址。
参数说明:
spring.datasource.url - 数据库JDBC连接参数
spring.datasource.username - 数据库登录用户名
spring.datasource.password - 数据库登录密码
xxl.job.login.username - 管理UI界面登录用户名
;
xxl.job.login.password - 管理UI界面登录密码
xxl.job.accessToken - 出于安全考虑,管理端与执行器配置成一致即可,或者两边都不配置(可选)
spring.mail.host - 邮箱SMTP配置(可选)
spring.mail.username - SMTP登录用户名(可选)
spring.mail.password - SMTP登录密码(可选)
验证
访问xxl-job-admin的管理界面,使用默认的登录用户名和密码进行验证:
http://your_server_ip:8080/xxl-job-admin
默认登录用户名:admin
默认登录密码:123456
配置Nginx
配置Nginx反向代理,将xxl-job-admin的访问指向后端的xxl-job-admin服务。
upstream xxljob-server{
ip_hash;
server your_xxljob_admin_ip:10100 weight=5 max_fails=3 fail_timeout=30s;
server your_xxljob_admin_ip:10100 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 8080;
server_name localhost;
location /xxl-job-admin/ {
proxy_pass http://xxljob-server/xxl-job-admin/;
index index.html index.htm;
}
}
将your_xxljob_admin_ip
替换为你xxl-job-admin服务的实际IP地址。
结论
通过以上步骤,你已经成功部署了xxl-job的2.2.0版本,并配置了Nginx进行反向代理。现在,你可以使用xxl-job来管理和调度任务了。