从零到一:Jetlinks物联网平台服务器部署实战与避坑指南

发布时间:2026/6/19 19:50:01
从零到一:Jetlinks物联网平台服务器部署实战与避坑指南
1. 环境准备从零搭建Linux服务器第一次在Linux服务器上部署Jetlinks物联网平台时我踩了不少坑。记得当时连最基本的SSH连接都折腾了半天后来才发现是防火墙没开22端口。为了避免大家重蹈覆辙我把完整的准备工作整理如下。远程连接工具选择推荐使用MobaXterm或FinalShell这类全能型工具它们集成了SSH终端、SFTP文件传输和X11转发功能。特别是MobaXterm的拖拽上传功能在部署前端代码时特别方便。不过要注意如果用root账户登录千万别手贱乱删系统文件——我就因为误删.ssh目录导致服务器无法连接最后只能重置系统。系统基础配置Ubuntu/Debian系统建议先执行这两个黄金命令sudo apt update sudo apt upgrade -y这不仅能更新软件源还会自动升级所有已安装的包。遇到过几次依赖冲突问题都是因为跳过了这步直接安装环境。2. 核心环境安装与配置2.1 Java环境搭建Jetlinks社区版要求JDK 8环境但千万别随便找个OpenJDK就装。实测发现Amazon Corretto 8的稳定性最好内存管理更优sudo apt install -y software-properties-common sudo add-apt-repository ppa:linuxuprising/java sudo apt update sudo apt install -y corretto-8-jdk配置JAVA_HOME时有个小技巧不用手动写路径用这个命令自动获取echo export JAVA_HOME$(dirname $(dirname $(readlink -f $(which java)))) ~/.bashrc source ~/.bashrc2.2 Maven优化配置默认源的Maven下载速度慢到怀疑人生建议先修改settings.xmlmirror idaliyunmaven/id mirrorOf*/mirrorOf name阿里云公共仓库/name urlhttps://maven.aliyun.com/repository/public/url /mirror安装时记得加上-D参数跳过测试mvn clean package -Dmaven.test.skiptrue -T 4C这里的-T 4C能让Maven使用4核并行编译速度提升300%不止。3. 后端部署实战技巧3.1 源码获取与编译从GitHub克隆代码时如果遇到网络问题可以改用Gitee镜像源git clone https://gitee.com/jetlinks/jetlinks-community.git --depth 1加上--depth 1参数只克隆最新提交能节省80%的下载时间。编译时常见内存溢出问题需要调整Maven内存限制export MAVEN_OPTS-Xmx2048m -XX:MaxPermSize1024m3.2 Docker避坑指南docker-compose up -d经常卡住先修改daemon.json配置国内镜像源{ registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://registry.hub.docker.com ], debug: true, experimental: false }重启服务后记得检查日志sudo systemctl restart docker docker-compose logs -f4. 前端部署与Nginx调优4.1 Node.js环境配置别用apt直接装Node.js版本老旧会导致各种兼容性问题。推荐用nvm管理curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash nvm install 16 npm config set registry https://registry.npmmirror.com4.2 内存溢出解决方案前端build时90%会报JavaScript堆内存不足必须增加内存限制npm install --legacy-peer-deps node --max_old_space_size4096 node_modules/angular/cli/bin/ng build --prod--legacy-peer-deps参数能解决依赖冲突问题亲测有效。4.3 Nginx终极配置这是经过压测优化的nginx配置模板server { listen 80; server_name your_domain.com; gzip on; gzip_min_length 1k; gzip_comp_level 6; gzip_types *; location / { root /usr/share/nginx/html/dist; try_files $uri $uri/ /index.html; expires 1y; add_header Cache-Control public; } location /api { proxy_pass http://localhost:8844; proxy_http_version 1.1; proxy_set_header Connection ; } }关键点在于开启gzip压缩减少传输量配置长期缓存提升加载速度分离API接口路由5. 部署后检查清单项目启动后务必检查这些关键点用netstat -tulnp确认8844端口监听正常前端控制台不能有404或CORS错误数据库连接池监控Druid自带JVM内存使用率建议Xmx设为物理内存的70%遇到页面能打开但接口报错时先检查Nginx的proxy_pass地址再查看后端日志tail -f /var/log/jetlinks/jetlinks.log最后提醒生产环境一定要配置HTTPS用Lets Encrypt免费证书就行sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com