Debianda NFS Paylaşımı Ayarla
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
Nginx , HTTP / HTTPS sunucusu, ters proxy sunucusu, posta proxy sunucusu, yazılım yük dengeleyici, TLS sonlandırıcı, önbellek sunucusu ve daha fazlası olarak kullanılabilen, yüksek eşzamanlılık göz önünde bulundurularak tasarlanmış açık kaynaklı bir web sunucusu yazılımıdır!
Oldukça modüler bir yazılımdır. Yazılımın GZIP veya SSL gibi görünen "yerleşik" bölümlerinden bazıları bile, oluşturma süresi boyunca etkinleştirilebilen ve devre dışı bırakılabilen modüller olarak oluşturulur.
Topluluk tarafından oluşturulan çekirdek (yerel) modüller ve üçüncü taraf (harici) modüller vardır . Şu anda kullanabileceğimiz yüzden fazla üçüncü taraf modülü var.
C dilinde yaz��lmış, hızlı ve hafif bir yazılım parçasıdır.
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.
Ana hattı mı yoksa kararlı bir sürümünü mi indireceğinizi seçmeniz gerekir, ancak bunları oluşturmak aynıdır.
Bu kılavuzda, Debian 10'da (buster) Nginx'in ana hat sürümünü derleyeceğiz. Mevcut tüm modülleri Nginx'in açık kaynaklı versiyonunda kullanacağız.
Muhtemelen hazırlanmış paketleri kullanabildiğinizde neden Nginx'i bir kaynaktan derleyin diye soruyorsunuz. Belirli yazılımları kendiniz derlemenizin bazı nedenleri şunlardır:
Nginx Açık Kaynak'ın iki sürümü vardır:
Nginx'te kullanabileceğiniz iki tür modül vardır: çekirdek modüller ve üçüncü taraf modüller.
Çekirdek Nginx geliştiricileri çekirdek modüller oluştururlar ve yazılımın bir parçasıdırlar.
Topluluk üçüncü taraf modülleri oluşturur ve bunları işlevselliği artırmak için kullanabilirsiniz. Çok sayıda yardımcı üçüncü taraf modülü var.
Statik modüller Nginx'te ilk versiyondan itibaren var. Dinamik modüller Şubat 2016'da Nginx 1.9.11+ ile tanıtıldı.
Statik modüller ile, bir Nginx ikili ./configure
dosyası oluşturan bir dizi modül komut dosyası tarafından derleme zamanında sabitlenir . Statik modüller --with-foo_bar_module
veya --add-module=PATH
sözdizimi kullanır .
=dynamic
Örneğin bir çekirdek (standart) modülü dinamik olarak derlemek için ekliyoruz --with-http_image_filter_module=dynamic
.
Üçüncü taraf bir modülü dinamik olarak derlemek için --add-dynamic-module=/path/to/module
sözdizimini kullanırız ve ardından dosyanın load_module
genel bağlamındaki yönergeyi kullanarak bunları yükleriz nginx.conf
.
Diğer bazı UNIX / Linux yazılımlarıyla karşılaştırıldığında, Nginx oldukça hafiftir ve çok sayıda kütüphane bağımlılığı yoktur. Varsayılan derleme yapılandırması yalnızca kurulacak 3 kütüphaneye bağlıdır: OpenSSL / LibreSSL / BoringSSL, Zlib ve PCRE.
NOT : Nginx, OpenSSL yerine LibreSSL ve BoringSSL kripto kütüphanelerine karşı da derlenebilir.
Debian sürümünü kontrol edin.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
sudo
Erişimi olan normal bir kullanıcı oluşturun .
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
NOT : Kullanıcı adınızla değiştirinjohndoe
.
Yeni bir kullanıcıya geçin.
su - johndoe
Saat dilimini ayarlayın.
sudo dpkg-reconfigure tzdata
İşletim sisteminizin yazılımını güncelleyin.
sudo apt update && sudo apt upgrade -y
Gerekli paketleri kurun.
sudo apt install -y software-properties-common ufw
Nginx, C ile yazılmış bir programdır, bu yüzden önce bir derleyici aracı yüklemeniz gerekir. Yükleme build-essential
, git
ve tree
.
sudo apt install -y build-essential git tree
Nginx kaynak kodunun en son ana sürümünü indirin ve kaynak kodu arşivini açın. Nginx kaynak kodu, çoğu Unix ve Linux yazılımı gibi sıkıştırılmış bir arşiv olarak dağıtılır.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Zorunlu Nginx bağımlılıklarının kaynak kodunu indirin ve çıkarın.
# PCRE version 8.43
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz
# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
İsteğe bağlı Nginx bağımlılıklarını yükleyin.
sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev
Tüm .tar.gz
dosyaları temizleyin. Artık onlara ihtiyacımız yok.
rm -rf *.tar.gz
Nginx kaynak dizinini girin.
cd ~/nginx-1.17.2
İyi bir ölçüm için Nginx kaynak kodunu oluşturan dizinleri ve dosyaları listeleyin tree
.
tree -L 2 .
Kılavuz sayfasını şuraya kopyalayın /usr/share/man/man8/
.
sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
ls /usr/share/man/man8/ | grep nginx.8.gz
# Check that man page for Nginx is working
man nginx
Yardım için, aşağıdakileri çalıştırarak güncel Nginx derleme zamanı seçeneklerinin tam listesini görebilirsiniz.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Nginx'i yapılandırın, derleyin ve yükleyin.
./configure --prefix=/etc/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 \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Debian \
--builddir=nginx-1.17.2 \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-perl_modules_path=/usr/share/perl/5.26.1 \
--with-perl=/usr/bin/perl \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre=../pcre-8.43 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.1c \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
Derlemenin ardından, home ( ~
) dizininize gidin.
cd ~
Simgesel /usr/lib/nginx/modules
için /etc/nginx/modules
. Bu, Nginx modülleri için standart bir yerdir.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Nginx sürümünü, derleyici sürümünü yazdırın ve kod parametrelerini yapılandırın.
sudo nginx -V
# nginx version: nginx/1.17.2 (Debian)
# built by gcc 8.3.0 (Debian 8.3.0-6)
# built with OpenSSL 1.1.1c 28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . .
# . . .
# . . .
Bir Nginx sistem grubu ve kullanıcısı oluşturun.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
# Check that user and group are created
sudo tail -n 1 /etc/passwd /etc/group /etc/shadow
Nginx sözdizimini ve olası hataları kontrol edin.
sudo nginx -t
# Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Create NGINX cache directories and set proper permissions
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
# Re-check syntax and potential errors.
sudo nginx -t
Bir Nginx systemd birim dosyası oluşturun.
sudo vim /etc/systemd/system/nginx.service
/etc/systemd/system/nginx.service
Dosyayı aşağıdaki içerikle doldurun .
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Nginx'i önyüklemede başlatmak ve Nginx'i hemen başlatmak için etkinleştirin.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Yeniden başlatmanın ardından Nginx'in otomatik olarak başlatılıp başlatılmayacağını kontrol edin.
sudo systemctl is-enabled nginx.service
# enabled
Durumu kontrol edin.
sudo systemctl status nginx.service
NOT : Bir web tarayıcısında sitenizin etki alanına veya IP adresine giderek Nginx'in çalıştığını doğrulayabilirsiniz. Nginx hoş geldiniz sayfasını göreceksiniz. Bu, Nginx'in VPS'nizde çalıştığını gösteriyor.
Bir UFW Nginx uygulama profili oluşturun.
sudo vim /etc/ufw/applications.d/nginx
Aşağıdaki içeriği kopyalayın / /etc/ufw/applications.d/nginx
dosyaya 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
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
Nginx, varsayılan olarak, .default
içinde yedek dosyalar oluşturur /etc/nginx
. .default
Dosyaları /etc/nginx
dizinden kaldır .
sudo rm /etc/nginx/*.default
Vim editörü için Nginx yapılandırmasının sözdizimi vurgulamasını yerleştirin ~/.vim
.
# For regular non-root user
mkdir ~/.vim/
cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/
# For root user
sudo mkdir /root/.vim/
sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/
NOT : Yukarıdaki adımı uygulayarak, Vim düzenleyicide Nginx yapılandırma dosyalarını düzenlerken hoş bir sözdizimi vurgulaması elde edersiniz.
Oluşturun conf.d
, snippets
, sites-available
ve sites-enabled
de dizinleri /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Nginx günlük dosyalarının izinlerini ve grup sahipliğini değiştirin.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Nginx için bir günlük döndürme yapılandırması oluşturun.
sudo vim /etc/logrotate.d/nginx
Dosyayı aşağıdaki metinle doldurun, ardından kaydedin ve çıkın.
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
İndirilen tüm dosyaları ana dizinden kaldırın.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Bu kadar. Şimdi, Nginx'in en son sürümüne sahipsiniz. OpenSSL gibi bazı önemli kütüphanelere karşı statik olarak derlenmiştir. Genellikle, sistem tarafından sağlanan OpenSSL sürümü eskidir. OpenSSL'nin daha yeni bir sürümüyle bu yükleme yöntemini kullanarak, OpenSSL'de bulunan CHACHA20_POLY1305
TLS 1.3 gibi modern şifrelerden ve protokollerden yararlanabilirsiniz 1.1.1
. Dahası, kendi ikili dosyanızı derleyerek, Nginx'in hangi işlevselliği sağlayacağını, önceden oluşturulmuş bir ikiliyi kurmaktan çok daha esnek hale getirebilirsiniz.
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
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
Ç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
Farklı Bir Sistem mi Kullanıyorsunuz? Thelia, e-iş web siteleri oluşturmak ve PHP ile yazılmış çevrimiçi içeriği yönetmek için açık kaynaklı bir araçtır. Thelia kaynak kodu i
Bu makale size Debianda nasıl bir cezaevi hapishane kurulacağını öğretecek. Debian 7.x kullandığınızı varsayıyorum. Debian 6 veya 8 çalıştırıyorsanız, bu işe yarayabilir, bu
Farklı Bir Sistem mi Kullanıyorsunuz? InvoicePlane ücretsiz ve açık kaynaklı bir faturalandırma uygulamasıdır. Kaynak kodu bu Github deposunda bulunabilir. Bu rehber
Giriş Debian 10 (Buster), Debian 9un (Stretch) halefidir. 6 Temmuz 2019da piyasaya sürüldü. Bu derste, bir var olanı yükselteceğiz
Farklı Bir Sistem mi Kullanıyorsunuz? Backdrop CMS 1.8.0, basit ve esnek, mobil uyumlu, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? BookStack, bilgileri düzenlemek ve depolamak için basit, kendi kendine barındırılan, kullanımı kolay bir platformdur. BookStack tamamen ücretsiz ve açık
Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar
Golang, Google tarafından geliştirilen bir programlama dilidir. Çok yönlülüğü, sadeliği ve güvenilirliği sayesinde Golang en popüler topluluklardan biri haline geldi
Farklı Bir Sistem mi Kullanıyorsunuz? Bolt PHP ile yazılmış açık kaynaklı bir CMSdir. Cıvata kaynak kodu GitHubda barındırılıyor. Bu kılavuz size Bolt CMnin nasıl kurulacağını gösterecektir
Munin, makinenizdeki süreçleri ve kaynakları araştırmak için bir izleme aracıdır ve bilgileri bir web arayüzü aracılığıyla grafiklerde sunar. Aşağıdaki kullanın
Farklı Bir Sistem mi Kullanıyorsunuz? TLS 1.3, 2018de RFC 8446da önerilen bir standart olarak yayınlanan Taşıma Katmanı Güvenliği (TLS) protokolünün bir sürümüdür
Farklı Bir Sistem mi Kullanıyorsunuz? PyroCMS, PHP ile yazılmış açık kaynaklı bir CMSdir. PyroCMS kaynak kodu GitHubda barındırılmaktadır. Bu kılavuzda entir boyunca yürüyün
Giriş Bu eğitimde, CentOS, Debian veya Ubuntu çalıştıran bir Linux sunucusuna tüm IP aralığını / alt ağını ekleme işlemini ele alacağız. Süreç
Bu kılavuzda, Debian 7de Counter Strike: Source oyun sunucusu kuracağız. Bu komutlar Debian 7de test edildi, ancak aynı zamanda o
Snort, ücretsiz bir ağ saldırı tespit sistemidir (IDS). Daha az resmi terimle, ağınızı şüpheli etkinlikler için gerçek zamanlı olarak izlemenizi sağlar
Farklı Bir Sistem mi Kullanıyorsunuz? Dolibarr, işletmeler için açık kaynaklı bir kurumsal kaynak planlaması (ERP) ve müşteri ilişkileri yönetimi (CRM). Dolibarr
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