Windows 10 / 11 / Server
In deze handleiding installeert u MyEMS op een Windows 10 / 11 / Server.
Vereisten
Deze handleiding legt uit hoe u MyEMS installeert op Windows 10, Windows 11 en Windows Server (2022). De hardwarevereisten zijn afhankelijk van de gekozen database en het aantal apparaten dat op het systeem is aangesloten. Om MyEMS, MySQL en Python 3.10, 3.11 of 3.12 op één computer uit te voeren, is minimaal 8 GB geheugen nodig.
Kloon de broncode:
Uitvoeren als administrator, Windows PowerShell
cd C:\
git clone https://gitee.com/myems/myems
Installeer Python 3.10
https://www.python.org/downloads/windows/
Python 3.10.11 pakket 64-bit versie voor 64-bit systemen
Download Windows installer (64-bit)
Voer het Python installatieprogramma uit
Dubbelklik: python-3.10.11-amd64.exe
Vink "Add py... to PATH" aan en klik op "Customize installation"
Zorg ervoor dat alle opties zijn aangevinkt, met name pip; klik op "Next"
Vink de eerste optie aan, het wordt aanbevolen de installatielocatie van Python te wijzigen en klik vervolgens op "install"
Opmerking: De standaardinstallatie is in: C:\Program Files\Python310. Wijzig dit in C:\Python310
Klik op "close" wanneer de installatie is voltooid
Typ in de opdrachtprompt python en druk op Enter. Als het versienummer van Python verschijnt, is de installatie geslaagd
Stap 1 Database
Zie Database
Hieronder vindt u de gedetailleerde stappen om MySQL te downloaden en installeren (voorbeeld met MySQL 8.0, gratis Community-editie).
1.1 Download het MySQL installatieprogramma
- Open de officiële website: https://dev.mysql.com/downloads/mysql/
- Kies het Windows platform, meestal twee opties:
- mysql-installer-web-community (online installatie, kleine omvang)
- mysql-installer-community (volledig offline pakket, aanbevolen)
- Klik op Download, als er wordt gevraagd om in te loggen, kies dan "No thanks, just start my download"
1.2 Installeer MySQL
- Dubbelklik om het gedownloade installatieprogramma uit te voeren (beheerdersrechten nodig)
- Kies het installatietype (aanbevolen: Developer Default of Custom)
- Developer Default: installeert MySQL Server, Workbench, Shell en andere veelgebruikte hulpmiddelen
- Custom: u kunt componenten aanpassen
- Klik op Next; het installatieprogramma controleert automatisch afhankelijkheden en downloadt ontbrekende componenten
- Klik op Execute om de installatie te starten, klik op Next wanneer deze is voltooid
1.3 Configureer MySQL Server
-
Type and Networking
- Config Type: kies Development Computer
- Port: standaard 3306 (kan worden gewijzigd)
- Klik op Next
-
Authentication Method
- Aanbevolen: kies Use Strong Password Encryption (nieuwere versleuteling)
- Of de tweede optie (compatibiliteit met oudere versies)
- Klik op Next
-
Accounts and Roles
- Stel een root-wachtwoord in (niet vergeten)
- Optioneel: voeg een gewone gebruiker toe (kan worden overgeslagen)
- Klik op Next
-
Windows Service
- Vink Configure MySQL Server as a Windows Service aan
- Service Name: MySQL80 (standaard)
- Vink Start the MySQL Server at System Startup aan
- Klik op Next
-
Apply Configuration
- Klik op Execute om de configuratie toe te passen
- Alle stappen tonen een groen vinkje bij succes
- Klik op Finish
1.4 Voltooi de installatie
- Blijf op Next klikken totdat Finish verschijnt
- Vink Start MySQL Workbench after Setup aan (optioneel)
- Klik op Finish om de installatiewizard te verlaten
1.5 Controleer de installatie
Methode 1: Test vanaf de opdrachtregel
- Druk op
Win + R, typcmden druk op Enter - Typ:
mysql -u root -p - Voer het ingestelde root-wachtwoord in
- Het verschijnen van de prompt
mysql>bevestigt het succes
Methode 2: Controleer de service
- Druk op
Win + R, typservices.msc - Zoek
MySQL80, de status moet "Wordt uitgevoerd" zijn
1.6 Veelvoorkomende initiële instellingen (optioneel)
Nadat u verbinding hebt gemaakt met MySQL, voert u het volgende uit:
-- Databases weergeven
show databases;
-- Nieuwe database aanmaken
create database mydb;
-- Gebruiker aanmaken voor externe toegang (optioneel)
create user 'myems'@'%' identified by 'wachtwoord';
grant all privileges on *.* to 'myems'@'%';
flush privileges;
Veelvoorkomende problemen
| Probleem | Oplossing |
|---|---|
| Poort 3306 is al in gebruik | Wijzig de poort tijdens de installatie (bijv. 3307) |
| Root-wachtwoord vergeten | MySQL starten zonder de bevoegdheidstabel (complexe procedure) |
| Kan service niet starten | Controleer of de poort in gebruik is of bekijk de Windows-gebeurtenislogboeken |
Heeft u hulp nodig bij een specifiek probleem dat u tegenkwam tijdens de installatie?
Stap 2 myems-api
- Installeer de myems-api service:
# 1. Open een nieuw CMD-venster als administrator
# 2. Stel omgevingsvariabelen in
set PIP_NO_USER=1
set PYTHONNOUSERSITE=1
# 3. Ga naar de projectdirectory
cd C:\myems\myems-api
# 4. Herinstalleer alle pakketten
C:\Python310\python.exe -m pip install --no-cache-dir --no-user -r requirements.txt
C:\Python310\python.exe -m pip install --no-cache-dir --no-user waitress
Maak een .env-bestand van example.env en bewerk het indien nodig:
copy .\example.env .env
Open en bewerk met een teksteditor: C:\myems\myems-api\.env
Wijzig de databaseverbindingsgegevens
Installeer de Windows-service:
cmd
# 1. Verwijder de oude service volledig
sc delete MyEMSAPI
# 2. Maak de logdirectory aan
mkdir C:\myems\myems-api\logs 2>nul
# 3. Download WinSW (indien nog niet gedownload)
https://github.com/winsw/winsw/releases
Hernoem WinSW-x64.exe naar MyEMSAPI.exe
cd C:\myems\myems-api
# 4. Maak het configuratiebestand aan
Maak `C:\myems\myems-api\MyEMSAPI.xml` (met notepad of de volgende opdracht):
notepad C:\myems\myems-api\MyEMSAPI.xml
Kopieer de volgende inhoud naar Kladblok:
<service>
<id>MyEMSAPI</id>
<name>MyEMS API Service</name>
<description>MyEMS API Service</description>
<executable>C:\Python310\python.exe</executable>
<arguments>-m waitress --listen=0.0.0.0:8000 app:api</arguments>
<workingdirectory>C:\myems\myems-api</workingdirectory>
<logmode>rotate</logmode>
<logpath>C:\myems\myems-api\logs</logpath>
<onfailure action="restart" delay="10 sec"/>
<stoptimeout>15 sec</stoptimeout>
<startmode>Automatic</startmode>
</service>
Sla Kladblok op en sluit het.
# 5. Installeer de service
MyEMSAPI.exe install
# 6. Start de service
MyEMSAPI.exe start
# 7. Controleer de status
MyEMSAPI.exe status
# 8. Test de service
curl http://localhost:8000
# 9. Raadpleeg de logboeken bij problemen
C:\myems\myems-api\logs
Stap 3 myems-admin
- Installeer de NGINX-server: https://nginx.org/en/download.html
Start de nginx-service op de achtergrond:
start /b nginx.exe
- Configureer NGINX
cd C:\Program Files\nginx-1.29.1\conf
Open en bewerk nginx.conf met een teksteditor
Voeg in de 'http'-sectie een aantal richtlijnen toe:
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;
...
}
Schrijf de volgende richtlijnen; als de myems-api-service op een andere server draait, vervang dan het standaardadres http://127.0.0.1:8000/ door het werkelijke adres.
server {
listen 8001;
server_name myems-admin;
location / {
root C:\myems-admin;
index index.html index.htm;
}
## Om CORS-problemen te voorkomen, gebruikt u Nginx als proxy voor myems-api naar het pad /api
## Voeg nog een locatie /api toe in 'server'
## Vervang de standaard myems-api URL http://127.0.0.1:8000/ door de werkelijke URL als de myems-api-service op een andere server wordt gehost
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
- Installeer myems-admin: Als de server geen verbinding met internet kan maken, comprimeer dan de map myems/myems-admin en upload deze naar de server.
- Pak deze vervolgens uit naar c:\myems-admin
Controleer het configuratiebestand en wijzig het indien nodig:
c:\myems-admin\app\api.js
:::let op
De map "upload" wordt gebruikt voor door gebruikers geüploade bestanden. Verwijder/verplaats/overschrijf de map "upload" niet tijdens het upgraden van myems-admin.
C:\myems-admin\upload
:::
Herstart de nginx-service:
cd C:\Program Files\nginx-1.29.1
nginx.exe -s stop
start /b nginx.exe
## Stap 4 myems-modbus-tcp
In deze stap installeert u de myems-modbus-tcp service.
```bash
cd C:\myems\myems-modbus-tcp
# 1. Open een nieuw CMD-venster als administrator
# 2. Stel omgevingsvariabelen in
set PIP_NO_USER=1
set PYTHONNOUSERSITE=1
# 3. Ga naar de projectdirectory
cd C:\myems\myems-modbus-tcp
# 4. Herinstalleer alle pakketten
C:\Python310\python.exe -m pip install --no-cache-dir --no-user -r requirements.txt
Maak een .env-bestand van example.env en bewerk het indien nodig:
copy .\example.env .env
Open en bewerk met een teksteditor: C:\myems\myems-modbus-tcp\.env
Installeer de Windows-service:
# 1. Verwijder de oude service volledig
sc delete MyEMSModbusTCP
# 2. Maak de logdirectory aan
mkdir C:\myems\myems-modbus-tcp\logs 2>nul
# 3. Download WinSW (indien nog niet gedownload)
https://github.com/winsw/winsw/releases
Hernoem WinSW-x64.exe naar MyEMSModbusTCP.exe
cd C:\myems\myems-modbus-tcp
# 4. Maak het configuratiebestand aan
Maak `C:\myems\myems-modbus-tcp\MyEMSModbusTCP.xml` (met notepad of de volgende opdracht):
notepad C:\myems\myems-modbus-tcp\MyEMSModbusTCP.xml
Kopieer de volgende inhoud naar Kladblok:
<service>
<id>MyEMSModbusTCP</id>
<name>MyEMS Modbus TCP Service</name>
<description>MyEMS Modbus TCP Service</description>
<executable>C:\Python310\python.exe</executable>
<arguments>main.py</arguments>
<workingdirectory>C:\myems\myems-modbus-tcp</workingdirectory>
<logmode>rotate</logmode>
<logpath>C:\myems\myems-modbus-tcp\logs</logpath>
<onfailure action="restart" delay="10 sec"/>
<stoptimeout>15 sec</stoptimeout>
<startmode>Automatic</startmode>
</service>
Sla Kladblok op en sluit het.
# 5. Installeer de service
MyEMSModbusTCP.exe install
# 6. Start de service
MyEMSModbusTCP.exe start
# 7. Controleer de status
MyEMSModbusTCP.exe status
# 8. Raadpleeg de logboeken bij problemen
C:\myems\myems-modbus-tcp\logs
Als
MyEMSModbusTCP.exe installenMyEMSModbusTCP.exe startsuccesvol worden uitgevoerd, maarMyEMSModbusTCP.exe statusnog steeds "Stopped" aangeeft, is de VC++ redistributable mogelijk niet geïnstalleerd. VC++ downloadadres: https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022
Stap 5 myems-cleaning
In deze stap installeert u de myems-cleaning service.
cd C:\myems\myems-cleaning
# 1. Open een nieuw CMD-venster als administrator
# 2. Stel omgevingsvariabelen in
set PIP_NO_USER=1
set PYTHONNOUSERSITE=1
# 3. Ga naar de projectdirectory
cd C:\myems\myems-cleaning
# 4. Herinstalleer alle pakketten
C:\Python310\python.exe -m pip install --no-cache-dir --no-user -r requirements.txt
Maak een .env-bestand van example.env en bewerk het indien nodig:
copy C:\myems\myems-cleaning\example.env .env
Open en bewerk met een teksteditor: C:\myems\myems-cleaning\.env
Installeer de Windows-service:
# 1. Verwijder de oude service volledig
sc delete MyEMSCleaning
# 2. Maak de logdirectory aan
mkdir C:\myems\myems-cleaning\logs 2>nul
# 3. Download WinSW (indien nog niet gedownload)
https://github.com/winsw/winsw/releases
Hernoem WinSW-x64.exe naar MyEMSCleaning.exe
cd C:\myems\myems-cleaning
# 4. Maak het configuratiebestand aan
Maak `C:\myems\myems-cleaning\MyEMSCleaning.xml` (met notepad of de volgende opdracht):
notepad C:\myems\myems-cleaning\MyEMSCleaning.xml
Kopieer de volgende inhoud naar Kladblok:
<service>
<id>MyEMSCleaning</id>
<name>MyEMS Cleaning Service</name>
<description>MyEMS Cleaning Service</description>
<executable>C:\Python310\python.exe</executable>
<arguments>main.py</arguments>
<workingdirectory>C:\myems\myems-cleaning</workingdirectory>
<logmode>rotate</logmode>
<logpath>C:\myems\myems-cleaning\logs</logpath>
<onfailure action="restart" delay="10 sec"/>
<stoptimeout>15 sec</stoptimeout>
<startmode>Automatic</startmode>
</service>
Sla Kladblok op en sluit het.
# 5. Installeer de service
MyEMSCleaning.exe install
# 6. Start de service
MyEMSCleaning.exe start
# 7. Controleer de status
MyEMSCleaning.exe status
# 8. Raadpleeg de logboeken bij problemen
C:\myems\myems-cleaning\logs
Stap 6 myems-normalization
In deze stap installeert u de myems-normalization service.
cd C:\myems\myems-normalization
# 1. Open een nieuw CMD-venster als administrator
# 2. Stel omgevingsvariabelen in
set PIP_NO_USER=1
set PYTHONNOUSERSITE=1
# 3. Ga naar de projectdirectory
cd C:\myems\myems-normalization
# 4. Herinstalleer alle pakketten
C:\Python310\python.exe -m pip install --no-cache-dir --no-user -r requirements.txt
Maak een .env-bestand van example.env en bewerk het indien nodig:
copy C:\myems\myems-normalization\example.env .env
Open en bewerk met een teksteditor: C:\myems\myems-normalization\.env
Installeer de Windows-service:
# 1. Verwijder de oude service volledig
sc delete MyEMSNormalization
# 2. Maak de logdirectory aan
mkdir C:\myems\myems-normalization\logs 2>nul
# 3. Download WinSW (indien nog niet gedownload)
https://github.com/winsw/winsw/releases
Hernoem WinSW-x64.exe naar MyEMSNormalization.exe
cd C:\myems\myems-normalization
# 4. Maak het configuratiebestand aan
Maak `C:\myems\myems-normalization\MyEMSNormalization.xml` (met notepad of de volgende opdracht):
notepad C:\myems\myems-normalization\MyEMSNormalization.xml
Kopieer de volgende inhoud naar Kladblok:
<service>
<id>MyEMSNormalization</id>
<name>MyEMS Normalization Service</name>
<description>MyEMS Normalization Service</description>
<executable>C:\Python310\python.exe</executable>
<arguments>main.py</arguments>
<workingdirectory>C:\myems\myems-normalization</workingdirectory>
<logmode>rotate</logmode>
<logpath>C:\myems\myems-normalization\logs</logpath>
<onfailure action="restart" delay="10 sec"/>
<stoptimeout>15 sec</stoptimeout>
<startmode>Automatic</startmode>
</service>
Sla Kladblok op en sluit het.
# 5. Installeer de service
MyEMSNormalization.exe install
# 6. Start de service
MyEMSNormalization.exe start
# 7. Controleer de status
MyEMSNormalization.exe status
# 8. Raadpleeg de logboeken bij problemen
C:\myems\myems-normalization\logs
Stap 7 myems-aggregation
In deze stap installeert u de myems-aggregation service.
cd C:\myems\myems-aggregation
# 1. Open een nieuw CMD-venster als administrator
# 2. Stel omgevingsvariabelen in
set PIP_NO_USER=1
set PYTHONNOUSERSITE=1
# 3. Ga naar de projectdirectory
cd C:\myems\myems-aggregation
# 4. Herinstalleer alle pakketten
C:\Python310\python.exe -m pip install --no-cache-dir --no-user -r requirements.txt
Maak een .env-bestand van example.env en bewerk het indien nodig:
copy C:\myems\myems-aggregation\example.env .env
Open en bewerk met een teksteditor: C:\myems\myems-aggregation\.env
Installeer de Windows-service:
# 1. Verwijder de oude service volledig
sc delete MyEMSAggregation
# 2. Maak de logdirectory aan
mkdir C:\myems\myems-aggregation\logs 2>nul
# 3. Download WinSW (indien nog niet gedownload)
https://github.com/winsw/winsw/releases
Hernoem WinSW-x64.exe naar MyEMSAggregation.exe
cd C:\myems\myems-aggregation
# 4. Maak het configuratiebestand aan
Maak `C:\myems\myems-aggregation\MyEMSAggregation.xml` (met notepad of de volgende opdracht):
notepad C:\myems\myems-aggregation\MyEMSAggregation.xml
Kopieer de volgende inhoud naar Kladblok:
<service>
<id>MyEMSAggregation</id>
<name>MyEMS Aggregation Service</name>
<description>MyEMS Aggregation Service</description>
<executable>C:\Python310\python.exe</executable>
<arguments>main.py</arguments>
<workingdirectory>C:\myems\myems-aggregation</workingdirectory>
<logmode>rotate</logmode>
<logpath>C:\myems\myems-aggregation\logs</logpath>
<onfailure action="restart" delay="10 sec"/>
<stoptimeout>15 sec</stoptimeout>
<startmode>Automatic</startmode>
</service>
Sla Kladblok op en sluit het.
# 5. Installeer de service
MyEMSAggregation.exe install
# 6. Start de service
MyEMSAggregation.exe start
# 7. Controleer de status
MyEMSAggregation.exe status
# 8. Raadpleeg de logboeken bij problemen
C:\myems\myems-aggregation\logs
Stap 8 myems-web
In deze stap installeert u de myems-web service.
Start de nginx-service:
start /b nginx.exe
- Configureer NGINX
cd C:\Program Files\nginx-1.29.1\conf
Open en bewerk nginx.conf met een teksteditor
Gebruik de volgende richtlijnen; als de myems-api-service op een andere server wordt gehost, vervang dan de standaard myems-api URL http://127.0.0.1:8000/ door de werkelijke URL.
server {
listen 80;
server_name myems-web;
location / {
root C:\myems-web\build;
index index.html index.htm;
# voeg de try_files-richtlijn toe om fout 404 te voorkomen bij het vernieuwen van pagina's
try_files $uri /index.html;
}
## Om CORS-problemen te voorkomen, gebruikt u Nginx als proxy voor myems-api naar het pad /api
## Voeg nog een locatie /api toe in 'server'
## Vervang de standaard myems-api URL http://127.0.0.1:8000/ door de werkelijke URL als de myems-api-service op een andere server wordt gehost
location /api {
proxy_pass http://127.0.0.1:8000/;
proxy_connect_timeout 75;
proxy_read_timeout 600;
send_timeout 600;
}
}
Herstart Nginx
cd C:\Program Files\nginx-1.29.1
nginx.exe -s stop
start /b nginx.exe
- Installeer de MyEMS Web UI:
Installeer NodeJS: https://nodejs.org/zh-cn Versievereisten:
- Node.js 22.22.2, 24.5.0 of nieuwer
- npm 10.9.7, 11.5.1 of nieuwer
Voorbeeld: C:\Program Files\nodejs
Versievereisten:
- Node.js 22.22.2, 24.5.0 of nieuwer
- npm 10.9.7, 11.5.1 of nieuwer
Configureer omgevingsvariabelen
Wijzig het configuratiebestand:
cd C:\myems\myems-web
Open en bewerk met een teksteditor: src/config.js
Compileer:
npm i
npm run build
De build-directory wordt gegenereerd in C:\myems\myems-web
mkdir C:\myems-web
move "C:\myems\myems-web\build" "C:\myems-web"
Als het compileren mislukt met een time-outfout:
npm error code EIDLETIMEOUT
npm error Idle timeout reached for host `registry.npmjs.org:443`
npm error A complete log of this run can be found inVoer de volgende opdracht uit om over te schakelen naar een nationale mirror:
npm config set registry https://registry.npmmirror.com/
Na de installatie
Gefeliciteerd! U kunt nu inloggen op de MyEMS Admin UI en Web UI.
Standaardpoorten
MyEMS Web UI: 80
MyEMS API: 8000
MyEMS Admin UI: 8001
Stel dat het serveradres 192.168.1.8 is (vervang door het werkelijke serveradres) Het adres van de MyEMS Web UI is http://192.168.1.8 (80 kan worden weggelaten) Het adres van de MyEMS Admin UI is http://192.168.1.8:8001
Standaardwachtwoorden
MyEMS Admin UI
Gebruikersnaam:
administrator
Wachtwoord:
!MyEMS1
MyEMS Web UI
Gebruikersnaam:
administrator
Wachtwoord:
!MyEMS1