Nginx’i CentOS 6.4 x64 VPS Üzerinde Kaynaktan Derleme ve Kurulum Rehberi
Bu rehber, CentOS 6.4 x64 işletim sistemine sahip bir Sanal Özel Sunucu (VPS) üzerinde Nginx web sunucusunu kaynaktan derleyerek kurmanın tüm adımlarını detaylı bir şekilde açıklamaktadır. Nginx’i kaynaktan derlemek, size en güncel sürümleri kullanma, belirli modülleri ekleme veya çıkarma, özel derleme seçenekleri uygulama ve sunucunuzun performansını optimize etme konusunda esneklik sağlar. Özellikle CentOS 6.x gibi daha eski işletim sistemlerinde, depo paketlerinin güncel olmayabileceği durumlarda bu yöntem oldukça faydalıdır.
Neden Nginx’i Kaynaktan Derlemeliyiz?
Nginx’i kaynaktan derlemenin birçok avantajı vardır:
* En Güncel Sürüm: İşletim sistemi depolarında bulunan Nginx sürümü genellikle en güncel sürüm olmayabilir. Kaynaktan derleyerek, Nginx’in en son kararlı sürümünü veya hatta geliştirme sürümünü kullanabilirsiniz. Bu, en yeni özelliklere, performans iyileştirmelerine ve güvenlik yamalarına erişmenizi sağlar.
* Özel Modüller: Nginx, birçok üçüncü taraf modülü destekler (örneğin, Google PageSpeed, Brotli sıkıştırma, VTS modülü). Bu modüller genellikle standart depo paketlerinde bulunmaz. Kaynaktan derleme, bu modülleri doğrudan Nginx çekirdeğiyle birlikte derlemenize olanak tanır.
* Performans Optimizasyonu: Kendi derleme seçeneklerinizi belirleyerek (örneğin, belirli CPU mimarileri için optimizasyonlar), Nginx’in sunucunuzda mümkün olan en iyi performansı göstermesini sağlayabilirsiniz.
* Esneklik ve Kontrol: Kurulum dizinlerini, kullanıcı ve grup ayarlarını, log dosyası yollarını ve diğer birçok parametreyi tamamen kendi ihtiyaçlarınıza göre yapılandırabilirsiniz.
* Güvenlik: Belirli güvenlik yamalarını veya düzeltmelerini, resmi depo güncellemelerini beklemeden uygulayabilirsiniz.
Ön Gereksinimler
Bu rehbere başlamadan önce aşağıdaki ön gereksinimlere sahip olduğunuzdan emin olun:
* CentOS 6.4 x64 VPS: SSH erişimine sahip, çalışan bir CentOS 6.4 x64 sunucu.
* Root veya Sudo Yetkileri: Komutları çalıştırmak için root kullanıcısı veya sudo yetkilerine sahip bir kullanıcı.
* İnternet Bağlantısı: Sunucu üzerinde paketleri indirmek ve bağımlılıkları kurmak için aktif bir internet bağlantısı.
* Temel Linux Bilgisi: Komut satırı kullanımı ve temel Linux dosya sistemi bilgisi.
Adım 1: Sistemi Güncelleme ve Gerekli Araçları Kurma
Herhangi bir kurulum işlemine başlamadan önce, sisteminizin güncel olduğundan ve gerekli derleme araçlarının kurulu olduğundan emin olmak iyi bir uygulamadır.
Sistemi Güncelleme
SSH ile sunucunuza bağlanın ve aşağıdaki komutu çalıştırarak sisteminizi güncelleyin:
sudo yum update -y
Bu komut, mevcut tüm paketleri en son sürümlerine güncelleyecektir.
Derleme Araçlarını Kurma
Nginx’i kaynaktan derlemek için bir dizi geliştirme aracına ihtiyacımız var. Bunları Development Tools grup paketi ile kolayca kurabiliriz:
sudo yum groupinstall "Development Tools" -y
Bu paket, gcc, make, autoconf gibi temel derleme araçlarını içermektedir.
Adım 2: Nginx Bağımlılıklarını Kurma
Nginx’in bazı temel işlevleri için çeşitli kütüphanelere bağımlılığı vardır. Bu bağımlılıkları kurmamız gerekmektedir:
* PCRE (Perl Compatible Regular Expressions): Nginx’in URL yeniden yazma (rewrite) modülü ve location direktifleri için düzenli ifadeleri işlemesini sağlar.
* zlib: Nginx’in HTTP sıkıştırma (gzip) modülü için gereklidir.
* OpenSSL: Nginx’in HTTPS (SSL/TLS) desteği için gereklidir.
Bu bağımlılıkları kurmak için aşağıdaki komutları kullanın:
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
* pcre ve zlib kütüphanelerin kendisidir.
* pcre-devel, zlib-devel, openssl-devel ise bu kütüphanelerin geliştirme dosyalarıdır (header dosyaları ve statik kütüphaneler), derleme işlemi için gereklidirler.
Adım 3: Nginx Kullanıcısı ve Grubu Oluşturma
Güvenlik amacıyla, Nginx’in ana işlemi root olarak çalışsa da, worker (çalışan) işlemlerini ayrıcalıksız bir kullanıcı altında çalıştırmak en iyi uygulamadır. Bu, Nginx’in bir güvenlik açığı nedeniyle tehlikeye girmesi durumunda, saldırganın sistem üzerinde root yetkisi elde etmesini engeller.
Aşağıdaki komutlarla nginx adında bir sistem kullanıcısı ve grubu oluşturalım:
sudo groupadd -r nginx
sudo useradd -r -g nginx -s /sbin/nologin -M nginx
* -r: Bir sistem hesabı oluşturur.
* -g nginx: Kullanıcıyı nginx grubuna ekler.
* -s /sbin/nologin: Bu kullanıcının shell’e giriş yapmasını engeller.
* -M: Kullanıcı için ev dizini oluşturmaz, çünkü Nginx kullanıcısının bir ev dizinine ihtiyacı yoktur.
Adım 4: Nginx Kaynak Kodunu İndirme
Şimdi Nginx’in kaynak kodunu indireceğiz. Nginx’in resmi web sitesi [nginx.org](https://nginx.org/) adresinden en son kararlı sürümün bağlantısını alabilirsiniz. Bu rehber yazıldığı sırada 1.24.0 kararlı sürüm mevcuttu, ancak siz en güncel sürümü kontrol etmelisiniz.
Kaynak kodunu indirmek için /usr/local/src dizinini kullanmak iyi bir uygulamadır:
cd /usr/local/src
sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz
* wget komutu, belirtilen URL’den dosyayı indirir. Lütfen URL’yi en güncel Nginx sürümüne göre güncellemeyi unutmayın.
İndirdiğiniz arşiv dosyasını açın:
sudo tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
Bu komutlar, arşiv dosyasını nginx-1.24.0 adında bir dizine açacak ve ardından o dizine geçiş yapacaktır.
Adım 5: Nginx’i Yapılandırma (Configure)
Bu adım, Nginx’i derlemeden önce nasıl yapılandırılacağını belirlediğimiz en önemli adımdır. configure betiği, Nginx’in hangi modüllerle derleneceğini, kurulum dizinlerini, kullanıcı ve grup ayarlarını vb. belirlememizi sağlar.
Aşağıda yaygın olarak kullanılan ve önerilen bazı yapılandırma seçeneklerini içeren bir örnek bulunmaktadır. Bu seçenekleri kendi ihtiyaçlarınıza göre değiştirebilirsiniz.
sudo ./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--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 \
--user=nginx \
--group=nginx \
--with-compat \
--with-file-aio \
--with-threads \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--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_slice_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-zlib
Yukarıdaki seçeneklerin açıklamaları:
* --prefix=/etc/nginx: Nginx’in tüm yapılandırma dosyalarının ve diğer kaynaklarının kök dizini. Genellikle /usr/local/nginx kullanılır, ancak bu rehberde daha standart bir Linux dağıtımı yaklaşımı benimsenmiştir.
* --sbin-path=/usr/sbin/nginx: Nginx çalıştırılabilir dosyasının yolu.
* --conf-path=/etc/nginx/nginx.conf: Ana yapılandırma dosyasının yolu.
* --error-log-path=/var/log/nginx/error.log: Hata log dosyasının yolu.
* --http-log-path=/var/log/nginx/access.log: Erişim log dosyasının yolu.
* --pid-path=/var/run/nginx.pid: Nginx ana işleminin PID dosyasının yolu.
* --lock-path=/var/run/nginx.lock: Kilit dosyasının yolu.
* --http-client-body-temp-path=/var/cache/nginx/client_temp: HTTP istemci gövdesi geçici dosyalarının depolanacağı yol.
* --http-proxy-temp-path=/var/cache/nginx/proxy_temp: HTTP proxy geçici dosyalarının depolanacağı yol.
* --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp: FastCGI geçici dosyalarının depolanacağı yol.
* --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp: uWSGI geçici dosyalarının depolanacağı yol.
* --http-scgi-temp-path=/var/cache/nginx/scgi_temp: SCGI geçici dosyalarının depolanacağı yol.
* ÖNEMLİ: Bu geçici dizinlerin oluşturulması gerekecektir. Kurulumdan sonra bu dizinleri oluşturacağız.
* --user=nginx: Nginx worker işlemlerinin çalışacağı kullanıcı.
* --group=nginx: Nginx worker işlemlerinin çalışacağı grup.
* --with-compat: Nginx’in dinamik modüllerle uyumlu olmasını sağlar.
* --with-file-aio: Asenkron dosya G/Ç’yi etkinleştirir. Büyük dosyaları sunarken performansı artırabilir.
* --with-threads: Nginx’in bazı görevleri (örneğin, dosya G/Ç) ayrı iş parçacıklarında çalıştırmasını sağlar.
* --with-http_ssl_module: HTTPS (SSL/TLS) desteği için gereklidir.
* --with-http_realip_module: İstemcinin gerçek IP adresini tespit etmek için kullanılır (proxy arkasındayken).
* --with-http_addition_module: Yanıtlara metin eklemeyi sağlar.
* --with-http_sub_module: Yanıtlardaki metni değiştirmeyi sağlar.
* --with-http_dav_module: WebDAV protokol desteği.
* --with-http_flv_module: FLV akış desteği.
* --with-http_mp4_module: MP4 akış desteği.
* --with-http_gunzip_module: Gzip ile sıkıştırılmış dosyaları istemciye göndermeden önce açar.
* --with-http_gzip_static_module: Önceden sıkıştırılmış .gz dosyalarını sunmayı sağlar.
* --with-http_auth_request_module: Harici bir sunucu tarafından kimlik doğrulamasını sağlar.
* --with-http_random_index_module: Dizin istekleri için rastgele bir başlangıç sayfası seçer.
* --with-http_secure_link_module: Güvenli bağlantılar oluşturmayı sağlar (zaman aşımı ve IP bazlı).
* --with-http_slice_module: Büyük dosyaları daha küçük parçalara bölerek paralel indirme veya önbellekleme sağlar.
* --with-http_stub_status_module: Nginx’in temel durum bilgilerini gösteren bir sayfa sağlar.
* --with-http_v2_module: HTTP/2 protokol desteği. (CentOS 6.4 için OpenSSL sürümünüzün HTTP/2 desteği için yeterli olduğundan emin olun, aksi takdirde sorun yaşayabilirsiniz.)
* --with-mail: Nginx’i bir e-posta proxy sunucusu olarak kullanmak için modül.
* --with-mail_ssl_module: E-posta proxy için SSL/TLS desteği.
* --with-stream: TCP/UDP proxy ve yük dengeleme modülü.
* --with-stream_ssl_module: TCP/UDP proxy için SSL/TLS desteği.
* --with-pcre: PCRE kütüphanesini kullanır.
* --with-pcre-jit: PCRE için JIT (Just-In-Time) derlemesini etkinleştirir, düzenli ifade performansını artırır.
* --with-zlib: zlib kütüphanesini kullanır.
configure komutunu çalıştırdıktan sonra herhangi bir hata mesajı almamalısınız. Eğer bir hata alırsanız, genellikle eksik bir bağımlılık veya yanlış bir yoldan kaynaklanır.
Adım 6: Nginx’i Derleme ve Kurma
Yapılandırma başarılı olduktan sonra, Nginx’i derleyebilir ve kurabiliriz.
Derleme
Kaynak kodunu derlemek için make komutunu kullanın:
sudo make
Bu işlem sunucunuzun performansına bağlı olarak birkaç dakika sürebilir.
Kurulum
Derleme tamamlandığında, make install komutuyla Nginx’i kurun:
sudo make install
Bu komut, configure adımında belirttiğiniz dizinlere Nginx dosyalarını kopyalayacaktır.
Kurulumdan sonra, Nginx’in geçici dosyaları için önbellek dizinlerini oluşturalım ve doğru izinleri verelim:
sudo mkdir -p /var/cache/nginx/{client_temp,proxy_temp,fastcgi_temp,uwsgi_temp,scgi_temp}
sudo chown -R nginx:nginx /var/cache/nginx
Bu, Nginx’in geçici dosyalarını sorunsuz bir şekilde yazabilmesini sağlayacaktır.
Adım 7: Nginx Servis Betiği Oluşturma (SysVinit için)
CentOS 6.4, systemd yerine SysVinit kullanır. Bu nedenle, Nginx’i bir servis olarak başlatmak, durdurmak ve yeniden başlatmak için bir init.d betiği oluşturmamız gerekmektedir.
Aşağıdaki içeriği /etc/init.d/nginx dosyasına kaydedin:
sudo vi /etc/init.d/nginx
Dosyaya aşağıdaki içeriği yapıştırın:
#!/bin/bash
# nginx This script starts and stops the nginx daemon
# chkconfig: - 85 15
description: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
processname: nginx
config: /etc/nginx/nginx.conf
pidfile: /var/run/nginx.pid
Source function library.
. /etc/rc.d/init.d/functions
Source networking configuration.
. /etc/sysconfig/network
Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
retval=$?
echo
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
status)
rh_status
;;
configtest)
configtest
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"
exit 2
esac
Dosyayı kaydettikten sonra, çalıştırılabilir izinlerini verin ve Nginx’i sistem başlangıcına ekleyin:
sudo chmod +x /etc/init.d/nginx
sudo chkconfig --add nginx
sudo chkconfig nginx on
* chmod +x: Betiği çalıştırılabilir yapar.
* chkconfig --add nginx: Nginx servisini chkconfig sistemine ekler.
* chkconfig nginx on: Nginx’in sunucu açılışında otomatik olarak başlamasını sağlar.
Adım 8: Nginx Yapılandırması
Nginx’in varsayılan bir yapılandırma dosyası /etc/nginx/nginx.conf adresinde zaten oluşturulmuş olmalıdır. Bu dosyayı düzenleyerek web sunucunuzu yapılandırabilirsiniz.
sudo vi /etc/nginx/nginx.conf
Aşağıda temel bir yapılandırma örneği bulunmaktadır. Kendi ihtiyaçlarınıza göre bu dosyayı düzenleyebilirsiniz.
# Nginx ana yapılandırma dosyası
Daha fazla bilgi için: http://nginx.org/en/docs/
user nginx; # Nginx worker süreçlerinin çalışacağı kullanıcı
worker_processes auto; # Worker süreçlerinin sayısı (CPU çekirdek sayısına göre 'auto' kullanmak iyi bir başlangıçtır)
error_log /var/log/nginx/error.log warn; # Hata logu yolu ve seviyesi
pid /var/run/nginx.pid; # PID dosyasının yolu
events {
worker_connections 1024; # Her worker süreci için maksimum eşzamanlı bağlantı sayısı
use epoll; # Linux için en iyi performans sağlayan olay modelidir
}
http {
include /etc/nginx/mime.types; # MIME tipleri dosyasını dahil et
default_type application/octet-stream; # Bilinmeyen dosya tipleri için varsayılan MIME tipi
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # Log formatı
access_log /var/log/nginx/access.log main; # Erişim logu yolu ve formatı
sendfile on; # Dosya gönderme işlemini doğrudan çekirdeğe devreder
#tcp_nopush on; # sendfile ile birlikte kullanılır, veri paketlerinin dolmasını bekler
keepalive_timeout 65; # İstemci bağlantısının ne kadar süre açık kalacağını belirler
gzip on; # Gzip sıkıştırmasını etkinleştir
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# Sanal host yapılandırmalarını dahil et
include /etc/nginx/conf.d/*.conf;
# Varsayılan sunucu bloğu
server {
listen 80; # HTTP trafiği için 80 numaralı portu dinle
server_name localhost; # Sunucu adı
# Varsayılan kök dizin
root /usr/share/nginx/html;
# İndeks dosyaları
index index.html index.htm;
# Hata sayfaları
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# PHP işleme örneği (PHP-FPM ile birlikte kullanılacaksa)
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
}
}
Varsayılan Web Kök Dizini Oluşturma:
Yukarıdaki yapılandırmada /usr/share/nginx/html dizini web kök dizini olarak belirtilmiştir. Bu dizini oluşturalım ve basit bir index.html dosyası ekleyelim:
sudo mkdir -p /usr/share/nginx/html
echo "" | sudo tee /usr/share/nginx/html/index.html
sudo chown -R nginx:nginx /usr/share/nginx/html
sudo chmod -R 755 /usr/share/nginx/html
Adım 9: Güvenlik Duvarını Yapılandırma (iptables)
CentOS 6.4’te varsayılan güvenlik duvarı iptables‘tır. Nginx’in HTTP (80) ve HTTPS (443) isteklerini alabilmesi için bu portları güvenlik duvarında açmamız gerekmektedir.
Mevcut iptables kurallarını kontrol edin:
sudo iptables -L -n
Aşağıdaki komutlarla HTTP (80) ve HTTPS (443) portlarını açın:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Değişiklikleri kaydetmek için:
sudo service iptables save
iptables servisini yeniden başlatın:
sudo service iptables restart
Adım 10: Nginx’i Başlatma ve Test Etme
Artık Nginx’i başlatabilir ve düzgün çalışıp çalışmadığını kontrol edebiliriz.
Nginx’i Başlatma
sudo service nginx start
Durumunu Kontrol Etme
Nginx’in çalıştığından emin olmak için durumunu kontrol edin:
sudo service nginx status
Çıktıda nginx (pid xxxx) is running... gibi bir ifade görmelisiniz. Ayrıca, Nginx işleminin çalıştığını kontrol etmek için ps komutunu kullanabilirsiniz:
ps aux | grep nginx
Yapılandırma Dosyasını Test Etme
Nginx’in yapılandırma dosyasında herhangi bir sözdizimi hatası olup olmadığını kontrol etmek için:
sudo nginx -t
Eğer her şey yolundaysa, syntax is ok ve test is successful mesajlarını görmelisiniz.
Web Tarayıcısından Erişim
VPS’inizin IP adresini veya alan adını bir web tarayıcısına yazarak Nginx’in çalıştığını doğrulayın. http://your_vps_ip_address adresine gittiğinizde, “Welcome to Nginx on CentOS 6.4!” başlığını içeren basit HTML sayfasını görmelisiniz.
Adım 11: Nginx’i Yönetme
Nginx servisini yönetmek için aşağıdaki komutları kullanabilirsiniz:
* Başlatma: sudo service nginx start
* Durdurma: sudo service nginx stop
* Yeniden Başlatma: sudo service nginx restart (Nginx’i tamamen durdurup yeniden başlatır)
* Yapılandırmayı Yeniden Yükleme: sudo service nginx reload (Yapılandırma dosyasındaki değişiklikleri kesintisiz olarak uygular, mevcut bağlantıları düşürmez)
* Durum: sudo service nginx status
Sık Karşılaşılan Sorunlar ve Çözümleri
* Nginx Başlamıyor:
* Yapılandırma Hatası: sudo nginx -t komutuyla yapılandırma dosyanızdaki hataları kontrol edin.
* Port Çakışması: Başka bir servisin (örneğin Apache) 80 veya 443 portunu kullanıp kullanmadığını kontrol edin: sudo netstat -tulnp | grep ":80".
* İzinler: Nginx’in log dosyalarına veya geçici dizinlerine yazma izni olup olmadığını kontrol edin (/var/log/nginx, /var/cache/nginx). chown -R nginx:nginx /var/log/nginx /var/cache/nginx komutunu deneyin.
* Web Tarayıcısından Erişilemiyor:
* Güvenlik Duvarı: iptables kurallarınızı kontrol edin ve 80/443 portlarının açık olduğundan emin olun.
* SELinux: CentOS’ta SELinux etkinse, Nginx’in web içeriğini sunmasını engelleyebilir. SELinux’u geçici olarak devre dışı bırakıp test edebilirsiniz (sudo setenforce 0). Eğer sorun SELinux ise, kalıcı olarak izinleri ayarlamanız veya SELinux’u tamamen devre dışı bırakmanız gerekebilir (/etc/selinux/config dosyasını düzenleyerek SELINUX=disabled yapın ve sistemi yeniden başlatın).
* Nginx Çalışmıyor: Yukarıdaki “Nginx Başlamıyor” adımlarını kontrol edin.
* Eksik Bağımlılıklar: configure adımı sırasında error: the HTTP X.X.X module requires the X.X.X library gibi hatalar alırsanız, ilgili bağımlılık paketinin devel sürümünü kurmanız gerekir (örneğin yum install pcre-devel).
* HTTP/2 Sorunları: CentOS 6.4’teki OpenSSL sürümü eski olabilir. Eğer --with-http_v2_module ile sorun yaşıyorsanız, OpenSSL’i kaynaktan derleyerek daha yeni bir sürüme yükseltmeniz veya HTTP/2 modülünü devre dışı bırakmanız gerekebilir. Bu, daha ileri düzey bir adımdır ve bu rehberin kapsamı dışındadır.
Sonuç
Bu rehberde, Nginx web sunucusunu CentOS 6.4 x64 VPS üzerinde kaynaktan derleyerek kurmanın tüm detaylı adımlarını ele aldık. Sistemi güncellemekten, bağımlılıkları kurmaya, Nginx kaynak kodunu yapılandırmaya, derlemeye ve kurmaya kadar her aşamayı adım adım gösterdik. Ayrıca, bir init.d servis betiği oluşturarak Nginx’in sistem başlangıcında otomatik olarak başlamasını sağladık ve temel bir yapılandırma ile güvenlik duvarı ayarlarını yaptık.
Nginx’i kaynaktan derlemek, size sunucunuz üzerinde tam kontrol ve esneklik sağlar. Artık Nginx’in en güncel sürümünü çalıştırıyor ve özel modüllerle genişletme potansiyeline sahipsiniz. İleri düzey yapılandırmalar, sanal hostlar, ters proxy kurulumları ve performans optimizasyonları için Nginx dokümantasyonunu incelemeye devam edebilirsiniz. Bu kurulum, web uygulamalarınız veya statik web siteleriniz için güçlü ve optimize edilmiş bir temel oluşturacaktır.
