Nginx php kurulumu (centos 6) 3

Nginx php ikilisini bir sunucuda kurmak icin hazirladigim dokumani takip ederek centos sunucularda nginx ve php-fpm kurulumunu gerceklestirebilirsiniz.

Daha once 10 saniyede kurulum adiyla paylastigim “Centos Nginx + Php-fpm + mysql kurulumu (Sadece 10 saniye) – Panelsiz web sunucusu” konusuna giderek detayli ve mysql destekli sunucunuzu kurabilirsiniz.

Bu konuda anlatilacaklar:

  • Nginx kurulumu
  • Php-fpm kurulumu
  • Online test

Baslamadan once Epel deposunun kurulmasi olusabilecek sorunlari ortadan kaldirabilir: Epel Deposu Ekleme – RHEL/CentOS 4/5/6/7

1 – Nginx ve php-fpm kurulumu

Sunucunuzda bulunan depo sayesinde kolayca iki programi kurabiliriz. Bunun icin asagidaki yum komutunu ssh terminalinden yazip enter yapin, kurulum tamamlandiktan sonra diger adima gecelim.

yum -y install nginx php-fpm

Kurulumdan sonra ki hata vermeyecektir, asagidaki komutlari sirasi ile girelim ve nginx php uygulamalarina restart atip yeniden baslatalim.

chkconfig nginx on
service nginx restart
service php-fpm restart

Bu islemlerden sonra sunucunun ip adresini yada ip adresine eklenen domaine girildiginde (DNS ile A eklemesine sunucunun IP adresini ekleyin) asagidaki ornek ekran cikacak:

Test Page for the Nginx HTTP Server on EPEL

Yani nginx php artik kurulmus oldu. Simdi bu yaptigimiz isi dahada guzellestirelim ve bir site tanimlayalim.


 

2 – Websitesi ekleme (domain)

Websitesi ekleme anlatiminda kullanacagim terimleri yaziyorum, sizler bu terimleri kendinize gore duzenleyerek sitenizi ekleyebilirsiniz..

Kullanici ismi ve grubu: nginx_php (siz bunu kendi sitenizin ismine yakin bir kelime ile kullanabilirsiniz. Ornegin kuaza.com domaini icin kuaza ismini kullanmak gibi)

Domain: http://nginx_php.kuaza.com (kisa bir sure online olacak, sonrasinda test sunucusunu iptal edecegim icin calismayabilir)

Kullanici/grup ekleme –

useradd nginx_php

Bu islemden sonra /home klasoru icerisinde nginx_php ismine bir klasor olusacak. Bu klasorun chmod ayarini ve kullanici/grup ayarlarini duzenlemek gerekli, aksi durumda yetki kontrolu sebebi ile sitemiz acilmayacak, hata mesaji ile karsilasacaksiniz.

Chmod ayarini degistirme –

chmod 0711 /home/nginx_php

Site dosyalari icin klasor olusturalim –

Sitenizin dosyalarini barindiracaginiz klasoru olusturacagiz simdi. Standart ve uzun yillardir default gelen ismi: public_html, ancak siz bunu istediginiz gibi degistirerek kullanabilirsiniz. Hemde guvenlik acisindan iyi olabilir ;)

mkdir -p /home/nginx_php/public_html

Site klasorunun kullanici/grup ayarlarini duzeltme –

chown -R nginx_php:nginx_php /home/nginx_php/public_html

Bu islemlerden sonra sitemizin dosyalari ve kullanici ayarlari yapilmis oldu. Son bir islem kaldi, oda Asil isi yapacak olan Nginx tarafinda sitemizin konfigurasyonunu yapmak. Oda sonraki bolumlerde..

3 – Nginx Site ekleme

Bu islemden sonra sitemiz acilir olacak. Tek yapmamiz gereken asagidaki adimlari izlemek..

Site konfigurasyon dosyasi olusturma –

ssh terminalinde calistigimiz icin nano programi ile dosya acip, ayarlarimizi kaydedip cikacagiz. nano programi yoksa kurun bi zahmet :)

nano /etc/nginx/conf.d/nginx_php.com.conf

Acilan ekrana asagidaki ayarlari kaydedelim. Ama oncesinde bir text dosyasinda gerekli alanlari duzeltin, sonrasinda terminal ekraninda duzeltmek biraz zamaninizi alabilir:

	#
	# $site_ismi icin nginx konfigurasyon dosyasi
	# kuaza.com
	#
	server {
		listen       80;
		server_name  nginx_php.kuaza.com;
 
		#charset koi8-r;
 
		#access_log  logs/host.access.log  main;
 
		# Load configuration files for the default server block.
		include /etc/nginx/default.d/*.conf;
 
		location / {
			root   /home/nginx_php/public_html;
			index  index.php index.html index.htm;
			try_files $uri @kuaza_rewrite;
		}
		
		#Statik dosyalari direk nginx ile isleyelim..
		#baska dosyalarda ekleme ihtiyaci duyarsaniz asagidaki listeye dahil edebilirsiniz.
		location ~*.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso)$ {
		# 1 Aylik cache suresi veririz.
		expires 1M;
		root /home/nginx_php/public_html;
		}
		
		# url rewrite ozelligi kismi
		# kuaza.com
		location @kuaza_rewrite {
			#rewrite ^/$ /index.php last;
			rewrite ^/index/([a-z0-9_-]*)/?$ /index.php?kuaza=\$1 last;
		}
		
		error_page  404              /404.html;
		location = /404.html {
			root   /home/nginx_php/public_html;
		}
 
		# redirect server error pages to the static page /50x.html
		#
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /home/nginx_php/public_html;
		}
 
		# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
		#
		location ~ \.php$ {
			root           /home/nginx_php/public_html;
			fastcgi_pass   127.0.0.1:9000;
			fastcgi_index  index.php;
			fastcgi_param  SCRIPT_FILENAME  /home/nginx_php/public_html$fastcgi_script_name;
			include        fastcgi_params;
		}
 
	}

Konfigurasyon dosyasinda degiseceginiz 2 yer var bunlardan birisi site dosyalarinin oldugu ana klasor ismi: nginx_php, digeride siteye ulasilacak domain ismi: http://nginx_php.kuaza.com

Bu islemden sonra ctrl + x | y + enter yaptiginizda ayarlari kaydedip dosyadan cikacaktir.

Nginx sunucusuna restart atarak ayarlarin aktif olmasini saglayalim:

service nginx restart

Ve artik sitemize ulasilabilir, ancak sitemizin klasorunde dosya yok :) Ben ornek dosyalar hazirladim, bunlari site klasorunun icine yuklediginizde sorunsuz sekilde acilacaktir.

nginx php

Bir makalemin daha sonuna geldik. Nginx php kurulumunu anlatmaya calistim, umarim faydali olur sizler icin.

***

Uyarı: Sunucunuzdaki güvenlik duvarı (iptables) :80 portunu bloklamış yada açmamış olabilir. Bu yüzden bağlantı yapamayabilirsiniz. Manuel bu portu kullanıma açmak için aşağıdaki işlemleri yapın:

Iptables kural dosyasını açalım:

nano /etc/sysconfig/iptables

COMMIT yazısından öncesine ekleyelim:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Sonrasında aşağıdaki işlemleri sırası ile yapın ve bağlantıyı tekrar deneyin:

service iptables save
service iptables restart

Bu kadar..

3 YORUMLAR

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.