很多开发不太喜欢用梓豪安装,希望通过手工自己安装,这个就需要开发人员 有一定的安装软件能力,比如能够自行安装mysql能力,并且能够解决 sql导入mysql各种问题,nginx安装能力,熟悉nginx配置,熟悉redis安装以及如何配置。 温馨提示:此教程为参考教程,可以参考此思路部署
服务器资源
服务器:4核8G内存100G磁盘(推荐,如果是测试可以是2核4G内存40G磁盘)
操作系统:linux(centos 或者ubuntu)
域名:备案过的域名(如果是三大运营商的主机,需要面向他们的主机备案),并且域名没有做过违法事情,主要是有些域名做过违法事情被微信拉入黑名单
需要解析两个子域名,比如 iot.xx.com 和 ioth5.xx.com
公众号:服务号认证过的
开放端口:80/443 1883(mqtt) 20011(netty) 3306(部署完成后可以关闭)
https://gitee.com/java110/MicroCommunityIot
java110/HC物联网平台: 物联网平台,他的pc web端在 iot-web 目录下,手机端在 iot-h5下
iot-merchant:主要用户小区周边商家赠送停车劵给车辆项目,主要由uni-app开发
iot-user: 主要用于道闸临时车支付,充电桩扫码充电等,主要由uni-app开发
通过百度等方式安装nginx redis mqtt mysql,mysql建议安装8.0,如果是8.0 以下数据库不支持utf8mb4_0900_ai_ci 编码格式,请将数据文件中的 编码格式调整为utf-8 ; 数据库 编码格式设置为 utf-8
mysql -h 127.0.0.1 -p
密码为123456
use mysql;
create user 'hc_iot'@'%' identified by 'hc_iot12345678';
flush privileges;
CREATE DATABASE hc_iot CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
grant all privileges on hc_iot.* to 'hc_iot'@'%' ;
navcate 连接 数据库导入数据,数据库文件 MicroCommunityIot/document/db/hc_iot.sql
找到redis的配置文件,将redis的密码修改为hc,这里必须要修改密码,目前系统不支持无密码的redis
进入到springboot 下的resources 目录下,如下:
MicroCommunityIot
sprintboot
src
main
resources
application-dev.yml
需要修改 application-dev.yml ,其他文件没有特殊要求可以不用修改
主要修改redis信息,如下:
spring:
....
redis:
database: 6
host: 127.0.0.1
port: 6379
password: hc
# host: localhost
# port: 6379
# password: hc
pool:
max-active: 300
max-wait: 10000
max-idle: 100
min-idle: 0
timeout: 0
maxWaitMillis: 20000
将127.0.0.1 修改为redis的实际IP,推荐调用局域网内的redis不然系统访问会巨慢。
主要修改数据库信息,如下:
spring:
....
datasource:
url: jdbc:mysql://192.168.100.108:3306/hc_iot?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
username: hc_iot
password: hc_iot12345678
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
druid:
initial-size: 5
max-active: 10
min-idle: 5
max-wait: 60000
将192.168.100.108 IP修改为数据库实际IP
spring:
....
mqtt:
client:
id: java110-client-id2
completionTimeout: 10
default:
topic: topic
password: wuxw2015
url: tcp://192.168.31.45:1883
username: wuxw
keepalive: 20
poolSize: 20
将url username password 修改为实际mqtt的信息
MicoCommunityIot 下执行 mvn clean install,会在springboot下target下生成jar包,请将iot-boot.jar传到服务器上, 并且在服务器执行java -jar iot-boot.jar,推荐启动脚本
#!/bin/bash
# min mem
min_mem=$MIN_MEM
max_mem=$MAX_MEM
active=$ACTIVE
java -jar -Dspring.profiles.active=$active $min_mem $max_mem /root/iot-boot.jar
将iot-web 下的public目录上传到服务器,并且配置nginx,目录位置如下
MicroCommunityIot
...
iot-web
public
此项目通过html 和js 的方式开发,所以不需要做前端打包,重要的事情说三遍:
不需要做前端打包
不需要做前端打包
不需要做前端打包
好了。 将项目中的public 目录传到/home/data/web/ 下,并且将public 目录修改为 iotWeb nginx 配置如下:
server {
listen 80;
server_name iot.homecommunity.com;
location / {
root /home/data/web/iotWeb;
}
location /iot/api
{
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:9999;
}
location /app
{
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:9999;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "$connection_upgrade";
proxy_pass http://127.0.0.1:9999;
}
}
server {
listen 80;
server_name ioth5.homecommunity.cn;
location / {
root /home/data/web/iotapp;
}
location /iot/api
{
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:9999;
}
location /app
{
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:9999;
}
}
将iot-user Hbuildx 编译后,放到 /home/data/web/目录下并将名字修改为iotapp
这个主要用于小区周边商家登陆赠送停车券给消费者车辆,车辆出厂时抵消停车费
server {
listen 80;
server_name shop.homecommunity.cn;
location / {
root /home/data/web/shop;
}
location /iot
{
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:9999;
}
location /app
{
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:9999;
}
}
将iot-merchant Hbuildx 编译后,放到 /home/data/web/目录下并将名字修改为shop