added installation on SUSE

This commit is contained in:
nengyuanzhang 2023-04-09 22:34:14 +08:00
parent 3179ef0715
commit 9f66aa6c96
10 changed files with 1242 additions and 7 deletions

View File

@ -1,5 +1,5 @@
---
sidebar_position: 10
sidebar_position: 100
---
# Congratulations!

View File

@ -332,7 +332,6 @@ sudo systemctl restart nginx
Setup NodeJS:
```
sudo su
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
```

402
docs/installation/suse.md Normal file
View File

@ -0,0 +1,402 @@
---
sidebar_position: 9
---
# SUSE
In this guide, you will deploy MyEMS on SUSE Linux Enterprise Server.
## Prerequisites
This guide describes how to install MyEMS on SUSE Linux Enterprise Server 15. Hardware requirements depend on chosen database and amount of devices connected to the system. To run MyEMS and MySQL on a single machine you will need at least 4GB of RAM.
Clone source code:
```
cd ~
git clone https://github.com/myems/myems
```
## Step 1 Database
See [Database](./database.md)
## Step 2 myems-api
* Install myems-api service:
```bash
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo pip install -r requirements.txt
```
Create .env file based on example.env and edit the .env file if needed:
```bash
sudo cp /myems-api/example.env /myems-api/.env
sudo vi /myems-api/.env
```
Add port to firewall:
```bash
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
```
Setup systemd configure files:
```bash
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/
```
Next enable the services so that they autostart at boot:
```bash
sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service
```
Start the services :
```bash
sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service
```
## Step 3 myems-admin
* Install NGINX Server
refer to http://nginx.org/en/linux_packages.html#Debian
* Configure NGINX
```bash
sudo vi /etc/nginx/nginx.conf
```
In the 'http' section, add some directives:
```
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;
...
}
```
Add a new file under /etc/nginx/conf.d/
```
sudo vi /etc/nginx/conf.d/myems-admin.conf
```
Write with directives as below, replace the default myems-api url http://127.0.0.1:8000/ with actual url if the myems-api servcie hosted on a different server
```
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 a different server
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
```
* Install myems-admin :
If the server can not connect to the internet, please compress the myems/myems-admin folder and upload it to the server and extract it to ~/myems/myems-admin
```bash
sudo mkdir /var/www
sudo cp -r ~/myems/myems-admin /var/www/myems-admin
sudo chmod 0755 -R /var/www/myems-admin
```
Check the config file and change it if necessary:
```bash
sudo vi /var/www/myems-admin/app/api.js
```
:::caution
The 'upload' folder is for user uploaded files. DO NOT delete/move/overwrite the 'upload' folder when you upgraded myems-admin.
```bash
/var/www/myems-admin/upload
```
:::
Add port to firewall:
```bash
sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
sudo firewall-cmd --reload
```
## Step 4 myems-modbus-tcp
In this step, you will install myems-modbus-tcp service.
```bash
sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt
```
Copy exmaple.env file to .env and modify the .env file:
```bash
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo vi /myems-modbus-tcp/.env
```
Setup systemd service:
```bash
sudo cp myems-modbus-tcp.service /lib/systemd/system/
```
Enable the service:
```bash
sudo systemctl enable myems-modbus-tcp.service
```
Start the service:
```bash
sudo systemctl start myems-modbus-tcp.service
```
Monitor the service:
```bash
sudo systemctl status myems-modbus-tcp.service
```
View the log:
```bash
cat /myems-modbus-tcp.log
```
## Step 5 myems-cleaning
In this step, you will install myems-cleaning service.
```bash
sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt
```
Copy exmaple.env file to .env and modify the .env file:
```bash
sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo vi /myems-cleaning/.env
```
Setup systemd service:
```bash
sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/
```
Enable the service:
```bash
sudo systemctl enable myems-cleaning.service
```
Start the service:
```bash
sudo systemctl start myems-cleaning.service
```
Monitor the service:
```bash
sudo systemctl status myems-cleaning.service
```
View the log:
```bash
cat /myems-cleaning.log
```
## Step 6 myems-normalization
In this step, you will install myems-normalization service.
```bash
sudo cp -r ~/myems/myems-normalization /myems-normalization
cd /myems-normalization
sudo pip install -r requirements.txt
```
Copy exmaple.env file to .env and modify the .env file:
```bash
sudo cp /myems-normalization/example.env /myems-normalization/.env
sudo vi /myems-normalization/.env
```
Setup systemd service:
```bash
sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/
```
Enable the service:
```bash
sudo systemctl enable myems-normalization.service
```
Start the service:
```bash
sudo systemctl start myems-normalization.service
```
Monitor the service:
```bash
sudo systemctl status myems-normalization.service
```
View the log:
```bash
cat /myems-normalization.log
```
## Step 7 myems-aggregation
In this step, you will install myems-aggregation service.
```bash
sudo cp -r ~/myems/myems-aggregation /myems-aggregation
cd /myems-aggregation
pip install -r requirements.txt
```
Copy exmaple.env file to .env and modify the .env file:
```bash
sudo cp /myems-aggregation/example.env /myems-aggregation/.env
vi /myems-aggregation/.env
```
Setup systemd service:
```bash
sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/
```
Enable the service:
```bash
sudo systemctl enable myems-aggregation.service
```
Start the service:
```bash
sudo systemctl start myems-aggregation.service
```
Monitor the service:
```bash
sudo systemctl status myems-aggregation.service
```
View the log:
```bash
cat /myems-aggregation.log
```
## Step 8 myems-web
In this step, you will install myems-web UI service.
* Install NGINX Server
refer to http://nginx.org/en/linux_packages.html#Debian
* Configure NGINX
```bash
sudo vi /etc/nginx/nginx.conf
```
In the 'http' section, add some directives:
```
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;
...
}
```
Add a new 'server' section with directives as below:
```
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' and replace demo address http://127.0.0.1:8000/ with actual url
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
```
Restart NGINX
```bash
sudo systemctl restart nginx
```
* Install MyEMS Web UI:
Setup NodeJS:
```
sudo zypper install -y nodejs
```
Check and change the config file if necessary:
```bash
cd myems/myems-web
sudo vi src/config.js
```
Build and Compress
```bash
sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
sudo npm run build
tar czvf myems-web.tar.gz build
```
Install
Upload the file myems-web.tar.gz to you web server.
Note that the following path should be same as that was configured in nginx.conf.
```bash
tar xzf myems-web.tar.gz
sudo rm -r /var/www/myems-web
sudo mv build /var/www/myems-web
```
Add port to firewall:
```bash
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
```
## Post-installation
Congratulations! You are able to login the MyEMS Admin UI and Web UI now.
### Default Ports
MyEMS Web UI: 80
MyEMS API: 8000
MyEMS Admin UI: 8001
### Default Passwords
<details>
<summary>Admin UI</summary>
```
administrator
!MyEMS1
```
</details>
<details>
<summary>Web UI</summary>
```
administrator@myems.io
!MyEMS1
```
</details>
## Troubleshooting

View File

@ -1,5 +1,5 @@
---
sidebar_position: 10
sidebar_position: 100
---
# Herzlichen Glückwunsch!

View File

@ -8,7 +8,7 @@ In dieser Anleitung werden Sie MyEMS auf Debian- oder Ubuntu-Server.
## Prerequisites
Diese Anleitung beschreibt, wie MyEMS auf Debian 10 Buster Debian 11 Bullseye oder Debian 12 Bookworm installiert wird. Die Hardwareanforderungen hängen von der gewählten Datenbank und der Anzahl der an das System angeschlossenen Geräte ab. Um MyEMS und MySQL auf einem einzigen Rechner laufen zu lassen, benötigen Sie mindestens 4GB RAM.
Diese Anleitung beschreibt, wie MyEMS auf Debian 10 Buster / Debian 11 Bullseye / Debian 12 Bookworm / Ubuntu 18.04 LTS / Ubuntu 20.04 LTS / Ubuntu 22.04 LTS. Die Hardwareanforderungen hängen von der gewählten Datenbank und der Anzahl der an das System angeschlossenen Geräte ab. Um MyEMS und MySQL auf einem einzigen Rechner laufen zu lassen, benötigen Sie mindestens 4GB RAM.
Quellcode klonen:
```

View File

@ -0,0 +1,421 @@
---
sidebar_position: 9
---
# SUSE
In dieser Anleitung werden Sie MyEMS auf SUSE Linux Enterprise Server.
## Prerequisites
Diese Anleitung beschreibt, wie MyEMS auf SUSE Linux Enterprise Server 15 installiert wird. Die Hardwareanforderungen hängen von der gewählten Datenbank und der Anzahl der an das System angeschlossenen Geräte ab. Um MyEMS und MySQL auf einem einzigen Rechner laufen zu lassen, benötigen Sie mindestens 4GB RAM.
Quellcode klonen:
```
cd ~
git clone https://github.com/myems/myems
```
## Schritt 1 Database
Siehe [Database](./database.md)
## Schritt 2 myems-api
* myems-api Dienst installieren:
```bash
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo pip install -r requirements.txt
```
Erstellen Sie eine .env basierend auf example.env und bearbeiten Sie die .env bei Bedarf:
```bash
sudo cp /myems-api/example.env /myems-api/.env
sudo vi /myems-api/.env
```
Port zur Firewall hinzufügen:
```bash
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
```
systemd einrichten und Dateien konfigurieren:
```bash
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/
```
Als nächstes aktivieren Sie die Dienste so, dass sie beim Booten automatisch starten:
```bash
sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service
```
Starten Sie die Dienste:
```bash
sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service
```
## Schritt 3 myems-admin
* NGINX Server installieren
beziehen sich auf http://nginx.org/en/linux_packages.html#Debian
nginx-Dienst aktivieren:
```
sudo systemctl enable nginx.service
```
* NGINX einrichten
```bash
sudo vi /etc/nginx/nginx.conf
```
Fügen Sie im Abschnitt "http" einige Richtlinien hinzu:
```
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;
...
}
```
Fügen Sie eine neue Datei unter /etc/nginx/conf.d/
```
sudo vi /etc/nginx/conf.d/myems-admin.conf
```
Schreiben Sie mit Direktiven wie unten, ersetzen Sie die Standard-myems-api URL http://127.0.0.1:8000/ mit tatsächlicher URL, wenn die myems-ap servcie auf einem anderen Server gehostet wird
```
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 installieren :
Wenn der Server keine Verbindung zum Internet herstellen kann, komprimieren Sie bitte den Ordner myems/myems-admin und laden Sie ihn auf den Server hoch und extrahieren Sie ihn in ~/myems/myems-admin
```bash
sudo mkdir /var/www
sudo cp -r ~/myems/myems-admin /var/www/myems-admin
sudo chmod 0755 -R /var/www/myems-admin
```
Überprüfen Sie die Konfigurationsdatei und ändern Sie sie bei Bedarf:
```bash
sudo vi /var/www/myems-admin/app/api.js
```
:::caution
Der Ordner "upload" ist für vom Benutzer hochgeladene Dateien. Löschen/verschieben/überschreiben Sie NICHT den 'upload' Ordner, wenn Sie myems-admin aktualisiert haben.
```bash
/var/www/myems-admin/upload
```
:::
Port zur Firewall hinzufügen:
```bash
sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
sudo firewall-cmd --reload
```
Neustart des nginx-Dienstes:
```
sudo systemctl restart nginx.service
```
:::tip
Wenn Sie auf '403 Forbidden' nginx-Fehler stoßen, können Sie ihn beheben, indem Sie den SELinx-Modus mit dem Befehl 'sudo setforce 0' ändern.
:::
## Schritt 4 myems-modbus-tcp
In diesem Schritt installieren Sie den Dienst myems-modbus-tcp.
```bash
sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt
```
Kopieren Sie die Datei exmaple.env in .env und ändern Sie die Datei .env:
```bash
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo vi /myems-modbus-tcp/.env
```
systemd Dienst einrichten:
```bash
sudo cp myems-modbus-tcp.service /lib/systemd/system/
```
Den Dienst aktivieren:
```bash
sudo systemctl enable myems-modbus-tcp.service
```
Starten Sie den Dienst:
```bash
sudo systemctl start myems-modbus-tcp.service
```
Überwachen Sie den Dienst:
```bash
sudo systemctl status myems-modbus-tcp.service
```
Logbuch anzeigen:
```bash
cat /myems-modbus-tcp.log
```
## Schritt 5 myems-cleaning
In diesem Schritt installieren Sie den myems-cleaning Service.
```bash
sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt
```
Kopieren Sie die Datei exmaple.env in .env und ändern Sie die Datei .env:
```bash
sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo vi /myems-cleaning/.env
```
systemd Dienst einrichten:
```bash
sudo cp myems-cleaning.service /lib/systemd/system/
```
Den Dienst aktivieren:
```bash
sudo systemctl enable myems-cleaning.service
```
Starten Sie den Dienst:
```bash
sudo systemctl start myems-cleaning.service
```
Überwachen Sie den Dienst:
```bash
sudo systemctl status myems-cleaning.service
```
Logbuch anzeigen:
```bash
cat /myems-cleaning.log
```
## Schritt 6 myems-normalization
In diesem Schritt installieren Sie den myems-normalization service.
```bash
sudo cp -r ~/myems/myems-normalization /myems-normalization
cd /myems-normalization
sudo pip install -r requirements.txt
```
Kopieren Sie die Datei exmaple.env in .env und ändern Sie die Datei .env:
```bash
sudo cp /myems-normalization/example.env /myems-normalization/.env
sudo vi /myems-normalization/.env
```
systemd Dienst einrichten:
```bash
sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/
```
Den Dienst aktivieren:
```bash
sudo systemctl enable myems-normalization.service
```
Starten Sie den Dienst:
```bash
sudo systemctl start myems-normalization.service
```
Überwachen Sie den Dienst:
```bash
sudo systemctl status myems-normalization.service
```
Logbuch anzeigen:
```bash
cat /myems-normalization.log
```
## Schritt 7 myems-aggregation
In diesem Schritt installieren Sie den myems-aggregation service.
```bash
sudo cp -r ~/myems/myems-aggregation /myems-aggregation
cd /myems-aggregation
sudo pip install -r requirements.txt
```
Kopieren Sie die Datei exmaple.env in .env und ändern Sie die Datei .env:
```bash
sudo cp /myems-aggregation/example.env /myems-aggregation/.env
sudo vi /myems-aggregation/.env
```
systemd Dienst einrichten:
```bash
sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/
```
Den Dienst aktivieren:
```bash
sudo systemctl enable myems-aggregation.service
```
Starten Sie den Dienst:
```bash
sudo systemctl start myems-aggregation.service
```
Überwachen Sie den Dienst:
```bash
sudo systemctl status myems-aggregation.service
```
Logbuch anzeigen:
```bash
cat /myems-aggregation.log
```
## Schritt 8 myems-web
In diesem Schritt installieren Sie den myems-web UI Service.
* NGINX-Server installieren
beziehen sich auf http://nginx.org/en/linux_packages.html#Debian
* Konfigurieren Sie NGINX
```bash
sudo vi /etc/nginx/nginx.conf
```
Fügen Sie im Abschnitt 'http' einige Anweisungen hinzu:
```
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;
...
}
```
Aktualisieren der nginx Standard-Conf-Datei:
```
sudo vi /etc/nginx/conf.d/default.conf
```
Schreiben Sie mit Direktiven wie unten und ersetzen Sie die Standard-myems-api-URL http://127.0.0.1:8000/ mit tatsächlicher URL, wenn die myems-api-Servcie auf einem anderen Server gehostet wird
```
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 installieren:
NodeJS einrichten:
```
sudo zypper install -y nodejs
```
Überprüfen und ändern Sie gegebenenfalls die Konfigurationsdatei:
```bash
cd ~/myems/myems-web
sudo vi src/config.js
```
Erstellen und komprimieren:
```bash
sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
sudo npm run build
tar czvf myems-web.tar.gz build
```
Installieren
Laden Sie die Datei myems-web.tar.gz auf Ihren Webserver hoch.
Beachten Sie, dass der folgende Pfad mit dem in nginx.conf konfigurierten identisch sein sollte.
```bash
tar xzf myems-web.tar.gz
sudo rm -r /var/www/myems-web
sudo mv build /var/www/myems-web
```
Port zur Firewall hinzufügen:
```bash
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
```
Starten Sie NGINX neu
```bash
sudo systemctl restart nginx
```
## Nach der Installation
Glückwunsch! Sie können sich jetzt bei der MyEMS Admin-Benutzeroberfläche und der Web-Benutzeroberfläche anmelden.
### Standardports
MyEMS Web UI: 80
MyEMS API: 8000
MyEMS Admin UI: 8001
### Standardpasswörter
<details>
<summary>Admin UI</summary>
```
administrator
!MyEMS1
```
</details>
<details>
<summary>Web UI</summary>
```
administrator@myems.io
!MyEMS1
```
</details>
## Fehlerbehebung

View File

@ -1,5 +1,5 @@
---
sidebar_position: 10
sidebar_position: 100
---
# 恭喜!

View File

@ -339,7 +339,6 @@ sudo nano /etc/nginx/conf.d/default.conf
安装NodeJS:
```
sudo su
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
```

View File

@ -8,7 +8,7 @@ sidebar_position: 5
## 前提
- 主机上已安装docker、npm。
- 已安装MySQL服务器用户名为“root”密码为“MyEMS1
- 已安装MySQL服务器用户名为“root”密码为“!MyEMS1
- MySQL数据库可以从Docker Engine运行的主机连接。
## 第1步 数据库

View File

@ -0,0 +1,414 @@
---
sidebar_position: 9
---
# SUSE
在本指南中您将在SUSE Linux Enterprise Server上部署MyEMS。
## 前提
本指南介绍如何在SUSE Linux Enterprise Server 15上安装MyEMS。硬件需求取决于所选数据库和连接到系统的设备数量。要在一台机器上运行MyEMS和MySQL您至少需要4GB的RAM。
克隆源代码:
```
cd ~
git clone https://gitee.com/myems/myems
```
## 第1步 数据库
参考 [Database](./database.md)
## 第2步 myems-api
* 安装 myems-api 服务:
```bash
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
```
根据example.env创建.env文件并根据需要编辑.env
```bash
sudo cp /myems-api/example.env /myems-api/.env
sudo vi /myems-api/.env
```
将端口添加到防火墙:
```bash
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
```
安装 systemd 配置文件:
```bash
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/
```
接下来启用这些服务,以便它们在启动时自动启动:
```bash
sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service
```
启动服务:
```bash
sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service
```
## 第3步 myems-admin
* 安装 NGINX 服务器
参考 http://nginx.org/en/linux_packages.html#Debian
启用nginx服务:
```
sudo systemctl enable nginx.service
```
* 配置 NGINX
```bash
sudo vi /etc/nginx/nginx.conf
```
In the 'http' section, add some directives:
```
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/ 下新建一个文件:
```
sudo vi /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 a 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
```bash
sudo mkdir /var/www
sudo cp -r ~/myems/myems-admin /var/www/myems-admin
sudo chmod 0755 -R /var/www/myems-admin
```
检查配置文件,必要时进行更改:
```bash
sudo vi /var/www/myems-admin/app/api.js
```
:::caution
“upload”文件夹用于用户上传的文件。升级myems-admin时请勿删除/移动/覆盖“upload”文件夹。
```bash
/var/www/myems-admin/upload
```
:::
将端口添加到防火墙:
```bash
sudo firewall-cmd --zone=public --add-port=8001/tcp --permanent
sudo firewall-cmd --reload
```
重启nginx服务:
```
sudo systemctl restart nginx.service
```
## 第4步 myems-modbus-tcp
在此步骤中您将安装myems-modbus-tcp服务。
```bash
sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
```
将exmaple.ev文件复制到.env并修改.env文件
```bash
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo vi /myems-modbus-tcp/.env
```
安装 systemd 服务:
```bash
sudo cp myems-modbus-tcp.service /lib/systemd/system/
```
启用服务:
```bash
sudo systemctl enable myems-modbus-tcp.service
```
启动服务:
```bash
sudo systemctl start myems-modbus-tcp.service
```
监控服务:
```bash
sudo systemctl status myems-modbus-tcp.service
```
查看日志:
```bash
cat /myems-modbus-tcp.log
```
## 第5步 myems-cleaning
在此步骤中您将安装myems-cleaning服务。
```bash
sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
```
将exmaple.ev文件复制到.env并修改.env文件
```bash
sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo vi /myems-cleaning/.env
```
安装systemd服务
```bash
sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/
```
启用服务:
```bash
sudo systemctl enable myems-cleaning.service
```
启动服务:
```bash
sudo systemctl start myems-cleaning.service
```
监控服务:
```bash
sudo systemctl status myems-cleaning.service
```
查看日志:
```bash
cat /myems-cleaning.log
```
## 第6步 myems-normalization
在此步骤中您将安装myems-normalization服务。
```bash
sudo cp -r ~/myems/myems-normalization /myems-normalization
cd /myems-normalization
sudo pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
```
将exmaple.ev文件复制到.env并修改.env文件
```bash
sudo cp /myems-normalization/example.env /myems-normalization/.env
sudo vi /myems-normalization/.env
```
安装systemd服务
```bash
sudo cp /myems-normalization/myems-normalization.service /lib/systemd/system/
```
启用服务:
```bash
sudo systemctl enable myems-normalization.service
```
启动服务:
```bash
sudo systemctl start myems-normalization.service
```
监控服务:
```bash
sudo systemctl status myems-normalization.service
```
查看日志:
```bash
cat /myems-normalization.log
```
## 第7步 myems-aggregation
在此步骤中您将安装myems-aggregation服务。
```bash
sudo cp -r ~/myems/myems-aggregation /myems-aggregation
cd /myems-aggregation
sudo pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
```
将exmaple.ev文件复制到.env并修改.env文件
```bash
sudo cp /myems-aggregation/example.env /myems-aggregation/.env
sudo vi /myems-aggregation/.env
```
安装systemd服务
```bash
sudo cp /myems-aggregation/myems-aggregation.service /lib/systemd/system/
```
启用服务:
```bash
sudo systemctl enable myems-aggregation.service
```
启动服务:
```bash
sudo systemctl start myems-aggregation.service
```
监控服务:
```bash
sudo systemctl status myems-aggregation.service
```
查看日志:
```bash
cat /myems-aggregation.log
```
## Step 8 myems-web
在此步骤中您将安装myems-web服务。
* 安装 NGINX 服务器
参考 http://nginx.org/en/linux_packages.html#Debian
* 配置 NGINX
```bash
sudo vi /etc/nginx/nginx.conf
```
In the 'http' section, add some directives:
```
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;
...
}
```
更新nginx默认conf文件:
```
sudo vi /etc/nginx/conf.d/default.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 zypper install -y nodejs
```
如有必要,检查并更改配置文件:
```bash
cd ~/myems/myems-web
sudo vi src/config.js
```
编译和压缩:
```bash
sudo npm i --unsafe-perm=true --allow-root --legacy-peer-deps
sudo npm run build
tar czvf myems-web.tar.gz build
```
安装:
将myems-web.tar.gz文件上传到web服务器。
注意以下路径应该与nginx.conf中配置的路径相同。
```bash
tar xzf myems-web.tar.gz
sudo rm -r /var/www/myems-web
sudo mv build /var/www/myems-web
```
将端口添加到防火墙:
```bash
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
```
重启 NGINX
```bash
sudo systemctl restart nginx
```
## 安装后
祝贺您现在可以登录MyEMS Admin UI和Web UI。
### 默认端口
MyEMS Web UI: 80
MyEMS API: 8000
MyEMS Admin UI: 8001
### 默认密码
<details>
<summary>Admin UI</summary>
```
administrator
!MyEMS1
```
</details>
<details>
<summary>Web UI</summary>
```
administrator@myems.io
!MyEMS1
```
</details>
## 故障排除