XXL-JOB Linux部署核心三步:装JDK 8、MySQL 5.7+/8.0、Maven 3.6+;执行doc/db/tables_xxl_job.sql初始化数据库;精准修改application.properties中server.port、context-path、datasource.url及执行器地址等关键配置,再mvn clean package启动。

直接上结论:Linux部署XXL-JOB核心就三步——装好JDK+MySQL、初始化数据库、改对application.properties里那几处关键配置,然后mvn clean package启动即可。别被“分布式”吓住,单机跑通是默认路径。
必须提前装好的基础环境有哪些
XXL-JOB是Java写的,不依赖容器或K8s,但硬性依赖三项:
- JDK 8(推荐
java-1.8.0-openjdk,不是JDK 11+,否则xxl-job-admin启动报UnsupportedClassVersionError) - MySQL 5.7 或 8.0(注意驱动类名:
com.mysql.cj.jdbc.Driver,不是com.mysql.jdbc.Driver) - Maven 3.6+(用于编译源码,
mvn clean package不能跳过)
常见坑:yum install java-1.8.0-openjdk-devel漏掉-devel会导致javac不可用,Maven编译失败;MySQL没开远程访问或防火墙拦了3306,spring.datasource.url连不通会静默卡在启动日志末尾,看不出错。
数据库初始化和SQL脚本执行要点
SQL文件在解压后的doc/db/tables_xxl_job.sql,不是tables_xxl_job_oracle.sql(那是Oracle版)。执行前必须确认:
- 已手动创建库:
CREATE DATABASE xxl_job CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - 连接URL里
serverTimezone=Asia/Shanghai必须加,否则MySQL 8.0+会抛Unable to set client connection time zone - 执行时别用
source tables_xxl_job.sql后直接回车——如果SQL里有中文注释或分号嵌套,Navicat或mysql命令行可能解析失败,建议复制全部内容粘贴执行
执行成功后应有8张表,重点检查xxl_job_user(默认账号admin/123456)、xxl_job_group(执行器注册用)是否存在。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
最关键的三个配置文件修改位置
别全局搜索替换,只动这三处,其他保持默认就能跑起来:
-
xxl-job-admin/src/main/resources/application.properties:-
server.port=8080(按需改,但别用80——需要root权限) -
server.servlet.context-path=/xxl-job-admin(必须带前缀,否则Web页面404) -
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai(&是XML转义,别写成&)
-
-
xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties:-
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin(地址必须和上面context-path严格一致) -
xxl.job.executor.appname=xxl-job-executor-sample(这个值要和调度中心后台「执行器管理」里填的一样,否则注册不上)
-
-
logback.xml里的<property name="log.path" value="/var/log/xxl-job/admin.log"/>(确保目录存在且Java进程有写权限,否则日志全丢)
改完立刻mvn clean package,生成的xxl-job-admin/target/xxl-job-admin-2.x.x.jar才是可执行包。别直接运行IDEA里的main方法——Linux服务器没IDEA。
启动后打不开页面或登录失败怎么办
启动命令:nohup java -jar xxl-job-admin-2.4.0.jar > admin.log 2>&1 &。验证是否真跑起来:
-
ps -ef | grep xxl-job-admin看进程在不在 -
tail -f admin.log查最后10行,出现Started XxlJobAdminApplication才算成功 - curl
http://localhost:8080/xxl-job-admin返回HTTP 200,不是Connection refused
最常忽略的点:xxl-job-executor-sample-springboot服务必须也启动(哪怕只跑一个),否则调度中心首页显示「执行器注册数:0」,所有任务状态永远是失败——因为没地方执行。它不报错,只是默默不干活。

















