Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MyEMS开源系统安装(三)CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器介绍

MyEMS开源系统安装(三)CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器介绍

原创
作者头像
开源能源管理系统
修改于 2025-05-13 02:02:28
修改于 2025-05-13 02:02:28
8600
代码可运行
举报
运行总次数:0
代码可运行

本编文章助于读者了解到产品的安装,本章将详细介绍如何在CentOS Stream 9/Red Hat Enterprise Linu(RHEL9)/Rocky9/Almalinux9.1/Oracle Linux9.1上安装MyEMS。

硬件需求取决于所选数据库和连接到系统的设备数量。要在一台机器上运行Myems和MySQL,您至少需要4GB的RAM。

第1步 myems-admin

  • 安装 NGINX 服务器

参考 http://nginx.org/en/linux_packages.html#RHEL

启用nginx服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable nginx.service
  • 配置 NGINX
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/nginx/nginx.conf

In the 'http' section, add some directives:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http {
    client_header_timeout 600;
    client_max_body_size 512M;
    gzip on;
    gzip_min_length 512;
    gzip_proxied any;
    gzip_types *;
    gzip_vary on;
    proxy_buffering off;
    ...

}

在目录 /etc/nginx/conf.d/ 下新建一个文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/nginx/conf.d/myems-admin.conf

编写如下指令, 如果myems-api服务运行在其它服务器上则用实际的地址替换 myems-api 默认地址 http://127.0.0.1:8000/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen                 8001;
    server_name     myems-admin;
    location / {
        root    /var/www/myems-admin;
        index index.html index.htm;
    }
    ## To avoid CORS issue, use Nginx to proxy myems-api to path /api
    ## Add another location /api in 'server'
    ## Replace the default myems-api url http://127.0.0.1:8000/ with actual url if the myems-api servcie hosted on different server
    location /api {
        proxy_pass http://127.0.0.1:8000/;
        proxy_connect_timeout 75;
        proxy_read_timeout 600;
        send_timeout 600;
    }
}
  • 安装 myems-admin : 如果服务器无法连接到internet,请压缩myems/myems-admin文件夹并将其上传到服务器,然后将其解压缩到~/myems/myems-admin
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mkdir /var/www
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp -r ~/myems/myems-admin  /var/www/myems-admin
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo chmod 0755 -R /var/www/myems-admin

检查配置文件,必要时进行更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /var/www/myems-admin/app/api.js

警告

“upload”文件夹用于用户上传的文件。升级myems-admin时,请勿删除/移动/覆盖“upload”文件夹。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 /var/www/myems-admin/upload

将端口添加到防火墙

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo semanage port -a -t http_port_t  -p tcp 8001
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo firewall-cmd --reload

重启nginx服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl restart nginx.service

提示

如果您遇到“403 Forbidden”nginx错误,可以通过使用命令“sudo setforce 0”更改SELinx模式来修复它

第2步 myems-modbus-tcp

在此步骤中,您将安装myems-modbus-tcp服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /myems-modbus-tcp
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip install -r requirements.txt

将exmaple.ev文件复制到.env并修改.env文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /myems-modbus-tcp/.env

安装 systemd 服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp myems-modbus-tcp.service /lib/systemd/system/

启用服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable myems-modbus-tcp.service

启动服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start myems-modbus-tcp.service

监控服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status myems-modbus-tcp.service

查看日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /myems-modbus-tcp.log

第3步myems-cleaning

在此步骤中,您将安装myems-cleaning服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp -r ~/myems/myems-cleaning /myems-cleaning
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /myems-cleaning
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip install -r requirements.txt

将exmaple.ev文件复制到.env并修改.env文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-cleaning/example.env /myems-cleaning/.env
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /myems-cleaning/.env

安装systemd服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/

启用服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable myems-cleaning.service

启动服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start myems-cleaning.service

监控服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status myems-cleaning.service

查看日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /myems-cleaning.log

第4步 myems-normalization

在此步骤中,您将安装myems-normalization服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp -r ~/myems/myems-normalization /myems-normalization
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /myems-normalization
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip install -r requirements.txt

将exmaple.ev文件复制到.env并修改.env文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-normalization/example.env /myems-normalization/.env
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /myems-normalization/.env

安装systemd服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/

启用服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable myems-normalization.service

启动服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start myems-normalization.service

监控服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status myems-normalization.service

查看日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /myems-normalization.log

第5步 myems-aggregation

在此步骤中,您将安装myems-aggregation服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp -r ~/myems/myems-aggregation /myems-aggregation
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /myems-aggregation
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo pip install -r requirements.txt

将exmaple.ev文件复制到.env并修改.env文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-aggregation/example.env /myems-aggregation/.env
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /myems-aggregation/.env

安装systemd服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/

启用服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl enable myems-aggregation.service

启动服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start myems-aggregation.service

监控服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl status myems-aggregation.service

查看日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /myems-aggregation.log

第6步 myems-web

在此步骤中,您将安装myems-web服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/conf.d/default.conf

在目录 /etc/nginx/conf.d/ 下添加一个新文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/nginx/conf.d/myems-web.conf

使用如下指令编写,如果myems-api服务托管在不同的服务器上,则使用实际的地址替换默认的myems-api地址http://127.0.0.1:8000/

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen                 80;
    server_name     myems-web;
    location / {
        root    /var/www/myems-web;
        index index.html index.htm;
        # add try_files directive to avoid 404 error while refreshing pages
        try_files $uri  /index.html;
    }
    ## To avoid CORS issue, use Nginx to proxy myems-api to path /api
    ## Add another location /api in 'server'
    ## replace the default myems-api url http://127.0.0.1:8000/ with actual url if the myems-api servcie hosted on different server
    location /api {
        proxy_pass http://127.0.0.1:8000/;
        proxy_connect_timeout 75;
        proxy_read_timeout 600;
        send_timeout 600;
    }
}
  • 安装 MyEMS Web UI:

安装NodeJS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo dnf install nodejs

修改配置文件:

备注

https://mapbox.com 获取 mapboxToken 然后设置 showOnlineMap 为 true. 如果要关闭在线地图功能,设置 showOnlineMap 为 false

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/myems/myems-web
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano src/config.js

编译:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo npm run build

安装: 注意,以下路径应该与nginx.conf中配置的路径相同。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm -r /var/www/myems-web
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mv build  /var/www/myems-web

将端口添加到防火墙:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo semanage port -a -t http_port_t  -p tcp 80
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo firewall-cmd --reload

重启 NGINX

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl restart nginx

提示

如果您遇到“500内部服务器错误”nginx错误,可以通过使用命令“sudo setforce 0”更改SELinx模式来修复它

安装后

祝贺您现在可以登录MyEMS Admin UI和Web UI。

默认端口

MyEMS Web UI: 80

MyEMS API: 8000

MyEMS Admin UI: 8001

默认密码

Admin UIWeb UI

故障排除

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MyEMS开源系统安装(二)Debian/Ubuntu 部署
(Ubuntu 24.04 LTS)如果代码无法运行,可用如下代码: sudo pip install -r requirements.txt --break-system-packages
开源能源管理系统
2025/05/13
1520
如何在树莓派上安装MyEMS开源能源管理系统(下)
为了避免 'error: externally-managed-environment', 创建一个虚拟环境配置目录:
开源能源管理系统
2025/05/14
790
MyEMS开源系统安装之龙蜥(Anolis) OS 下
龙蜥(Anolis)OS 上(https://cloud.tencent.com/developer/article/write/2520175)
开源能源管理系统
2025/05/14
760
MyEMS开源系统安装(五)Docker Compose
假定的主机IP为 192.168.0.1,数据库IP为 192.168.0.2,数据库账号为:root,数据库密码:!MyEMS1,请酌情修改
开源能源管理系统
2025/05/14
1160
MyEMS的安装部署与数据读取查看
mysql -u root -p < myems_billing_baseline_db.sql
用户10891665
2023/12/24
1.1K0
如何在宝塔Linux面板上安装MyEMS
脚本:wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
开源能源管理系统
2025/05/14
720
Linux上的Podman
为多个平台构建,而不仅仅是为当前用户运行的体系结构和操作系统构建。 您可以使用buildx并设置--platform标志来指定构建输出的目标平台(例如,linux/amd64、linux/arm64或darwin/amd64)。
开源能源管理系统
2025/05/23
1190
MyEMS开源系统安装之龙蜥(Anolis) OS 上
检查或更改myems-api.service和myems-api.socket中的侦听端口(默认值为8000):
开源能源管理系统
2025/05/14
510
如何在树莓派上安装MyEMS开源能源管理系统(上)
默认情况下,MySQL安装时没有设置任何密码,这意味着您无需任何身份验证即可访问MySQL服务器。运行以下命令以开始MySQL保护过程。
开源能源管理系统
2025/05/13
820
升级MyEMS开源能源系统
开源能源管理系统
2025/05/23
370
MyEMS开源能源管理系统v5.5.0发布通知
MyEMS开源能源管理系统(EMS)参考ISO 50001能源管理体系标准(等同GB/T 23331-2020),适用于建筑、工厂、商场、医院、园区、能碳管理中心的电、水、气、冷、热等能源数据采集、分析、报表,还有光伏、储能、充电桩、微电网、虚拟电厂、设备控制、故障诊断、工单管理、人工智能优化等企业版可选功能。资深专业公司开发维护,保障长期支持。用开源助力企业集团、产业园区、能源运营商低碳发展!
开源能源管理系统
2025/05/30
660
MyEMS开源能源管理系统v5.5.0发布通知
MyEMS开源能源管理系统v5.6.0发布通知
MyEMS开源能源管理系统参照ISO 50001能源管理体系(GBT 23331),近千案例,广泛用于建筑、工厂、商场、医院、园区、能碳管理中心的电、水、气、冷、热等能耗和碳排放采集、分析、报表,还有光伏、储能、充电桩、微电网、虚拟电厂、设备控制、故障诊断、工单管理、人工智能优化等企业版可选功能。专业软件公司开发的能源管理平台,长期维护。用开源助力企业集团、产业园区、能源运营商低碳发展!
开源能源管理系统
2025/06/26
470
MyEMS开源能源管理系统v5.6.0发布通知
MyEMS开源能源管理系统核心代码解读014
MyEMS开源能源管理系统适用于建筑、工厂、商场、医院、园区的电、水、气等能源数据采集、分析、报表,还有光伏、储能、充电桩、微电网、设备控制、故障诊断、工单管理、人工智能优化等可选功能。资深专业团队开发维护,保障长期支持。用开源助力企业集团、产业园区、能源运营商低碳发展!
开源能源管理系统
2025/05/26
620
debian10编译安装Bitwarden_rs 自建自托管的密码服务器
注意:这里我为了方便维护和管理使用的是sqlite数据库。因为就我自己用,没必要上mysql。而且我想这种东西就算你开放给别人用,也要别人敢用你的服务。。
暮城
2022/02/23
8060
debian10编译安装Bitwarden_rs 自建自托管的密码服务器
Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea
Gitea是用Go编写的自托管开源git服务器。 这是Gogs的分叉。 Gitea包括存储库文件编辑器,项目问题跟踪,用户管理,通知,内置Wiki等。
星哥玩云
2022/07/28
4.1K0
Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea
Kubernetes 二进制部署(三)集群部署(多 Master 节点通过 Nginx 负载均衡)
0. 前言 上一篇中,我们介绍了多节点部署 kubernetes 集群,并通过 haproxy+keepalived 实现 Master 节点的负载均衡 其中 haproxy+keepalived 以 tcp 模式实现了正向代理和负载均衡 其实 haproxy 可以采用 http 模式工作,并通过 option redispatch 配置实现后端某个真实服务器挂掉后重新转发请求 但是如果我们希望实现在特定 http 状态码出现时,重试请求 因此本篇文章我们采用 nginx 作为负载均衡组件 1. 实验环境
西凉风雷
2022/11/23
1.2K0
如何在Ubuntu上安装Drone持续集成环境
Drone是一个流行的持续集成和交付平台。它集成了许多流行的版本控制存储库服务,如GitHub,GitLab和Bitbucket,以监视代码更改并在提交时自动构建和测试更改。
小铁匠米兰的v
2018/08/08
3K0
如何在Ubuntu上安装Drone持续集成环境
使用腾讯云轻量服务器开启Web面板内网穿透
它可以将局域网服务器代理到公网的内网穿透工具,支持转发基于TCP等协议的报文,不过那时候服务端并未开源,由作者免费提供服务,现在服务端代码已经开源了,而且带Web管理面板,该类似面板博主介绍过不少了,这里就大概说下,我们就可以拿来自建一个内网穿透服务器,使用效果还不错。
AKK
2021/12/15
4.5K0
如何在 Ubuntu 18.04 上安装和配置 Gogs
Gogs 是一个用 Go 语言编写的自托管开源 git 服务器。它包括一个仓库文件编辑器,项目问题跟踪,和一个内建的 wiki。
雪梦科技
2020/05/11
2.4K0
如何在 Ubuntu 18.04 上安装和配置 Gogs
入门K8s:一键脚本搭建Linux服务器集群
好久没有写系列博客了,本文主要是对网上文章的总结篇,主要是将安装和运行代码做了一次真机实验,亲测可用。文章内包含的脚本和代码,多来自于网络,也有我自己的调整和配置,文章末尾对参考的文献做了列举,方便大家参考。
老张的哲学
2022/04/11
1.7K0
推荐阅读
相关推荐
MyEMS开源系统安装(二)Debian/Ubuntu 部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验