CentOS 7de Tavşan Kümesini Kümeleme
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
Süpervizör, bir dizi UNIX işlemini, daha spesifik olarak bir proje veya müşteri ile ilgili işlemleri kontrol etmek için kullanılan bir istemci / sunucu sistemidir. Örneğin, web uygulamanızın gelişigüzel sayıda çalışan kuyruğunu oluşturmak ve izlemek için amir kullanabilirsiniz.
Bu sistemin bileşenleri:
Bu derste, süpervizörün en güncel sürümünü kuracağız, programların nasıl oluşturulacağını ve yönetileceğini göstereceğiz ve programlarımızı supervisorctl
yönetmek için bir web arayüzü yapılandıracağız.
easy_install
Python'un kurulum araçlarının bir özelliği aracılığıyla süpervizör kuruyoruz .
İlk olarak, yerel paketler listenizi güncelleyin ve ardından python yükleyin setuptools
.
sudo apt-get update && sudo apt-get install python-setuptools
Şimdi süpervizörü kurabiliriz.
sudo easy_install supervisor
Yükleme tamamlandığında, yapılandırma dosyamızı oluşturmalıyız. supervisor
İçinde bir klasör oluşturun /etc
.
sudo mkdir /etc/supervisor
Ve sonra aşağıdakileri yürütün.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
root
Kullanıcı ile oturum açmadıysanız, bir Permission denied
hata alabilirsiniz (ile bile sudo
). Bunun nedeni yönlendirme. Bunun üstesinden gelmek için root olarak giriş yapın.
sudo su
Sonra komutu tekrar çalıştırabilirsiniz.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Artık root
kullanıcıyı exit
komutla bırakabilirsiniz . echo_supervisord_conf
Komut bizim gözetmen kurulumu tarafından sağlandı.
/etc/supervisor/supervisord.conf
Dosyayı açın ve içeriğini kontrol edin. Bu yapılandırma dosyasının INI
sözdizimine uygun olduğunu ve bölümlere ayrıldığını (köşeli parantez içinde olduğu gibi temsil eder [section-name]
) not edeceksiniz .
Süpervizör tarafından yönetilecek programlar eklemek için sadece uygun [program]
bölümleri oluşturmanız gerekir . Ancak, her program eklemek (veya değiştirmek) gerektiğinde ana yapılandırma dosyasıyla uğraşmaktan kaçınmak için [include]
bölümü kullanacağız . Bu bölümü bulun, uncomment ve ardından aşağıdaki gibi görünecek şekilde düzenleyin.
[include]
files=conf.d/*.conf
Şimdi eklemek istediğimiz her program .ini
için /etc/supervisor/conf.d/
dizinde bir dosya oluşturacağız . Bu klasörü oluşturalım.
sudo mkdir /etc/supervisor/conf.d
Daha önce belirtildiği gibi, süpervizör bir sunucu ve ona bağlanan istemcilerden oluşur. Programları yönetebilmek ve kontrol edebilmek için sunucuyu başlatmamız gerekiyor. Bunun systemd
için sunucunun sistem başlangıcında başlatılmasını sağlamak üzere yönetici sunucuyu kaydettireceğiz .
Bunu yapmak için, adlı bir dosya oluşturmak supervisord.service
içinde /etc/systemd/system
dizine.
sudo touch /etc/systemd/system/supervisord.service
Aşağıdaki içeriği dosyaya ekleyin.
[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target
[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Alias=supervisord.service
Süpervizör servisini etkinleştirin.
sudo systemctl start supervisord.service
Hizmet dosyası /etc/systemd/system
dizinde bulunduğu sürece , sistem başlatıldığında otomatik olarak başlatılır.
Hizmetin durumunu kontrol edebilirsiniz.
systemctl status supervisord.service
Ayrıca günlükleri kontrol edebilirsiniz.
sudo journalctl -u supervisord.service
Süpervizör tarafından kontrol edilen programlar [program]
konfigürasyondaki farklı bölümler tarafından verilir . Yönetmek istediğimiz her program için, komut yürütülebilir yolunu, çevresel değişkenleri, kapatma durumunda nasıl gerçekleştirileceğini bildiren bağımsız bir yapılandırma dosyası oluşturacağız.
İlk olarak, zaman damgasını kaydeden basit bir komut dosyası oluşturalım. Adlı bir dosya oluşturun hello_supervisor.sh
(dilediğiniz her yerde bu komut dosyasının tam yoluna başvuruyoruz).
touch hello_supervisor.sh
Şimdi, aşağıdaki içeriği içine koyun
#!/bin/bash
while true
do
# Echo current timestamp to stdout
echo Hello Supervisor: `date`
# Echo 'error!' to stderr
echo An error ocurred at `date`! >&2
sleep 1
done
Şimdi çalıştırılabilir yapın
chmod +x hello_supervisor.sh
Pratik anlamda bu senaryo neredeyse işe yaramaz. Ancak bunu amirinin gücünü göstermek için kullanabiliriz. Aşağıdakileri çalıştırarak ilgili yapılandırma dosyasını oluşturun.
sudo touch /etc/supervisor/conf.d/hello_supervisor.conf
Şimdi aşağıdaki içeriği bu dosyaya yerleştirin.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Not: Kullanıcı adınızla değiştirdiğinizden emin olun USER
.
Bu yapılandırmayı adım adım inceleyeceğiz.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
İlk olarak, yapılandırma hello_supervisor adında bir program tanımlayarak başlar . Ayrıca çalıştırılacak yürütülebilir dosyanın tam yolunu bildirir.
autostart=true
Bu satır, süpervizör başlatıldığında bu programın otomatik olarak başlatılması gerektiğini belirtir.
autorestart=true
Program herhangi bir nedenle kapanırsa, bu satır süpervizöre işlemi otomatik olarak yeniden başlatmasını bildirir.
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Bu satırlar sırasıyla stderr
ve için günlük dosyası konumunu tanımlar stdout
.
Artık süpervizörü kurup yapılandırdığımıza göre süreçlerimizi yönetebiliyoruz.
Yeni bir program ekledikten sonra, sunucuya yapılandırma dosyalarını yeniden okuma ve değişiklikleri uygulama konusunda bilgilendirmek için aşağıdaki iki komutu çalıştırmalıyız.
sudo supervisorctl reread
sudo supervisorctl update
Şimdi supervisorctl
istemciyi çalıştırın .
sudo supervisorctl
Kayıtlı işlemlerin bir listesi ile karşılaşacaksınız. Durumu hello_supervisor
olan bir işlem göreceksiniz RUNNING
.
hello_supervisor RUNNING pid 6853, uptime 0:22:30
supervisor>
Kullanılabilir help
komutların bir listesini yazın.
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
Özetle, biz start
, stop
ve restart
ilgili komuta bağımsız değişken olarak programın adını geçirerek programları.
supervisor> stop hello_supervisor
hello_supervisor: stopped
supervisor> start hello_supervisor
hello_supervisor: started
supervisor> restart hello_supervisor
hello_supervisor: stopped
hello_supervisor: started
supervisor>
tail
Komut ile program çıktısına da bakabiliriz .
supervisor> tail hello_supervisor
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017
İçin stderr
çıkış kullanabileceğiniz tail
kuyu olarak.
supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!
status
Komutu çağırarak, kayıtlı tüm programların durumunu görüntüleyebilirsiniz.
İşiniz bittiğinde bırakabilirsiniz.
supervisor> quit
Supervisord web sunucusuna erişime izin vermek için supervisord yapılandırma dosyasını açın ve [inet_http_server]
bölümü bulun .
nano /etc/supervisor/supervisord.conf
Şimdi bu bölümün yapılandırmasını aşağıdakilerle güncelleyin.
[inet_http_server]
port=*:9001
username=your_username
password=your_password
Değiştir your_username
ve your_password
sizin değişiklik ve yeniden başlatma supervisord hizmeti tasarrufu, istediğiniz kimlik bilgileriyle.
sudo systemctl restart supervisord.service
Güvenlik duvarınızdaki TCP
bağlantı noktasına 9001
erişime ve ardından http://{server-ip}:9001
tarayıcınızdan erişime izin vermeyi unutmayın . Sorulduğunda, username
ve öğenizi sağlayın password
. Artık süreçlerinizi web'den kontrol edebilirsiniz.
Süpervizörün en güncel sürümünü yükledik, sistemd ile sistem otomatik başlatma için nasıl yapılandırılacağını öğrendik ve temel kullanımını inceledik supervisorctl
. Daha gelişmiş yapılandırma ve kullanım durumları için resmi gözetim belgelerine başvurabilirsiniz .
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar
Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:
Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,
TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben
Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size
Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak
Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir
Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.
Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak
Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar
Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor
Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b
Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th
SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz
Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?