CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
Bu kılavuzda, MyEMS'i CentOS veya RHEL sunucusunda dağıtacaksınız.
Önkoşullar
Bu kılavuz, MyEMS'in CentOS Stream 10 / Red Hat Enterprise Linux 10 (RHEL 10) / Rocky Linux 10 / AlmaLinux 10 / Oracle Linux 10 üzerine nasıl kurulacağını açıklar. Donanım gereksinimleri, seçilen veritabanına ve sisteme bağlı cihaz sayısına göre değişir. MyEMS ve MySQL'i tek bir makinede çalıştırmak için en az 8GB RAM'e ihtiyacınız olacak.
Sistemi güncelleyin ve araçları yükleyin
sudo dnf update
sudo dnf install git
sudo dnf install python3-pip
Kaynak kodu klonlayın:
cd ~
git clone https://github.com/myems/myems
1. Adım Veritabanı
Veritabanı bölümüne bakın
2. Adım myems-api
- myems-api servisini kurun:
sudo cp -r ~/myems/myems-api /myems-api
cd /myems-api
sudo pip install -r requirements.txt
(CentOS Stream 9/RHEL 9/Rocky 9/AlmaLinux 9.1/Oracle Linux 9.1)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
example.env dosyasına göre .env dosyasını oluşturun ve gerekirse düzenleyin:
sudo cp /myems-api/example.env /myems-api/.env
sudo nano /myems-api/.env
Portu güvenlik duvarına ekleyin:
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --reload
systemd yapılandırma dosyalarını ayarlayın:
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/
Ardından, servislerin sistem açılışında otomatik başlamasını sağlayın:
sudo systemctl enable myems-api.socket
sudo systemctl enable myems-api.service
Servisleri başlatın:
sudo systemctl start myems-api.socket
sudo systemctl start myems-api.service
3. Adım myems-admin
- NGINX Sunucusunu Kurun
http://nginx.org/en/linux_packages.html#RHEL adresine bakın
nginx servisini etkinleştirin:
sudo systemctl start nginx.service
- NGINX'i Yapılandırın
sudo nano /etc/nginx/nginx.conf
'http' bölümüne aşağıdaki yönergeleri ekleyin:
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/ altında yeni bir dosya oluşturun
sudo nano /etc/nginx/conf.d/myems-admin.conf
Aşağıdaki yönergelerle yazın ve eğer myems-api servisi farklı bir sunucuda barındırılıyorsa, varsayılan myems-api url'si http://127.0.0.1:8000/ adresini gerçek url ile değiştirin
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'i kurun: Sunucu internete bağlanamıyorsa, myems/myems-admin klasörünü sıkıştırıp sunucuya yükleyin ve ~/myems/myems-admin dizinine çıkarın
sudo mkdir /var/www
sudo cp -r ~/myems/myems-admin /var/www/myems-admin
sudo chmod 0755 -R /var/www/myems-admin
'upload' klasörü, kullanıcı tarafından yüklenen dosyalar içindir. myems-admin'i yükseltirken 'upload' klasörünü silmeyin/taşımayın/üzerine yazmayın.
/var/www/myems-admin/upload
Portu açın ve güvenlik duvarına ekleyin:
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 servisini yeniden başlatın:
sudo systemctl restart nginx.service
'403 Forbidden' nginx hatasıyla karşılaşırsanız, 'sudo setenforce 0' komutuyla SELinux modunu değiştirerek sorunu çözebilirsiniz.
4. Adım myems-modbus-tcp
Bu adımda, myems-modbus-tcp servisini kuracaksınız.
sudo cp -r ~/myems/myems-modbus-tcp /myems-modbus-tcp
cd /myems-modbus-tcp
sudo pip install -r requirements.txt
(CentOS Stream 9/RHEL 9/Rocky 9/AlmaLinux 9.1/Oracle Linux 9.1)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
exmaple.env dosyasını .env olarak kopyalayın ve .env dosyasını düzenleyin:
sudo cp /myems-modbus-tcp/example.env /myems-modbus-tcp/.env
sudo nano /myems-modbus-tcp/.env
systemd servisini ayarlayın:
sudo cp myems-modbus-tcp.service /lib/systemd/system/
Servisi etkinleştirin:
sudo systemctl enable myems-modbus-tcp.service
Servisi başlatın:
sudo systemctl start myems-modbus-tcp.service
Servisi izleyin:
sudo systemctl status myems-modbus-tcp.service
Log dosyasını görüntüleyin:
cat /myems-modbus-tcp.log
5. Adım myems-cleaning
Bu adımda, myems-cleaning servisini kuracaksınız.
sudo cp -r ~/myems/myems-cleaning /myems-cleaning
cd /myems-cleaning
sudo pip install -r requirements.txt
(CentOS Stream 9/RHEL 9/Rocky 9/AlmaLinux 9.1/Oracle Linux 9.1)If the code does not work, you can use the following code: sudo pip install -r requirements.txt --break-system-packages
exmaple.env dosyasını .env olarak kopyalayın ve .env dosyasını düzenleyin:
sudo cp /myems-cleaning/example.env /myems-cleaning/.env
sudo nano /myems-cleaning/.env
systemd servisini ayarlayın:
sudo cp /myems-cleaning/myems-cleaning.service /lib/systemd/system/
Servisi etkinleştirin:
sudo systemctl enable myems-cleaning.service
Servisi başlatın:
sudo systemctl start myems-cleaning.service
Servisi izleyin:
sudo systemctl status myems-cleaning.service
Log dosyasını görüntüleyin:
cat /myems-cleaning.log