Linux服务器部署XXL-JOB

本文详细描述了如何从Git获取XXL-JOB源代码,进行必要的依赖调整、数据库设置、配置文件修改,以及打包、本地测试和部署到Linux服务器的过程,包括密码加密和基本的运行命令。

参考文档及下载地址:分布式任务调度平台XXL-JOB

1 从git拉取XXL-JOB代码

我们的大部分变动,是发生在xxl-job-admin,最终将这个模块打包成jar包部署在linux服务器上。

2 执行数据库脚本

doc\db\tables_xxl_job.sql

3 修改pom文件,增加依赖

		<dependency>
			<groupId>com.github.ulisesbocchio</groupId>
			<artifactId>jasypt-spring-boot-starter</artifactId>
            <!-- 用于配置文件密码加密 -->
			<version>2.0.0</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.9</version>
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-core</artifactId>
			<version>9.0.71</version>
		</dependency>

4 修改配置文件

不要直接粘贴复制,重点修改端号(不要存在冲突)、数据库配置(ENC加密,需要配置秘钥,我这里是手动生成的一个jasypt.encryptor.password=123456)、设置accessToken

配置文件如何给密码加密移步另外一篇文章

### web
server.port=8080
server.servlet.context-path=/xxl-job-admin

### actuator
management.server.servlet.context-path=/actuator
management.health.mail.enabled=false

### resources
spring.mvc.servlet.load-on-startup=0
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/

### freemarker
spring.freemarker.templateLoaderPath=classpath:/templates/
spring.freemarker.suffix=.ftl
spring.freemarker.charset=UTF-8
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.number_format=0.##########

### mybatis
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
#mybatis.type-aliases-package=com.xxl.job.admin.core.model

### xxl-job, datasource
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=ENC(root_pwd)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

### datasource-pool
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=HikariCP
spring.datasource.hikari.max-lifetime=900000
spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.hikari.validation-timeout=1000

### xxl-job, email
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.from=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

### xxl-job, access token
xxl.job.accessToken=default_token

### xxl-job, i18n (default is zh_CN, and you can choose "zh_CN", "zh_TC" and "en")
xxl.job.i18n=zh_CN

## xxl-job, triggerpool max size
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100

### xxl-job, log retention days
xxl.job.logretentiondays=30

jasypt.encryptor.password=123456

5 修改日志文件(可选)

建议修改,线上项目规范化

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">

    <contextName>logback</contextName>
    <property name="log.path" value="/apprun/logs/xxl-job"/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/xxl-admin.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/xxl-admin.%d{yyyy-MM-dd}-%i.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
            </pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="file"/>
    </root>

</configuration>

6 打包

网上很多说直接打包xxl-job-admin模块的,这样容易报错:

Failure to find com.xuxueli:xxl-job:pom:2.4.1-SNAPSHOT in http://maven.aliyun.com/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates are forced

原因好像发生在aliyun没有xxl-job-core的依赖包,不能直接在xxl-job-admin模块打包。

解决办法是直接在根目录,运行mvn package命令

7 本地测试

运行XxlJobAdminApplication,本地访问

http://localhost:8080/xxl-job-admin

默认账号密码:admin,123456

8 部署并启动

将这个jar包放在linux服务器上,并使用后台运行

nohup java -jar xxl-job-admin-2.4.1-SNAPSHOT.jar &

这是一篇部署xxljob服务的文章,后续有时间继续肝部署xxljob执行器的文章!!!

<think>嗯,用户想在Linux系统上部署xxl-job的任务调度平台。我需要根据提供的引用信息来整理步骤。首先,用户之前的问题是关于部署的,现在需要安装和配置调度平台。引用1提到使用nohup运行jar包,引用2和3提到了修改日志路径和配置文件application.properties。 首先,我得确认步骤的正确顺序。可能需要先下载并解压xxl-job的安装包,然后修改配置文件,比如数据库连接、日志路径等。接着是编译打包,生成jar文件,最后用nohup命令启动服务。可能还需要开放端口,比如8080,以及配置防火墙。 用户可能对Java环境有要求,所以需要检查是否安装了JDK8+。另外,配置文件中数据库的设置是关键,要确保用户已经创建了数据库并导入了SQL脚本。日志路径的修改在引用2中有提到,需要编辑logback.xml文件。还要提醒用户检查端口冲突,避免服务启动失败。 可能的问题包括:编译时缺少依赖,数据库连接失败,或者权限问题。需要指导用户如何排查这些错误,比如查看日志文件。另外,后续的步骤可能包括部署执行器,但用户当前的问题主要是调度平台的安装,所以先聚焦于此。 生成的相关问题应该围绕部署后的配置优化、数据库迁移、日志管理以及高可用部署。这样用户如果有进一步需求,可以参考这些问题进行扩展学习。</think>### Linux部署XXL-JOB调度平台完整步骤 #### 一、环境准备 1. 安装JDK8+环境并配置JAVA_HOME 2. 创建MySQL数据库(建议5.7+版本) ```sql CREATE DATABASE `xxl_job` DEFAULT CHARACTER SET utf8mb4; ``` 3. 下载最新release包(当前以2.4.1为例) ```bash wget https://github.com/xuxueli/xxl-job/releases/download/v2.4.1/xxl-job-2.4.1.tar.gz ``` #### 二、配置文件修改 1. 解压安装包 ```bash tar -zxvf xxl-job-2.4.1.tar.gz && cd xxl-job-2.4.1 ``` 2. 修改数据库配置 ```bash vi xxl-job-admin/src/main/resources/application.properties ``` 修改以下关键参数: ```properties # 数据库地址 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true spring.datasource.username=root spring.datasource.password=your_password # 访问凭证 xxl.job.accessToken=your_token ``` 3. 配置日志路径(按需修改) ```bash vi xxl-job-admin/src/main/resources/logback.xml ``` 修改`<property name="log.path" value="/data/logs/xxl-job" />`[^2] #### 三、编译部署 1. 执行Maven打包 ```bash mvn clean package -Dmaven.test.skip=true ``` 2. 部署启动服务 ```bash nohup java -jar xxl-job-admin/target/xxl-job-admin-*.jar > ./xxl-job.log 2>&1 & ``` 3. 验证服务状态 ```bash netstat -tlnp | grep 8080 # 默认端口8080 tail -f xxl-job.log ``` #### 四、防火墙配置(如需) ```bash firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload ``` #### 五、访问控制台 通过浏览器访问:`http://服务器IP:8080/xxl-job-admin` 默认账号:admin/123456 #### 常见问题排查 1. 端口冲突:修改`application.properties`中`server.port` 2. 数据库连接失败:检查MySQL权限和防火墙设置 3. 启动报错:检查JDK版本是否符合要求
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值