Nginx/tr

nginx ufak, güçlü ve yüksek performanslı bir web/ters proxy (reverse proxy) sunucu yazılımıdır. Apache ve lighttpd gibi popüler web sunucu yazılımları için iyi bir alternatiftir.

Kurulum
paketini kurmadan önce, kullanabildiği USE bayraklarına göz atalım.

Genişletilmiş USE bayrakları
Nginx yeteneklerini artırmak için modülleri kullanır. Bu yaklaşımın faydalarını kullanmak için kurulumu sırasında hangi modüllerin kullanılacağını bazı USE setleri ile ayarlayabilirsiniz.


 * HTTP related modules can be enabled through the NGINX_MODULES_HTTP variable
 * Mail related modules can be enabled through the NGINX_MODULES_MAIL variable
 * Third party modules can be enabled through the NGINX_ADD_MODULES variable

Bu değişkenler dosyasında tanımlanmalıdır. Detaylı açıklamaları ve  adreslerinde bulunabilir.

Örneğin  modülünü etkinleştirmek için:

The above will overwrite the default value of NGINX_MODULES_HTTP and set it to. To enable the  module without overwriting the default NGINX_MODULES_HTTP value, the following USE flag notation can be specified in :

Emerge
USE bayraklarıı ayarladıysanız, paketini kurun:

Kurulumun onaylanması
The default nginx configuration defines a virtual server with the root directory set to. However due to, the nginx ebuild will only create the directory and without an index file. To have a working default configuration, create the directory and and simple index file:

nginx paketi, servisi durdurmak, başlatmak ve yeniden başlatmak için yardımcı olan bir servis betiği ile gelir. nginx servisini başlatmak için:

To verify that nginx is properly running, point a web browser to the http://localhost address or use a command-line web tool like :

Yapılandırma
nginx yapılandırması dosyası üzerinde düzenlenir.

Tek site erişimi
Aşağıdaki örnek, (PHP gibi) dinamik özellikleri olmayan tek site yapılandırması içindir.

Birden çok site erişimi
Birden fazla yapılandırma dosyasında daha kolay yönetim sağlamak için  yönergesi kullanılabilir:

PHP desteği
PHP desteğini açmak için aşağıdaki satırları nginx yapılandırma dosyasına ekleyebilirsiniz. Bu örnekte nginx PHP ile iletişimini UNIX soketi üzerinden yapmakta.

To support this setup, PHP needs to be built with FastCGI Process Manager support, which is handled through the  USE flag:

Ardından PHP'yi  USE bayrağıyla tekrar derleyelim:

dosyasını inceleyip aşağıdaki satırı ekleyin:

php-fpm'e ait dosyasında zaman dilimini ayarlayın. Bunun için ilgili zaman dilimini aşağıda  ile belirtilen yere ekleyin:

Start the daemon:

Add to the default runlevel:

Reload with changed configuration:

IP adresiyle eirşim kısıtlaması
The next example shows how to allow access to a particular URL (in this case ) only to:


 * certain hosts (e.g. 192.0.2.1 127.0.0.1)
 * and IP networks (e.g. 198.51.100.0/24)

Basit yetkilendirme
nginx kullanıcı adı ve parola sorup yetkilendirme yapma desteğine de sahiptir:

dosyası aşağıdaki şekilde oluşturulabilir:

TLS desteği
Sadece TLS'in desteklenmesi ve güvensiz cipher desteğinin kullanılmaması önerilmekte.

Kurulumda konumuna sunucunun kendi imzaladığı sertifikalar yüklenmekte.

Daha fazla gizlilik
The diffie-hellman certificate can be created using :

Üçüncü parti modüller
Üçüncü parti modülü indirip dizinine koyun. Ardından elle derleyip, dosyasına şu şekilde ekleyin:

Üçüncü parti modül ile nginx'i tekrar derleyin:

OpenRC
Nginx'i başlatmak:

Nginx'i durdur:

Nginx'i öntanımlı çalışma seviyesine ekle:

Nginx'i yeniden başlat:

Olası Problemler
Problem yaşarsanız aşağıdaki komutlar sebebini bulmanıza yardımcı olabilir.

Yapılandırmayı onaylama
nginx ayar dosyalarının belirgin bir hatası olmadığını kontrol etmek için:

By running with the   option, it will validate the configuration file without actually starting the  daemon.

İşlemlerin çalıştığına emin olun
Check if processes are running:

Adres ve portların kullanımda olduğuna emin olun
nginx servisinin doğru portları dinlediğinden emin olun (HTTP için 80 ve HTTPS için 443 gibi):

Ayrıca bkz.

 * Apache - Popüler HTTP sunucusu
 * Lighttpd - Hızlı ve hafif bir web sunucu

Harici kaynaklar

 * http://nginx.org/en/docs/beginners_guide.html - A beginner's guide. Helpful for those who do not know much about.
 * http://nginx.com/resources/admin-guide/ - The administration guide. Helpful for web administrators who have been working in the field.
 * http://wiki.nginx.org/Main - The nginx wiki.
 * https://github.com/h5bp/server-configs-nginx - H5BP nginx config.