MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux

简介: 本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。

MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux

在本指南中,您将在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS。

前提

本指南介绍如何在CentOS Stream 9/Red Hat Enterprise Linux 9(RHEL 9)/Rocky 9/AlmaLinux 9.1/Oracle Linux 9.1上安装MyEMS。硬件需求取决于所选数据库和连接到系统的设备数量。要在一台机器上运行MyEMS和MySQL,您至少需要4GB的RAM。


更新系统并安装工具:

sudo dnf update
sudo dnf install git
sudo dnf install python3-pip

克隆源代码:

cd ~
git clone https://gitee.com/myems/myems

第1步 数据库

参考 数据库(https://blog.csdn.net/zgy5004/article/details/147955476?spm=1001.2014.3001.5501

第2步 myems-api

  • 安装myems-api服务
    sudo cp -r ~/myems/myems-api /myems-api
    
    cd /myems-api
    
    sudo pip install -r requirements.txt
    
    根据example.env创建.env文件,并根据需要编辑.env:
    sudo cp /myems-api/example.env /myems-api/.env
    
    sudo nano /myems-api/.env
    
    将端口添加到防火墙:
    sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
    
    sudo firewall-cmd --reload
    
    安装 systemd 配置文件:
    sudo cp /myems-api/myems-api.service /lib/systemd/system/
    
    sudo cp /myems-api/myems-api.socket /lib/systemd/system/
    
    sudo cp /myems-api/myems-api.conf /usr/lib/tmpfiles.d/
    
    接下来启用这些服务,以便它们在启动时自动启动:
    sudo systemctl enable myems-api.socket
    
    sudo systemctl enable myems-api.service
    
    启动服务:
    sudo systemctl start myems-api.socket
    
    sudo systemctl start myems-api.service
    

    第3步 myems-admin

  • 安装NGINS服务器
    参考 (http://nginx.org/en/linux_packages.html#RHEL)
    启用nginx服务:
    sudo systemctl enable nginx.service
    
  • 配置 NGINX
    sudo nano /etc/nginx/nginx.conf
    
    In the 'http' section, add some directives:
    ```javascript
    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
sudo nano /etc/nginx/conf.d/myems-admin.conf

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

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

    sudo mkdir /var/www
    
    sudo cp -r ~/myems/myems-admin  /var/www/myems-admin
    
    sudo chmod 0755 -R /var/www/myems-admin
    

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

    sudo nano /var/www/myems-admin/app/api.js
    

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

    /var/www/myems-admin/upload
    

    将端口添加到防火墙:

    sudo semanage port -a -t http_port_t  -p tcp 8001
    
    sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
    
    sudo firewall-cmd --reload
    

    重启nginx服务:

    sudo systemctl restart nginx.service
    

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

    第4步 myesm-modbus-tcp

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

    sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
    
    cd /myems-modbus-tcp
    
    sudo pip install -r requirements.txt
    

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

    sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
    
    sudo nano /myems-modbus-tcp/.env
    

    安装 systemd 服务:

    sudo cp myems-modbus-tcp.service /lib/systemd/system/
    

    启用服务:

    sudo systemctl enable myems-modbus-tcp.service
    

    启动服务:

    sudo systemctl start myems-modbus-tcp.service
    

    监控服务:

    sudo systemctl status myems-modbus-tcp.service
    

    查看日志:

    cat /myems-modbus-tcp.log
    

    第5步 myems-cleaning

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

    sudo cp -r ~/myems/myems-cleaning /myems-cleaning
    
    cd /myems-cleaning
    
    sudo pip install -r requirements.txt
    

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

    sudo cp /myems-cleaning/example.env /myems-cleaning/.env
    
    sudo nano /myems-cleaning/.env
    

    安装systemd服务:

    sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/
    

    启用服务:

    sudo systemctl enable myems-cleaning.service
    

    启动服务:

    sudo systemctl start myems-cleaning.service
    

    监控服务:

    sudo systemctl status myems-cleaning.service
    

    查看日志:

    cat /myems-cleaning.log
    

    第6步 myesm-normalization

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

    sudo cp -r ~/myems/myems-normalization /myems-normalization
    
    cd /myems-normalization
    
    sudo pip install -r requirements.txt
    

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

    sudo cp /myems-normalization/example.env /myems-normalization/.env
    
    sudo nano /myems-normalization/.env
    

    安装systemd服务:

    sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/
    

    启用服务:

    sudo systemctl enable myems-normalization.service
    

    启动服务:

    sudo systemctl start myems-normalization.service
    

    监控服务:

    sudo systemctl status myems-normalization.service
    

    查看日志:

    cat /myems-normalization.log
    

    第7步 myems-aggregation

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

    sudo cp -r ~/myems/myems-aggregation /myems-aggregation
    
    cd /myems-aggregation
    
    sudo pip install -r requirements.txt
    

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

    sudo cp /myems-aggregation/example.env /myems-aggregation/.env
    
    sudo nano /myems-aggregation/.env
    

    安装systemd服务

    sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/
    

    启用服务:

    sudo systemctl enable myems-aggregation.service
    

    启动服务:

    sudo systemctl start myems-aggregation.service
    

    监控服务:

    sudo systemctl status myems-aggregation.service
    

    查看日志:

    cat /myems-aggregation.log
    

    第8步 myems-web

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

  • 安装 NGINX 服务器 参考(http://nginx.org/en/linux_packages.html#Debian)
  • 配置 NGINX 删除默认文件
    sudo rm /etc/nginx/sites-enabled/default
    sudo rm /etc/nginx/conf.d/default.conf
    
    在目录 /etc/nginx/conf.d/ 下添加一个新文件
    sudo nano /etc/nginx/conf.d/myems-web.conf
    
    使用如下指令编写,如果myems-api服务托管在不同的服务器上,则使用实际的地址替换默认的myems-api地址http://127.0.0.1:8000/
    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:
    sudo dnf install nodejs
    
    修改配置文件:
    备注
    https://mapbox.com获取 mapboxToken 然后设置 showOnlineMap 为 true. 如果要关闭在线地图功能,设置 showOnlineMap 为 false
    cd ~/myems/myems-web
    
    sudo nano src/config.js
    
    编译:
    sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
    
    sudo npm run build
    
    安装: 注意,以下路径应该与nginx.conf中配置的路径相同。
    sudo rm -r /var/www/myems-web
    
    sudo mv build  /var/www/myems-web
    
    将端口添加到防火墙:
    sudo semanage port -a -t http_port_t  -p tcp 80
    
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    
    sudo firewall-cmd --reload
    
    重启 NGINX
    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
默认密码 image.png

相关文章
|
1月前
|
Oracle 关系型数据库 Linux
VirtualBox 7.1.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件
VirtualBox 7.1.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件
73 0
VirtualBox 7.1.10 (macOS, Linux, Windows) - 开源跨平台虚拟化软件
|
2天前
|
Linux API iOS开发
Blender 4.5 (Linux, macOS, Windows) - 开源 3D 创意软件 (渲染 建模 雕刻)
Blender 4.5 (Linux, macOS, Windows) - 开源 3D 创意软件 (渲染 建模 雕刻)
30 1
Blender 4.5 (Linux, macOS, Windows) - 开源 3D 创意软件 (渲染 建模 雕刻)
|
8天前
|
Linux iOS开发 MacOS
Krita 5.2.10 (Linux, macOS, Windows) - 开源免费绘画软件
Krita 5.2.10 (Linux, macOS, Windows) - 开源免费绘画软件
21 0
Krita 5.2.10 (Linux, macOS, Windows) - 开源免费绘画软件
|
1月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
76 1
|
1月前
|
Oracle 关系型数据库 Linux
Rocky Linux 9.6 正式版发布 - RHEL 100% 1:1 兼容免费发行版
Rocky Linux 9.6 正式版发布 - RHEL 100% 1:1 兼容免费发行版
274 0
Rocky Linux 9.6 正式版发布 - RHEL 100% 1:1 兼容免费发行版
|
29天前
|
关系型数据库 Linux 数据库
Linux系统安装Postgre和Postgis教程
本文详细介绍了PostgreSQL/PostGIS的卸载与安装步骤。卸载部分涵盖Docker、Yum/RPM及源码编译安装的清理方法,包括停止服务、删除容器/包、清理残留文件和环境变量等操作,并强调卸载前需备份数据库数据。安装部分提供在线yum安装和离线源码编译两种方式,前者简单快捷,后者需准备依赖(如gcc、readline-devel等)、创建用户组、初始化数据库及配置访问规则。每步均附带命令示例,确保操作清晰明确。
182 0
|
2天前
|
Linux
在 CentOS 上安装 OpenVPN 客户端连接配置
本文介绍了如何在 Linux 系统上安装并配置 OpenVPN 客户端,连接公司或服务器局域网。内容包括使用 yum 安装 OpenVPN、配置客户端文件(.ovpn 和密码文件),以及通过命令行连接和测试网络。附有参考链接解决常见问题。
66 1
|
20天前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
68 18
|
2月前
|
Kubernetes Linux 开发者
在CentOS 7.8上使用kubeadm安装k8s 1.26
至此,你已经在CentOS 7.8上使用kubeadm成功安装了k8s 1.26。你可以通过输入 `kubectl get nodes`来查看节点状态,如果显示为Ready,那么恭喜你,你的Kubernetes集群已经准备好了。
159 23
|
3月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
976 26