Linux服务器部署XXL-JOB

参考文档及下载地址:分布式任务调度平台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执行器的文章!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Linux部署 xxl-job,需要进行以下步骤: 1. 安装 Java:在 Linux 上安装 Java 运行环境。 2. 下载 xxl-job:从 xxl-job 的官网下载 xxl-job 的安装包。 3. 解压安装包:使用以下命令解压安装包。 ```bash tar -zxvf xxl-job-2.3.0.tar.gz ``` 4. 修改配置文件:进入解压后的 xxl-job 目录,修改 `conf/application.properties` 配置文件,配置数据库连接等参数。 ```properties # xxl-job admin address list, such as "http://address" or "http://address01,http://address02" xxl.job.admin.addresses=http://localhost:8080/xxl-job-admin # xxl-job executor ip: default get local address xxl.job.executor.ip= # xxl-job executor port: default 9999 xxl.job.executor.port=9999 # xxl-job executor appname xxl.job.executor.appname=xxl-job-executor-sample # xxl-job executor log path xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler # xxl-job executor log retention days xxl.job.executor.logretentiondays=30 # xxl-job executor registry address: zookeeper address xxl.job.registry.address=zookeeper://localhost:2181 ``` 5. 启动 xxl-job-admin:使用以下命令启动 xxl-job-admin。 ```bash sh bin/startup.sh ``` 6. 访问 xxl-job-admin:在浏览器中访问 `http://localhost:8080/xxl-job-admin`,输入用户名和密码,登录 xxl-job-admin。 7. 创建任务:在 xxl-job-admin 中创建任务,并配置任务的执行方式、参数等。 8. 启动 xxl-job-executor:在需要执行任务的服务器上,使用以下命令启动 xxl-job-executor。 ```bash java -jar xxl-job-executor-sample-springboot-2.3.0.jar ``` 以上就是在 Linux部署 xxl-job 的步骤。通过 xxl-job,我们可以方便地实现分布式定时任务调度,提高系统的可扩展性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值