领新北斗(TracSeek)车辆动态监控系统 - Linux(Ubuntu) 安装部署完整指南

一、概述

与 Windows 版(全量绿色包)不同,Linux 版需要单独安装 Java、MySQL、Redis、Nginx ,然后手动部署各服务模块。部署完成后可以通过 startup.sh 脚本管理各子服务,也可以配置为 systemd 系统服务实现开机自启。

服务架构:

复制代码
终端设备
  ↓  JT808协议 :8808
jt808_server    ← 核心协议服务(Java)
jt1078_server   ← 视频流服务(Java)
jt1078_ftp      ← 视频附件FTP服务(Java)
jsatl12_server  ← 苏标主动安全服务(Java)
  ↓
MySQL + Redis
  ↓
Nginx :8800     ← 反向代理,对外提供Web访问
  ↓
浏览器

二、系统要求

项目 要求
操作系统 CentOS 7/8、Ubuntu 20.04/22.04、Debian 11+
CPU 2 核及以上
内存 4 GB 以上(推荐 8 GB)
磁盘 至少 20 GB 可用空间
Java OpenJDK 8 或 11
MySQL 8.0
Redis 5.0+
Nginx 1.18+

三、安装基础环境

3.1 安装 Java

Ubuntu:

bash 复制代码
apt update && apt install -y openjdk-8-jdk

验证安装:

bash 复制代码
java -version
# 输出类似:openjdk version "1.8.0_xxx"

3.2 安装 MySQL 8.0

Ubuntu 20.04:

bash 复制代码
# 更新源
sudo apt update
sudo apt upgrade -y

sudo apt install mysql-server -y

systemctl start mysql
systemctl enable mysql

初始化 MySQL root 密码:

bash 复制代码
# 默认没有密码,直接登录
mysql -uroot 

# 修改密码,并刷新
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'lgx123';
FLUSH PRIVILEGES;

进入 MySQL 后执行:

sql 复制代码
-- 创建数据库
CREATE DATABASE tracseek ;

3.3 安装 Redis

Ubuntu:

bash 复制代码
sudo apt install -y redis-server

修改 Redis 配置,设置密码:

bash 复制代码
# Ubuntu
vi /etc/redis/redis.conf

找到并修改以下配置项:

ini 复制代码
# 取消注释并设置密码(与 TracSeek 配置保持一致)
requirepass lgx123

启动 Redis:

bash 复制代码
systemctl start redis
systemctl enable redis

# 验证连接
redis-cli -a lgx123 ping
# 返回 PONG 表示正常

3.4 安装 Nginx

Ubuntu:

bash 复制代码
sudo  apt install -y nginx

四、部署 TracSeek 服务

4.1 上传并解压安装包

tracseek.zip 上传到服务器,推荐部署到 /opt/tracseek

bash 复制代码
mkdir -p /opt/tracseek
cd /opt/tracseek
unzip tracseek.zip

# 解压后目录结构
ls /opt/tracseek
# jt808_server/  jt1078_server/  jt1078_ftp/  jsatl12_server/  jt808_html/

4.2 初始化数据库

bash 复制代码
mysql -uroot -plgx123 tracseek < /opt/tracseek/jt808_server/conf/tracseek.sql

验证导入成功:

bash 复制代码
mysql -uroot -plgx123 -e "USE tracseek; SHOW TABLES;" | head -10

4.3 配置 jt808_server(核心服务)

数据库配置 jt808_server/conf/config/db.properties

properties 复制代码
database.url=jdbc:mysql://127.0.0.1:3306/tracseek?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT&autoReconnect=true&rewriteBatchedStatements=true
database.username=root
database.password=lgx123

Redis 配置 jt808_server/conf/config/redis.properties

properties 复制代码
redis.host=127.0.0.1
redis.port=6379
redis.password=lgx123
redis.database=1

服务端口配置 jt808_server/conf/config/tracseek.properties

properties 复制代码
# Web API 内部端口
lingx.http.port=18800
# JT808 设备接入端口
jt808.server.port=8808

公网部署时 ,还需修改 jt808_server/conf/config.properties

properties 复制代码
# 将 127.0.0.1 改为服务器公网 IP
tracseek.database.ip=127.0.0.1
tracseek.redis.ip=127.0.0.1

4.4 配置 jt1078_ftp(FTP 附件服务)

编辑 jt1078_ftp/conf/config/ftp.properties,将路径改为 Linux 路径:

properties 复制代码
jt1078.ftp.port=6898
jt1078.ftp.passivePorts=6891-6897
jt1078.ftp.account=ftp123
jt1078.ftp.password=ftp123456

4.5 配置 jsatl12_server(苏标服务)

编辑 jsatl12_server/conf/config/db.properties

properties 复制代码
database.url=jdbc:mysql://127.0.0.1:3306/tracseek?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT&autoReconnect=true&rewriteBatchedStatements=true
database.username=root
database.password=lgx123

编辑 jsatl12_server/conf/config/server.properties(公网部署时修改 IP):

properties 复制代码
file.port=6821
# 修改为 Linux 路径
file.base.dir=/opt/tracseek/jt808_html
# 公网部署时改为公网 IP
file.domain=http://127.0.0.1:8800

4.6 配置 Nginx

创建 TracSeek 的 Nginx 配置文件:

bash 复制代码
cat > /etc/nginx/conf.d/tracseek.conf << 'EOF'
server {
    listen      8800;
    server_name _;

    client_max_body_size 50m;

    # 前端静态文件
    location / {
        root /opt/tracseek/jt808_html;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # API 代理
    location /api {
        proxy_pass http://127.0.0.1:18800/api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /lingx3api {
        proxy_pass http://127.0.0.1:18800/api;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /excel {
        proxy_pass http://127.0.0.1:18800/excel;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /download {
        proxy_pass http://127.0.0.1:18800/download;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /upload {
        proxy_pass http://127.0.0.1:18800/upload;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    # WebSocket 代理
    location /websocket {
        proxy_pass http://127.0.0.1:18800/websocket;
        proxy_http_version 1.1;
        proxy_read_timeout 3600s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /wss6899/ {
        proxy_pass http://127.0.0.1:6899/;
        proxy_http_version 1.1;
        proxy_read_timeout 3600s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
    }
}
EOF

测试并启动 Nginx:

bash 复制代码
nginx -t
systemctl start nginx
systemctl enable nginx

五、启动所有服务

给所有启动脚本添加执行权限:

bash 复制代码
chmod +x /opt/tracseek/jt808_server/startup.sh
chmod +x /opt/tracseek/jt808_server/restart.sh
chmod +x /opt/tracseek/jt1078_server/startup.sh
chmod +x /opt/tracseek/jt1078_server/restart.sh
chmod +x /opt/tracseek/jt1078_ftp/startup.sh
chmod +x /opt/tracseek/jsatl12_server/startup.sh

按顺序启动各服务:

bash 复制代码
# 1. 启动 jt808 核心服务
cd /opt/tracseek/jt808_server && ./startup.sh

# 2. 启动视频服务
cd /opt/tracseek/jt1078_server && ./startup.sh

# 3. 启动 FTP 附件服务
cd /opt/tracseek/jt1078_ftp && ./startup.sh

# 4. 启动苏标主动安全服务
cd /opt/tracseek/jsatl12_server && ./startup.sh

验证服务是否启动成功:

bash 复制代码
# 查看 Java 进程
ps -ef | grep java | grep -v grep

# 检查端口监听
ss -tlnp | grep -E '8808|18800|6802|6821|6898'

六、配置 systemd 开机自启(推荐)

以 jt808_server 为例创建服务单元:

bash 复制代码
cat > /etc/systemd/system/tracseek-jt808.service << 'EOF'
[Unit]
Description=TracSeek JT808 Server
After=network.target mysqld.service redis.service

[Service]
Type=forking
WorkingDirectory=/opt/tracseek/jt808_server
ExecStart=/opt/tracseek/jt808_server/startup.sh
ExecStop=/bin/bash -c "ps -ef | grep com.lingx.jt808.server.App | grep java | awk '{print $2}' | xargs kill -9"
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target
EOF

其他服务参照以上模板,替换 WorkingDirectoryExecStartExecStop 中的类名即可。

bash 复制代码
systemctl daemon-reload
systemctl enable tracseek-jt808
systemctl start tracseek-jt808

七、防火墙端口开放

Ubuntu(ufw):

bash 复制代码
ufw allow 8800/tcp
ufw allow 8808/tcp
ufw allow 6802:6803/tcp
ufw allow 6821/tcp
ufw allow 6891:6898/tcp
ufw reload

八、访问与验证

打开浏览器访问:

复制代码
http://服务器IP:8800/
账号 密码
admin 123456

登录后,前往系统设置 → 将 127.0.0.1 修改为服务器公网 IP;视频设置中同样修改。


九、常用运维命令

bash 复制代码
# 重启 jt808 服务
cd /opt/tracseek/jt808_server && ./restart.sh

# 查看 jt808 实时日志
tail -f /opt/tracseek/jt808_server/logs/lingx.log

# 查看 jt1078 控制台输出
tail -f /opt/tracseek/jt1078_server/console.log

# 停止某个 Java 服务(以 jt808 为例)
ps -ef | grep com.lingx.jt808.server.App | grep java | awk '{print $2}' | xargs kill -9

# 检查所有服务进程
ps -ef | grep -E 'jt808|jt1078|jsatl12' | grep java | grep -v grep

十、相关资源

相关推荐
AOwhisky4 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
c238564 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
李小白664 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
2401_834636995 小时前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
aosky5 小时前
一台电脑配置多个 SSH Key 对应不同的 GitHub 账号
运维·ssh·github
云登指纹浏览器6 小时前
WebDriver反检测技术详解:如何让自动化脚本看起来像真实浏览器
运维·自动化·跨境电商
xmtxz6 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
凡人叶枫7 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan7 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨8 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器