Takip et

Nginx’i CentOS 6.4 x64 VPS Üzerinde Kaynaktan Derleme ve Kurulum Rehberi

Nginx’i CentOS 6. 4 x64 VPS Üzerinde Kaynaktan Derleme ve Kurulum Rehberi Bu rehber, CentOS 6.

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.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version