当前位置: 首页 > news >正文

从零到一: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 ~/.bashrc

2.2 Maven优化配置

默认源的Maven下载速度慢到怀疑人生,建议先修改settings.xml:

<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>

安装时记得加上-D参数跳过测试:

mvn clean package -Dmaven.test.skip=true -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:MaxPermSize=1024m"

3.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 -f

4. 前端部署与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.com

4.2 内存溢出解决方案

前端build时90%会报JavaScript堆内存不足,必须增加内存限制:

npm install --legacy-peer-deps node --max_old_space_size=4096 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 ""; } }

关键点在于:

  1. 开启gzip压缩减少传输量
  2. 配置长期缓存提升加载速度
  3. 分离API接口路由

5. 部署后检查清单

项目启动后,务必检查这些关键点:

  1. netstat -tulnp确认8844端口监听正常
  2. 前端控制台不能有404或CORS错误
  3. 数据库连接池监控(Druid自带)
  4. JVM内存使用率(建议Xmx设为物理内存的70%)

遇到页面能打开但接口报错时,先检查Nginx的proxy_pass地址,再查看后端日志:

tail -f /var/log/jetlinks/jetlinks.log

最后提醒:生产环境一定要配置HTTPS!用Let's Encrypt免费证书就行:

sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com
http://www.jsqmd.com/news/1044104/

相关文章:

  • 如何永久保存微信聊天记录:3步掌握WeChatMsg数据留痕技术
  • Spring Cloud Alibaba 最佳实践:基于 Spring Boot 4.0 的完整微服务示例项目
  • 面试被问“你的缺点是什么”,90%的应届生都答错了!(附满分话术)
  • GodMode9:任天堂3DS终极文件管理器完全指南
  • 2026山东大学项目实训个人博客(六)
  • 微信小程序地址选择器组件架构设计与数据联动算法深度解析
  • 三步掌握AI斗地主:如何用DouZero智能助手提升你的游戏胜率
  • 2026佛山宠物售卖评分榜|佛山买狗买猫实测测评,正规犬舍避坑全攻略 - 吉林同城获客
  • 从实施到算法:工业AGV/AMR工程师核心能力全景解析
  • 探索AI世界,发现无限可能 —— WoLoveAI,你的专属AI导航与学习平台
  • 大模型需求翻译困境与GPT-4o的免翻译能力突破
  • 从Copilot到Agent:软件工程范式的第三次迁移
  • 西安资质代办去哪里靠谱?2026本土合规企业服务机构榜单 - 速递信息
  • 24CS32 EEPROM软件写保护机制与I2C通信实战指南
  • DC/DC电源设计实战:从MIC261201选型到PCB布局与热管理全解析
  • KMS智能激活工具完整指南:轻松激活Windows和Office系统
  • Navicat Mac版功能恢复指南:如何保持数据库管理工具持续可用
  • 2026济南婚纱摄影选型全指南:行业标准、品牌梯队与合规避坑全解析 - 速递信息
  • 2026佛山宠物售卖综合评分榜|三水本地实测5家繁育基地测评,润博宠物庄园综合榜首 - 吉林同城获客
  • 杭州想带毛孩子回家?梦宠山庄等4家门店值得逛逛 - 园友3800037
  • 猫抓插件:浏览器资源嗅探的完整技术指南与实战应用
  • 端午充电季|乘风破浪,技能进阶正当时
  • 青岛房屋漏水维修公司怎么选?普通百姓甄选靠谱品牌技巧 - 青岛防水品牌推荐
  • 百度网盘秒传链接完整使用指南:高效文件管理解决方案
  • 游戏存档的智能守护者:如何让您的游戏进度永不丢失?
  • 武汉想养猫狗先看看,梦宠山庄探店记录 - 园友3800037
  • 海口黄金回收避坑指南!2026本地行情解析,这样卖金更划算✨ - 奢品小当家
  • FanControl V270终极指南:Windows系统智能风扇控制的完整解决方案
  • 深入解析数字证书:从申请、签发到验证的全流程工程实践
  • ESP32 Arduino实战:从嵌入式新手到物联网专家的进阶指南