Anolis OS
In dieser Anleitung stellen Sie MyEMS mit Anolis OS Server bereit.
Prerequisites
Diese Anleitung beschreibt, wie Sie MyEMS auf Anolis OS 8 installieren. 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.
Aktualisieren Sie das System und installieren Sie Tools:
sudo dnf update
sudo yum install python39
sudo ln -sb /bin/python3.9 /bin/python3
sudo ln -sb /bin/pip3.9 /bin/pip3
sudo ln -sb /bin/python3.9 /bin/python
sudo ln -sb /bin/pip3.9 /bin/pip
sudo dnf install git
Quellcode klonen:
cd ~
git clone https://github.com/myems/myems
Schritt 1 Database
Siehe Database
Schritt 2 myems-api
- myems-api Dienst installieren:
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:
sudo cp /myems-api/example.env /myems-api/.env
sudo nano /myems-api/.env
Überprüfen oder ändern Sie den Abhörport (Standard ist 8000) in myems-api.service und myems-api.socket:
sudo nano /myems-api/myems-api.service
ExecStart=/usr/local/bin/gunicorn -b 0.0.0.0:8000 --pid /run/myems-api/pid --timeout 600 --workers=4 app:api
sudo nano /myems-api/myems-api.socket
ListenStream=0.0.0.0:8000
Port zur Firewall hinzufügen:
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
systemd einrichten und Dateien konfigurieren:
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:
sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service
Starten Sie die Dienste:
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#RHEL
Enable the nginx service:
sudo systemctl enable nginx.service
- NGINX einrichten
sudo nano /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 nano /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
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:
sudo nano /var/www/myems-admin/app/api.js
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.
/var/www/myems-admin/upload
Port zur Firewall hinzufügen:
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
Restart the nginx service:
sudo systemctl restart nginx.service
If you encounter '403 Forbidden' nginx error, you may fix it by changing SELinx mode with command 'sudo setenforce 0'
Schritt 4 myems-modbus-tcp
In diesem Schritt installieren Sie den Dienst myems-modbus-tcp.
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:
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo nano /myems-modbus-tcp/.env
systemd Dienst einrichten:
sudo cp myems-modbus-tcp.service /lib/systemd/system/
Den Dienst aktivieren:
sudo systemctl enable myems-modbus-tcp.service
Starten Sie den Dienst:
sudo systemctl start myems-modbus-tcp.service
Überwachen Sie den Dienst:
sudo systemctl status myems-modbus-tcp.service
Logbuch anzeigen:
cat /myems-modbus-tcp.log