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
Brotli (br) , Google tarafından Gzip, Zopfli ve Deflate'e alternatif olarak geliştirilen yeni bir açık kaynak sıkıştırma algoritmasıdır. İnternet Mühendisliği Görev Gücü'nde (IETF) resmen RFC 7932 olarak tanımlanmıştır . Google'ın Brotli ile ilgili vaka çalışması, daha az CPU kullanımı ile mevcut yöntemlerden% 26'ya kadar daha küçük sıkıştırma oranları gösterdi.
Nginx'in resmi desteği yok ancak Google tarafından geliştirilen ve Nginx'e destek eklemek için kullanabileceğimiz ngx_brotli adlı bir üçüncü taraf modülü var .
Bu kılavuz, yeni bir Ubuntu 18.04 LTS Vultr örneğinde Nginx'e nasıl Brotli desteği ekleyeceğinizi gösterecektir.
NOT: Bu kılavuz, johndoe
örnek kullanıcı ve example.com
örnek etki alanı olarak kullanılacaktır. Bunları adlarınıza göre değiştirin.
A
/ AAAA
Kayıtlar ayarlanmış alan adıUbuntu sürümünü kontrol edin.
lsb_release -ds
# Ubuntu 18.04 LTS
Erişimi olan yeni bir non-root
kullanıcı hesabı oluşturun sudo
ve bu hesaba geçin.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOT : Kullanıcı adınızla değiştirinjohndoe
.
İşletim sisteminizin yazılımını güncelleyin.
sudo apt update && sudo apt upgrade -y
Saat dilimini ayarlayın.
sudo dpkg-reconfigure tzdata
Gerekli oluşturma araçlarını ve paketlerini yükleyin.
sudo apt install -y build-essential git apt-transport-https socat
Brotli, HTTPS kurmanızı ve kullanmanızı gerektirir. Bu bölümde Let's Encrypt'den güvenilir bir sertifika alacağız.
Acme.sh dosyasını indirin ve yükleyin.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
Versiyonu kontrol et.
acme.sh --version
# v2.8.0
İçin RSA ve ECDSA sertifikaları alın example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength ec-256
Yukarıdaki komutları çalıştırdıktan sonra, sertifikalarınız ve anahtarlarınız aşağıdaki konumlarda olacaktır:
/etc/letsencrypt/example.com
/etc/letsencrypt/example.com_ecc
Resmi Nginx deposundan en son Nginx ana hattını indirin ve yükleyin.
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Versiyonu kontrol et.
sudo nginx -v
# nginx version: nginx/1.15.2
Nginx'i etkinleştirin ve başlatın.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Nginx'i kurduktan sonra, ngx_brotli
dinamik bir Nginx modülü olarak Brotli modülünü ( ) oluşturmamız gerekiyor . Nginx sürüm 1.11.5'ten, eksiksiz Nginx yazılımını derlemeden tek tek dinamik modülleri derlemek mümkündür. Sonraki birkaç adımda, Brotli modülünü Nginx'in tamamını derlemeden dinamik olarak oluşturacağız.
Maingin Nginx kaynak kodunun en son sürümünü indirin ve çıkarın.
wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz
NOT : Nginx paketinin ve Nginx kaynak kodunun sürüm numaralarının eşleşmesi çok önemlidir. Nginx 1.15.2'yi resmi Nginx deposundan yüklediyseniz, bu durumda kaynak kodun aynı sürümünü ( 1.15.2) indirmeniz gerekir .
Kaldır nginx-1.15.2.tar.gz
.
rm nginx-1.15.2.tar.gz
ngx_brotli
GitHub'dan klonlayın .
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~
Nginx kaynak kodu dizinine gidin.
cd ~/nginx-1.15.2
Gerekli kütüphaneleri indirin.
sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
ngx_brotli
Dinamik bir modül olarak derleyin ve Nginx modülleri için standart dizine kopyalayın /etc/nginx/modules
.
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules
Liste içinde dosyaları /etc/nginx/modules
ve göreceksiniz ngx_http_brotli_filter_module.so
ve ngx_http_brotli_static_module.so
.
ls /etc/nginx/modules
644
Tüm .so
dosyalar için izinleri ayarlayın .
sudo chmod 644 /etc/nginx/modules/*.so
Nginx'te Brotli desteğini yapılandırmaya hazırız.
sudo vim /etc/nginx/nginx.conf
Yeni Brotli modüllerini yüklemek için aşağıdaki iki yönergeyi çalıştırın ve dosyanın üstüne ekleyin.
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Yapılandırmayı test edin.
sudo nginx -t
İçin bir belge kök dizini oluşturun example.com
ve index.html
içinde bazı içerikler oluşturun .
sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit
İçin sanal bir ana bilgisayar oluşturun example.com
.
sudo vim /etc/nginx/conf.d/example.com.conf
Aşağıdaki yapılandırmayla doldurun.
server {
listen 80;
server_name example.com; # Replace with your domain name
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com; # Replace with your domain name
root /var/www/example.com; # Replace with your document root
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
brotli on;
brotli_static on;
brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
}
Yapılandırmayı test edin.
sudo nginx -t
Nginx'i yeniden yükleyin.
sudo systemctl reload nginx.service
Web tarayıcınızda sitenizi ziyaret edin ve geliştirici araçlarının ağ sekmesini açın. Content-Encoding: br
Yanıt başlıklarında göreceksiniz . Bu, Brotli sıkıştırmasının çalışmakta olduğunun göstergesidir.
Web sunucunuzda Brotli sıkıştırmasını etkinleştirdiniz.
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?