11 sürümüne yükseltme

Giriş

Bu kılavuz, sunucu yöneticiler. bulut kullanıcılar rahatlayabilir, ayaklarını uzatabilir ve tüm bu işlemleri bize bırakabilir.

Sürüm 11, önceki sürümlere kıyasla önemli bir teknolojik sıçramadır. Bu sürüme yükseltme, herhangi bir sıkıntıyı önlemek için normal bir yükseltmeden biraz daha fazla hazırlık gerektirir. Bu kılavuzu yumuşak bir geçiş için bir kontrol listesi olarak düşünün.

Teknolojik yığındaki en önemli değişiklikler aşağıda açıklanmıştır. Sürüm notları. Ayrıca önemli işlevsel değişiklikler ve eklenti bilgileri içerir. Henüz yapmadıysanız, lütfen önce onları okuyun.

Kurtarmaya Kolay Sanal Makineler!

Aşağıdaki noktalardan bazıları sizin için geçerli olabilir ve birleşik çaba, katlanmak istediğinizden daha fazla görünebilir. Böyle bir durumda, tam olarak kurulmuş bir uygulamayı indirmenin kolay seçeneği her zaman vardır. VMware/VirtualBox resim (.ova formatı). Sadece sizin için bir VM oluşturacak ve hatta mevcut sisteminizden veri geçişini ayarlayacak olan desteğimize sorun. Böyle bir kararın ödülü olarak, bu makalenin devamını okumanıza gerek yok :)

Yararlı kaynaklar

Adımların çoğuna ilişkin talimatlar, bilgi tabanında ve doğrudan kurulum paketinde (doc/INSTALL_DEBIAN) zaten yayınlanmıştır. Hepsini bu makaleye kopyalamayacağız. Bunun yerine gerekli bağlamı buraya ekleyeceğiz ve önemli değişikliklere odaklanacağız.

Model yükseltme hikayesi

Her bileşeni ayrıntılı olarak incelemeden önce, aynı sunucuda kalırken bir yükseltme model örneğini göstereceğiz.

Mevcut sunucu

  • Easy Project sürüm 10.10.1 ile Easy VM
  • yakut -v = 2.5.3
  • mysql --versiyon = 5.7.31
  • redis sunucusu --sürüm = 5.0.3
  • mücevher listesi | grep paketleyici = 1.16.6
  • düğüm -v (yok)
  • puma uygulama sunucusu
  • nginx web sunucusu

Easy tarafından sağlanan VM olduğundan, büyük ortam (OS, veritabanı) aynı sunucu üzerinde yükseltmeye izin verir. Bazı bileşenler olduğu gibi iyidir (mysql, redis-server, puma, nginx), bazıları yükseltme gerektirir (ruby, paketleyici), bir gereksinim tamamen eksiktir (Node.js).

Basamaklar

0) En son LTS sürümünü (10.14.x) indirin ve yükleyin - yükseltme yalnızca LTS'den mümkündür.

1) Ruby yükseltmesiyle başlayalım
rvm install ruby 2.6.7 --patch railsexpress

(yeni Ruby yüklenene kadar bekleyin, sizden sudo şifresi isteyebilir)

rvm use ruby-2.6.7 --default

2) Olası çakışmaları önlemek için önceki Ruby sürümünü kaldırmanızı öneririz.
rvm remove ruby-2.5.3

Bu komut, Ruby'yi tüm değerli taşlar ve diğer dosyalarla birlikte kaldıracaktır. kullanmaktan iyidir rvm uninstall Komut.

3) Şimdi uygulama için gerekli tüm taşları yeniden yüklememiz gerekiyor. Paketleyici ile başlıyoruz
gem install bundler

Hangi paketleyicinin kurulu olduğunu kontrol edelim
gem list | grep bundler

Gibi bir satır döndürmeli
bundler (2.1.4, 2.1.2)

2.2.16'dan daha yüksek bir sürüm olduğundan emin olun

4) Şimdi lütfen /home/easy/your.vm.name adresine gidin
cd /home/easy/your.vm.name

5) düğümleri kurun
sudo apt update
sudo apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt install nodejs

Ve doğru sürüme sahip olup olmadığını kontrol edin
node -v

Gibi bir şey döndürmeli
v14.16.0

Sürümünüzün 14.16 veya üzeri olduğundan emin olun.

6) İstemci bölgesinden paket v11 paketini indirin, sanal makinenize kopyalayın.

7) puma sunucusunu durdur
sudo systemctl stop puma@your.domain.name

Bu noktadan itibaren, otomatik prosedürle mi yoksa manuel yükseltme ile mi devam etmek istediğinizi seçebilirsiniz.

a) Otomatik yükseltme (Tavsiye edilen)
8a) Yükseltmeyi redmine yükleyici aracılığıyla çalıştırın
redmine upgrade name_of_package

9a) Sihirbazdaki adımları izleyin.

b) Manuel yükseltme
8b) Son geçerli/klasörünüzü yeniden adlandırın
mv current/ current_old/

9b) Geçerli klasörü yeniden oluştur
mkdir current

10b) Geçerli klasöre git
cd current/

11b) Paketi buradan açın
unzip /path/to/downloaded/package.zip

12b) Mücevherleri yükle
bundle install

13b) Geçişleri çalıştırın
bundle exec rake easyproject:install RAILS_ENV=production

14b) Her şey yolundaysa, puma'yı yeniden başlatın
sudo systemctl start puma@your.domain.name

Özellikler kontrol listesi

İşletim sistemi

Sürüm 11'den itibaren, desteklenen tek işletim sistemi (uygulamanın doğrudan çalıştığı) Debian, özellikle 10 (Buster) ve 11 (Bullseye).

Sağlanan VM'lerimizde Easy Project çalıştırıyorsanız, büyük olasılıkla bu gereksinimi zaten karşılamışsınızdır. Desteklenmeyen bir işletim sisteminiz varsa, yeni bir sunucuya (tercihen bizim sanal makinemiz) geçiş yapmanız gerekir. İşletim sistemini bir üretim uygulamasının altına yeniden yüklemek veya yükseltmek kesinlikle sizin yararınıza değildir.

Veritabanı sunucusu

Percona/MySQL 5.7+ kullanmanız gerekecek. Kabaca üç durum vardır:

  • Daha eski bir Percona sürümünüz var -> aşağıdaki gibi resmi talimatlarla yükseltin:
    https://www.percona.com/doc/percona-server/5.7/upgrading_guide_56_57.html
  • Farklı bir MySQL dağıtımınız var (MariaDB gibi) -> yeni sunucuya (tercihen bizim sanal makinemiz) geçiş yapmanızı öneririz.
  • PostgreSQL'iniz var -> yeni sunucuya (tercihen bizim sanal makinemiz) geçiş yapmanızı öneririz. Geçişin kendisinden önce veritabanının dönüştürülmesi gerekir. Çeşitli dönüştürme araçlarını test ettik ve en uygun olanlar için talimatlar sağladı. Biz de sizin için dönüşümü gerçekleştirmeye hazırız.

Yakut

Uygulamanın arkasındaki dilin, insanların iletişim kurduğu dil gibi güncel tutulması gerekir. Ruby'nin yükseltilmesi anlatılıyor . Mevcut Ruby'niz çok eski değilse aynı sunucuda devam edebilirsiniz.

Bundler

Yakut taşları yönetmek için bir yakut mücevher. Easy Project bunlardan 200'den fazlasını kullandığından, paketleyici çok önemli bir bileşendir.

Yüklemek için
gem install bundler

Sürümü doğrulamak için
gem list | grep bundler

Sürüm 2.2.x otomatik olarak kurulmalıdır. Olmazsa, lütfen takip edin resmi belgeler.

Redis

v11'deki bazı yeni özellikleri ve performans iyileştirmelerini kolaylaştırmak için Sidekiq'i redis-server ile kullanıyoruz. Easy VM'ler zaten bu bileşenleri içerir. Sürüm konusunda dikkatli olun, ER11 redis-server 5+ gerektirir.

Burada, cihazınızda bulunan ana kurulum kılavuzundan bir alıntı yer almaktadır. v11 paketi altında belge/INSTALL_DEBIAN

  1. Redis ve sidekiq'i kurun

Kullanıcıya kolay geçiş yapın.

vim /home/easy/current/config/additional_environment.rb

eğer Rails.env.production? config.active_job.queue_adapter = :sidekiq

redis_namespace = Rails.root.join("..").basename.to_s redis_url = "redis://#{ENV["REDIS_HOST"] || "127.0.0.1"}:#{ENV["REDIS_PORT"] || 6379}/1" Sidekiq.configure_server do |config| config.redis = { url: redis_url, ad alanı: redis_namespace }

son

Sidekiq.configure_client |config| config.redis = { url: redis_url, ad alanı: redis_namespace }

son son

vim /home/kolay/current/config/sidekiq.rb

:verbose: false :pidfile: ../sidekiq.pid :logfile: ./log/sidekiq.log :concurrency: <%= ENV["SIDEKIQ_WORKERS"] || %2> :sıralar:

  • kritik
  • varsayılan
  • yeniden hesapla_özel_alanlar
  • kolay_git
  • kolay_eylemler
  • easy_mail_campaigns
  • kolay entegrasyonlar
  • postacılar
  • easy_rake_tasks
  • düşük

node.js

Son olarak, son büyük gereksinim. Kurulum oldukça basit

sudo apt update
sudo apt upgrade
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
sudo apt install nodejs

14.16 sürümüne sahip olduğunuzdan emin olun. Mevcut belgeler .

WebSockets

Uygulamanın çalışmasını engelleyen katı bir gereklilik olmasa da, iki özellik bu teknolojiyi kullanır (kullanıcı avatarında canlı çevrimiçi/çevrimdışı durumu gösterme; bitmiş dışa aktarma hakkında uygulama içi bildirim). İleride genişletilecektir.

Eylem Kablosunun etkinleştirilmesi gerekiyor. Redis'e bağlıdır. Bu özellikleri kullanmak istiyorsanız ancak Redis/ActionCable yapılandırmasına aşina değilseniz, bunların önceden yapılandırıldığı yeni VM'ye geçmenizi öneririz.

Zorunlu HTTPS protokolü

Sürüm 11, uygulama URL'sinin HTTPS protokolünü zorlar. Uygulamanızın http üzerinden erişilebilir olduğundan emin olmak için lütfen web sunucusu (nginx) yapılandırmasını kontrol edin.s://[easyproject_url] web tarayıcınızdan veya Easy Project'inize bağlanan tüm entegrasyonlardan. http://[easyproject_url] URL'leri v11'de çalışmayacak!

Alt uri'nin sonu

Ön uç gelişmiş geliştirmeler aldığından, artık desteklemeye devam etmek mümkün değil. alt uri yapılandırması. Bu tür bir yapılandırma, Javascript bileşenlerine karşı hassastır ve genellikle işlev bozukluğuna neden olur. Lütfen sunucunuzu normal etki alanına yeniden yapılandırın.

Yükseltildikten sonra

Tekstil/Markdown metinleri geçişi

yazıldığı gibi sürüm notları farklı metin editörlerinin desteğini bıraktık. Daha önce tekstil veya işaretleme metni düzenlemeyi kullandıysanız, bunların ilgili komutunu kullanarak biçimlendirilmiş metinlerin HTML'ye geçişini çalıştırmanız gerekecektir.

Lütfen önce son metin biçimlendirmenizi şu şekilde kontrol edin:

bundle exec rails r -e production "puts Setting.text_formatting"

Tekstil ise, lütfen şu komutu kullanın:

bundle exec rake easyproject:textile:migrate_all source_formatting=textile RAILS_ENV=production

veya bu, metin biçimlendirme Markdown ise:

bundle exec rake easyproject:textile:migrate_all source_formatting=markdown RAILS_ENV=production

Taşıma başarılı olduysa, metin biçimlendirmenizi son olarak aşağıdakilerle HTML'ye değiştirin:

bundle exec rails r -e production "puts Setting.text_formatting = 'HTML'"

Değişiklikleri tam olarak uygulamak için web sunucusunu yeniden başlatın.

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