20 Nisan 2024 12:09

Anasayfa

undefined...

Nginx Proxy kurulumuna başlamak için öncelikle CWP arayüzünde sol tarafta bulunan menü üzerinden Apache Settings sekmesi altında bulunan "Select WebServers" seçeneğine tıklıyoruz.

 

Açılan sayfada Apache & Nginx Reverse Proxy seçeneğine tıklayıp Save & Rebuild Configuration butonuna tıklıyoruz.

 

Yapılandırma gerçekleştirildikten sonra Rebuild All Virtual Hosts butonuna ve hemen ardından çıkan uyarı Tamam diyerek kurulumu tamamlıyoruz. 

Kontrolünü sağlamak için https://katoptrik.com/http2-test/ adresinden Online Apache Nginx HTTP2 test aracını kullanabilirsiniz.

 

Nginx Yapılandırması

Yapılandırmaya başlamadan önce ilgili nginx.conf dosyamınızın yedeğini aynı dizine alıyoruz.

cp -pr /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
 > /etc/nginx/nginx.conf
Ardından nano veya vi editörü ile dosyayı editliyoruz:

vi /etc/nginx/nginx.conf
Aşağıdaki parametreleri dosyamıza kaydediyoruz:

# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

# nginx'i calistiracak kullanici
user            nginx;

# kac adet worker calismasini istiyorsaniz, sunucunuzda bulunan core sayisi kadar arttirabilirsiniz.
worker_processes 2;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
# maxclient sayisi. [maxclients = worker_processes * worker_connections]
worker_connections 1024;

}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

# log formati ve lokasyonu
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

# proxy cache için size ve dizin konfigürasyonu
proxy_cache_path /var/cache/nginx keys_zone=staticfilecache:10m max_size=500m;
proxy_ignore_headers “X-Accel-Expires”;
proxy_ignore_headers “Expires”;
proxy_ignore_headers “Cache-Control”;

sendfile on;
keepalive_timeout 15;

# gzip konfigürasyonu
gzip on;
gzip_comp_level 2;
gzip_min_length 1100;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;

# /etc/nginx/conf.d dizinindeki dosyalari yapilandirmaya dahil etmek için gerekli parametre.
include /etc/nginx/conf.d/*.conf;

}
nginx.conf yapılandırma dosyasını kaydettikten sonra düzenlememiz gereken bir diğer dosya /etc/nginx/conf.d/ dizininin altında bulunan default.conf dosyasıdır. Bu konfigürasyon dosyası Default Website tanımlarının yapıldığı dosyadır.

Yine aynı şekilde dosyamızın yedeğini alıyoruz:

cp -pr /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
> /etc/nginx/conf.d/default.conf
Ardından editlemeye geçiyoruz:

vi /etc/nginx/conf.d/default.conf
Aşağıdaki parametleri dosyamıza kaydediyoruz:

#
# The default server
#
server {
listen 80 default_server;

# server_name olarak alan adi da yazilabilmekter. Bu sekilde birakilirsa
# catchall gorevi gorur. Bu sunucuyu gosteren tum alan adlari icin default vhost.
server_name _;

# nginx kok dizini ve default dokumanlar icin
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}

# bulunamayan icerikle alakali hatalari /404.html'e yonlendirmek icin
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}

# 5x server error'lari /50x.html sayfasina yonlendirmek icin
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# php dosyalarinin nasil islenecegi ile ilgili parametre
location ~ \.php$ {
root /usr/share/nginx/html;

# fpm'e socket uzerinden erismek icin (sadece bu sekilde yapiyoruz):
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

# alternatif olarak php-fpm'e TCP uzerinden erismek icin (default yontem bu ama biz kullanmamaktayiz)
# fastcgi_pass 127.0.0.1:9000;

# Not: Yukarıdaki parametreyi uncomment etmeden once,
# 1 - Ayni dosyada bulunan fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; ibaresini comment out edin.
# 2 - /etc/php-fpm.d/www.conf dosyasindaki listen = /var/run/php-fpm/php-fpm.sock satırını uncomment out
# etmeniz ve yerine listen = 127.0.0.1:9000 ekledikten sonra fpm'i restart etmeniz gerekir.

fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

# .htaccess dosyalarina erisime izin vermek icin
location ~ /\.ht {
deny all;
}

# favicon dosyalari icin access log'a yazma ve 204 (no content) status kodu dondurmek icin
location ~* \.(ico)$ {
access_log off;
log_not_found off;
try_files /favicon.ico =204;
}

# static contet dosyalarinin 72 saat cache'te tutulmasini soylemek ve access log'a yazmak icin
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
access_log off;
expires 72h;
}
}
Yine dosyamızı kaydettikten sonra:

nginx -t
komutunu yazıp gerekli kontrolü sağlayıp herhangi bir sorunla karşılaşılmadıysa eğer nginx servisini başlatabiliriz.

chkconfig nginx on
service nginx start

Makdos Bilişim Teknolojileri 2015 - 2022