en
Dil
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Makine çevirisi
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • yok hayır
  • pl
  • tr

Kolay sanal makine (VM)

Giriş

Bu belge, Sunucu çözümünü satın alan İstemciler için Kolay Yazılım tarafından sağlanan sanal makineler (VM) içindir. 1 Mart 2022'den sonra oluşturulan VM'ler için geçerlidir.

Aynı zamanda kendi sunucu ortamınızın ilham kaynağı olabilir, ancak böyle bir durumda, kullandığınız olası bileşen ve teknolojilerin çeşitliliği nedeniyle hiçbir garanti yoktur.

VM yalnızca küçük siteler için yapılandırılmıştır (aynı anda çalışan kullanıcılar için cca 10). sanal makine neredeyse üretime hazır ancak ortamınıza VM kurmak, yedekleme, izleme, ağ oluşturma, güvenlik politikaları vb. kurmak için deneyimli bir yönetici GEREKTİRİR. Easy Software, bu VM'nin özel ortamınızda çalıştırılmasından sorumlu tutulamaz, VM, uygulamanın nasıl yapabileceğine bir örnektir. ev sahipliği yapmak.
Bu BENİOKU, "Easy Project" veya "Easy Redmine" ile değiştirilebilen "Uygulama"yı ele alır.

İlk adım

VM belirli bir zamanda oluşturulduğundan, bazı bileşenlerin siz onu dağıtırken bazı yamaları veya güvenlik düzeltmelerini zaten yayınlamış olması mümkündür.
Bu yüzden her zaman bir yedekleme ile başlamalısınız ve ardından işletim sistemi güncellemesi. En son güvenlik düzeltmelerini yükleyecek ve muhtemelen güncel olmayan bileşenleri güncelleyecektir.

sanal makine açıklaması

İşletim sistemi 64 bit sürümde Debian'dır.

Önemli varsayılanlar şunlardır:

  • İşletim sistemi, 22 numaralı bağlantı noktası üzerinden SSH tarafından kullanılabilir
  • Güvenlik duvarı ayarlanmadı (sistem yöneticilerine kalmış)
  • Disk ~100 GB
    • /önyükleme 512M
    • / 30G
    • /ev 60G
    • 4G'yi değiştir
    • diski artırmak için mevcut LVM'yi kullanın
  • Uygulama HTTPS'de dinler ancak kendinden imzalı sertifikaya sahiptir, bu nedenle onu en kısa sürede değiştirmeniz gerekir (daha fazla ayrıntı aşağıdadır)
  • Uygulama /home/easy/[application_name]/current içinde çalışıyor.

Linux'a giriş:

  • kullanıcı adı: kolay
  • şifre: e4syPwd-

Lütfen en kısa sürede değiştirin. Bunu yapmak için komutu çalıştırın passwd terminalde

Mysql oturum açma:
Basitçe komutu kullanın mysql uygulamanız_adınız (uygulama adındaki tüm noktalar veya tireler alt çizgilerle değiştirilmelidir. Örnek: uygulamanızın adı, uygulamanızın_adı olmalıdır)

Uygulama girişi:
Varsayılan oturum açma ("temiz" veritabanı durumunda):

  • kullanıcı adı: admin
  • şifre: admin

VM için varsayılan oturum açma demo verileri olduğu: 

  • Kullanıcı adı: yönetici
  • şifre: easy848

Bulut uygulamanızdan veritabanı olması durumunda, parolalar sahip olduğunuz gibi kalır.

Uygulamanın evinin yapısı

.
├── yedekler # yedekleme komut dosyası verileri oraya kaydeder
└── $APP_NAME
    ├── uygulama.pid           
    ├── application.sock # nginx bu soketi kullanır
    ├── yapılandırma
    │ ├── # önceden oluşturulmuş uygulama konfigürasyonları  
    │ ├── # (veritabanı, postalama, sırlar, uygulama sunucusu, vb...)
    │ └── ...
    ├── akım
    │ ├── yapılandırma # tüm uygulama yapılandırmaları
    │ │ ├── configuration.yml # giden posta yapılandırmasını buradan ayarlayın
    │ │ ├── database.yml # veritabanı erişimi burada yapılandırılmış
    │ │ └── ...
    │ ├── dosyalar # kalıcı uygulama verileri
    │ ├── günlük # uygulama günlükleri
    │ ├── genel # statik dosyalar
    │ └── sürüm # uygulama sürümü
    └── public_html -> /home/easy/$APP_NAME/current

Uygulamayı yeniden başlatmak basitçe "systemctl restart puma@[application_name]" ile sudo olarak

Müşteri sorumlulukları

VM, Debian'ın önerilen en son sürümünde çalışır. Sistem, aşağıdakiler gibi ortak bakım gerektirir:

  • düzenli güncellemeler
  • kaynak izleme (boş alan, bellek kullanımı, yük, ...)
  • bağımsız bir diske veri yedeklemeleri
  • Güvenlik politikaları

Güncellemeler

Sistemin güvenlik güncellemelerini sık sık yapın. Haftada en az bir kez yapmanızı öneririz. Güncellemeden önce lütfen en son yedeklemenin mevcut olduğundan ve çalıştığından emin olun.

Yalnızca güvenlik güncellemelerinin nasıl çalıştırılacağına ilişkin resmi belgeler https://wiki.debian.org/UnattendedUpgrades

Kaynak izleme

Easy Software, Prometheus ile iyi bir deneyime sahiptir. Bu nedenle, node_exporter, 1.3'ten bu yana VM'nin bir parçasıdır. 2022.

Node Exporter ve Prometheus için resmi çok temel belgeler https://prometheus.io/docs/guides/node-exporter/ adresindedir. En iyi hızlı başlangıç ​​grafana panosu https://grafana.com/grafana/dashboards/1860 adresindedir.

Kullanımınıza bağlı olarak VM kaynak ayarlarını ayarlamalısınız, örneğin VM'ye sağlanan RAM miktarını veya çekirdek sayısını artırın. Tüm bu yapılandırmalar, sanal ortam yöneticiniz tarafından düzenli olarak yapılmalıdır.

Düğüm dışa aktarıcı 9100 numaralı bağlantı noktasını dinler.

node_exporter'ı devre dışı bırak

node_exporter aşağıdakileri çalıştırarak devre dışı bırakılabilir:

systemctl node_exporter.service'i durdur
systemctl node_exporter.service'i devre dışı bırak
systemctl maskesi node_exporter.service

Bir sonraki yeniden başlatmanın ardından düğüm dışa aktarıcısının başlatılmasını engeller...

Easy Software'den tam ortam desteğine (güvenlik ve performans optimizasyonları, yedekleme, izleme vb.) ihtiyacınız varsa, Bulut çözümlerimize aktarmanızı öneririz.

Veri yedeklemeleri

VM'de bulunan önceden yapılandırılmış yedekleme, altyapınıza uyması ve izlenmesi gereken çalışan bir örnektir. Lütfen uygun bir yedeklemenin şu şekilde olması gerektiğini unutmayın:

  • yedekleme işlemi tamamlandıktan sonra kontrol edildi (en azından yedeklemenin boyutunu kontrol edin)
  • güvenli bir yerde tutulur
  • koşu ortamından uzak (en azından farklı bir şehirde)
  • kurtarma gerçekleştirme yeteneğinizi test etmek için arada bir geri yüklenir

Uygulama verileri iki yerde depolar, bu nedenle ikisini de yedeklemeyi unutmayın.

DB

Veritabanı yedeklemesi çok kolay bir şekilde yanlış yapılabilir. MySQL veritabanının yedeklenmesinin en iyi ve en güvenli yolu, örnek komut dosyasında da görebileceğiniz gibi veritabanı dökümüdür. Tamamen geri yüklenebilen veya eski verilerin yalnızca bir kısmını almanıza izin veren sürümden bağımsız yedeklemeler yapar.

Örnek:

mysqldump --add-drop-tables --routines --triggers --flush-logs $DATABASE_NAME > path/to/file_where_db_will_be_stored.sql

Dosyaları /var/lib/mysql'den kopyalamak, DB yedeklerini kaydetmenin YANLIŞ bir yoludur.

dosyalar

Uygulamaya yüklenen her dosya/ek, /home/easy/$APP_NAME/geçerli/dosyalar. Bu dizinin tüm içeriği yedeklenmelidir. Bu durumda, içeriği kopyalamanız yeterlidir.

Güvenlik politikaları

VM, home/easy/.ssh/authorized_keys içindeki Easy Software mühendisleri için SSH anahtarlarını içerir. Ayrıca, /etc/iptables içindeki iptables güvenlik duvarı kuralları, bir Easy Software IP adresine erişime izin verir.

Bu politikaların her ikisi de, talebiniz üzerine personelimiz tarafından nihai uzaktan destek içindir. Erişim politikaları tamamen sizin kontrolünüz altındadır.

Otomatik görevler

Tüm otomatik görevler, her 5 metrede bir planlanan işleri başlatan CRON ve Sidekiq tarafından planlanır. Yüksek performans gereksinimleri nedeniyle bu işleri daha kısa aralıklarla çalıştırmamanızı öneririz. Herhangi bir değişiklik yapmak için, kullanıcı kolaylığı altında aşağıdaki komutu çalıştırarak bunları düzenleyebilirsiniz.

crontab -e

cron için ayrıntılı belgeler
https://www.easyredmine.com/resources/redmine-installation/common-troubles/cron-not-working-helpdesk-emails-alerts-repeating-tasks-etc-are-not-automatically-processed

Verileri bu sanal makineye taşıyın

Eski Uygulama veya Redmine verilerinin (KAYNAK) VM'ye (HEDEF) nasıl aktarılacağı. Bu çoğu durumda işe yarar, ancak kaynak Redmine örneğinizde 3. taraf eklentileri kullanmanız durumunda bu prosedür çalışmayabilir.

1. (SOURCE) dosyanızdan MySQL döküm dosyası oluşturun:

mysqldump --opt easy > backup.sql

2. backup.sql dosyasını (TARGET) içine aktarın

3. (TARGET) üzerindeki Uygulama klasörüne gidin

cd /home/easy/[uygulama_adı]/geçerli

4. (HEDEF) veritabanını yeniden oluşturun

paket yürütme komisyonu db:drop db:create RAILS_ENV=üretim DISABLE_DATABASE_ENVIRONMENT_CHECK=1

5. backup.sql dosyasını içe aktarın

mysql [db_name] < backup.sql

6. (SOURCE)[redmine]/files dizinindeki ekleri ve diğer dosyaları (TARGET)/home/easy/[application_name]/current/files konumuna aktarın

7. çalıştırın:

exec tırmık EasyProject paket: RAILS_ENV = üretim yüklemek

8. uygulamayı yeniden başlatın

sudo systemctl puma@[uygulama_adı] yeniden başlat

Sorun giderme

eksik sidekiq

Bazı makinelerde sidekiq@.service dosyası eklenmez. sidekiq@.service dosyası sunuluyorsa lütfen /etc/systemd/system klasörünü kontrol edin. Değilse - lütfen ekleyin. Bir sonrakini içermelidir:


[Birim]
Açıklama=%i için SIDEKIQ hizmeti
Sonra=redis.service
PartOf=puma@%i.service tek boynuzlu at@%i.service

[Hizmet]
Tür = basit
PIDFile=/home/easy/%i/sidekiq.pid

Çevre = RAILS_ENV = üretim
Çevre=MALLOC_ARENA_MAX=2

Kullanıcı = kolay
Grup=www-veri
Çalışma Dizini=/home/easy/%i/public_html

ExecStart=/usr/local/rvm/bin/rvm varsayılanı paket yapmak exec sidekiq -e üretimi
ExecReload=/bin/kill -s TSTP $MAINPID

Yeniden her zaman =

[Yükleme]
WantedBy=multi-user.target puma@%i.service unicorn@%i.service

Dosya oluşturulduktan sonra çalıştırın

sudo systemctl daemon-reload

puma'yı yeniden başlat

MYSQL Yedekleri yanlış veritabanına hedefleniyor

Bu sorunu düzeltmek için lütfen /usr/local/bin/mysql-backups.sh dosyasını açın ve DB adını "kolay" uygulama DB'sine değiştirin (genellikle uygulama adıyla aynıdır ancak tüm tireler ve noktalar alt çizgilerle değiştirilmelidir)

30 günlük ücretsiz deneme sürümünde Easy Project'i deneyin

Coğrafi konumunuzda tam özellikler, SSL korumalı, günlük yedeklemeler