Nginx және PHP екеуін достастырамыз
PHP және Apache арқылы сервер тұрғызу туралы тонналап жазылған. Ал nginx туралы аздау. Бірақ nginx-тің apache-дан артықшылығы болмаса кемшілігі жоқ шығар.
Nginx арқылы php сайтты көтеруді, яғни, nginx-ті php файлдарын интерпретация жасауға баптау жасайық. Барлық баптаулар debian жүйесінде жүргізіледі. Ең алдымен жүйеге nginx веб серверін орнатамыз:
Енді php-дің өзін қондырып алуымыз керек:
Мұндағы php5-fpm ол FastCGI Process Manager пакеті. FastCGI Process Manager дегеніміз PHP FastCGI альтернативасы. Егер Apache+PHP баптап жүрген болсаңыз PHP FastCGI талай көрген болуыңыз керек. Ал PHP-FPM-нің айтулары бойынша тым жүктелген сайттар үшін артықшылықтары бар.
Жүйеде керек бағдарламалар орнады енді nginx-ты баптау жасау қажет. Ол үшін /etc/nginx/sites-enabled/default баптау файлын өзгертуіміз қажет. Егер файлды өңдеуге ашсақ, ішінде пікірленген, әр жолақ жақсы түсіндірілген баптау ашылуы керек. Сол жерде root /var/www/html директивасын көреміз. Бұл nginx файлдарды қайдан іздеуі қажеттігін көрсетеді.
Одан соң index директивасының қатарына index.php атауын ендіріп қойыңыз (үнсіз келісім бойынша ашылуы үшін):
Содан соң барып, мынандай баптау енгіземіз:
Осы баптау nginx пен php байланысуына жауап береді. Болды енді nginx-ті өшіріп қосу қалды:
sudo service nginx restart
Барлығы дұрыс бапталған болса nginx еш қатесіз өшіп қосылады. Тексеріп көру үшін /var/www/html/test.php файлын құрып ішіне мынандай код енгізіңіз:
және браузерден localhost/test.php ашыңыз. Барлығы дұрыс болса php туралы мәлімет көрсетіледі. Бұл баптауды қарапайым сайт жасауда немесе жылдам прототиптер жасағанда пайдаланған ыңғайлы.
P.S. php баптауы мына жерде болады:
Ол файлды өзгерткен соң php-ді өшіріп қосу керек:
Nginx баптауының толық нұсқасы:
Nginx арқылы php сайтты көтеруді, яғни, nginx-ті php файлдарын интерпретация жасауға баптау жасайық. Барлық баптаулар debian жүйесінде жүргізіледі. Ең алдымен жүйеге nginx веб серверін орнатамыз:
sudo apt-get install nginx
Енді php-дің өзін қондырып алуымыз керек:
sudo apt-get install php5 php5-fpm
Мұндағы php5-fpm ол FastCGI Process Manager пакеті. FastCGI Process Manager дегеніміз PHP FastCGI альтернативасы. Егер Apache+PHP баптап жүрген болсаңыз PHP FastCGI талай көрген болуыңыз керек. Ал PHP-FPM-нің айтулары бойынша тым жүктелген сайттар үшін артықшылықтары бар.
Жүйеде керек бағдарламалар орнады енді nginx-ты баптау жасау қажет. Ол үшін /etc/nginx/sites-enabled/default баптау файлын өзгертуіміз қажет. Егер файлды өңдеуге ашсақ, ішінде пікірленген, әр жолақ жақсы түсіндірілген баптау ашылуы керек. Сол жерде root /var/www/html директивасын көреміз. Бұл nginx файлдарды қайдан іздеуі қажеттігін көрсетеді.
Одан соң index директивасының қатарына index.php атауын ендіріп қойыңыз (үнсіз келісім бойынша ашылуы үшін):
index index.php index.html index.htm index.nginx-debian.html;
Содан соң барып, мынандай баптау енгіземіз:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; }
Осы баптау nginx пен php байланысуына жауап береді. Болды енді nginx-ті өшіріп қосу қалды:
sudo service nginx restart
Барлығы дұрыс бапталған болса nginx еш қатесіз өшіп қосылады. Тексеріп көру үшін /var/www/html/test.php файлын құрып ішіне мынандай код енгізіңіз:
<?php phpinfo();
және браузерден localhost/test.php ашыңыз. Барлығы дұрыс болса php туралы мәлімет көрсетіледі. Бұл баптауды қарапайым сайт жасауда немесе жылдам прототиптер жасағанда пайдаланған ыңғайлы.
P.S. php баптауы мына жерде болады:
/etc/php5/fpm/php.ini
Ол файлды өзгерткен соң php-ді өшіріп қосу керек:
service php5-fpm restart
Nginx баптауының толық нұсқасы:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } }
-
+1