26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
NGINX , bir HTTP / HTTPS sunucusu, ters proxy sunucusu, posta proxy sunucusu, yük dengeleyici, TLS sonlandırıcı veya önbellek sunucusu olarak kullanılabilir. Tasarım açısından oldukça modülerdir. Topluluk tarafından oluşturulan yerel modüller ve üçüncü taraf modülleri vardır. C programlama dilinde yazılan bu yazılım çok hızlı ve hafif bir yazılımdır.
NOT : NGINX'in paralel çalışan iki sürüm akışı vardır - kararlı ve ana hat . Her iki sürüm de bir üretim sunucusunda kullanılabilir. Üretimde ana hat versiyonunun kullanılması tavsiye edilir .
NGINX'i kaynak kodundan yüklemek nispeten "kolaydır" - NGINX kaynak kodunun en son sürümünü indirin, yapılandırın, derleyin ve yükleyin.
Bu yazıda , yazma sırasında 1.13.1 olan ana sürüm sürümünü kullanacağım . Daha yeni sürümler çıktığında sürüm numaralarını uygun şekilde güncelleyin.
Zorunlu gereklilikler:
İsteğe bağlı gereksinimler:
Create ile normal bir kullanıcı sudo
erişimi .
Yeni kullanıcıya geç:
su - <username>
Güncelleme sistemi:
sudo apt update && sudo apt upgrade -y
NGINX, C ile yazılmış bir programdır, bu yüzden C derleyicisini (GCC) kurmamız gerekir.
sudo apt install build-essential -y
NGINX kaynak kodunun en son sürümünü indirin ve çıkarın:
wget https://nginx.org/download/nginx-1.13.1.tar.gz && tar zxvf nginx-1.13.1.tar.gz
NGINX bağımlılıklarının kaynak kodunu indirin ve çıkarın:
# PCRE version 4.4 - 8.40
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.tar.gz
# zlib version 1.1.3 - 1.2.11
wget http://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.0.2 - 1.1.0
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
Tüm .tar.gz
dosyaları kaldırın . Artık onlara ihtiyacımız yok:
rm -rf *.tar.gz
NGINX kaynak dizinine gidin:
cd ~/nginx-1.13.1
Yardım için, kullanılabilir yapılandırma anahtarlarını aşağıdakileri çalıştırarak listeleyebilirsiniz:
./configure --help
NGINX'i yapılandırın, derleyin ve yükleyin:
./configure --prefix=/usr/share/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=www-data \
--group=www-data \
--build=Ubuntu \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--with-openssl=../openssl-1.1.0f \
--with-openssl-opt=enable-ec_nistp_64_gcc_128 \
--with-openssl-opt=no-nextprotoneg \
--with-openssl-opt=no-weak-ssl-ciphers \
--with-openssl-opt=no-ssl3 \
--with-pcre=../pcre-8.40 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-compat \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-http_secure_link_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-debug \
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' \
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
make
sudo make install
İndirilen tüm dosyaları giriş dizininden kaldırın, bu durumda /home/username
:
cd ~
rm -r nginx-1.13.1/ openssl-1.1.0f/ pcre-8.40/ zlib-1.2.11/
NGINX sürümünü kontrol edin ve zaman seçeneklerini derleyin:
sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.13.0 (Ubuntu)
# built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx . . .
# . . .
# . . .
Sözdizimini ve olası hataları kontrol edin:
sudo nginx -t
# Will throw this error nginx: [emerg] mkdir() "/var/lib/nginx/body" failed (2: No such file or directory)
# Just create directory
mkdir -p /var/lib/nginx && sudo nginx -t
NGINX için systemd birim dosyası oluşturun:
sudo vim /etc/systemd/system/nginx.service
Aşağıdaki içeriği kopyalayın / yapıştırın:
NOT : PID dosyasının ve NGINX ikili dosyasının konumu, NGINX'in derlenme şekline bağlı olarak farklı olabilir.
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
NGINX hizmetini başlatın ve etkinleştirin:
sudo systemctl start nginx.service && sudo systemctl enable nginx.service
Yeniden başlatma sonrasında NGINX'in başlatılıp başlatılmayacağını kontrol edin:
sudo systemctl is-enabled nginx.service
# enabled
NGINX'in çalışıp çalışmadığını kontrol edin:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
NGINX'in otomatik olarak başladığını doğrulamak için Ubuntu VPS'nizi yeniden başlatın:
sudo shutdown -r now
UFW NGINX uygulama profilini oluşturun:
sudo vim /etc/ufw/applications.d/nginx
Aşağıdaki içeriği kopyalayın / yapıştırın:
[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp
[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp
[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp
Şimdi, UFW uygulama profillerinin oluşturulduğunu ve tanındığını doğrulayın:
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Bu kadar. Artık NGINX'in en yeni sürümüne sahipsiniz. OpenSSL gibi bazı önemli kütüphanelere karşı statik olarak derlenmiştir. Genellikle, sistem OpenSSL sürümü eskidir. OpenSSL'nin daha yeni bir sürümüyle bu yükleme yöntemini kullanarak , OpenSSL'de (piyasaya sürülmemiş) bulunacak TLS 1.3CHACHA20_POLY1305
gibi yeni şifrelerden ve protokollerden yararlanabilirsiniz .1.1.1
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?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun