NGinx е уеб сървър, създаден от руски разработчици, който все повече набира популярност и започва да се използва по-масово. Целта на този сървър е да предостави по-бързо сервиране на съдържанието, като се използват по-малко ресурси за разлика от конвенционалния уеб сървър Apache. С тази статия ще ви запознаем с инсталацията и базовата конфигурацията на NGinx и PHP-FPM както и техните зависими допълнителни софтуерни пакети върху операционна система CentOS 6.
Започваме с добавяне на допълнителни хранилища за yum:
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
Когато бъдете попитани, трябва да се се съгласите с условията на това хранилище и да изпишете "yes". След това хранилището ще бъде импортирано автоматични и може да бъде използвано. Следва инсталацията на MySQL 5.5 и нужния допълнителен софтуер. За щастие, yum автоматично разпознава какво е нужно като допълнителен софтуер, за да бъде инсталиран и MySQL 5.5:
yum install mysql mysql-server
chkconfig mysqld on
/etc/init.d/mysqld start
Задаваме и своята root парола за MySQL, за да може да бъде достъпван по-късно:
/usr/bin/mysqladmin -u root password 'new-password'
В при горната команда, трябва да замените new-password (без кавичките) с паролата, която ще запомните и ще използвате по-късно. Нека да инсталираме и PHP и допълнителните му модули:
yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
Когато инсталацията приключи, отворете php.ini с текстов редактор, с който предпочитате да работите. В тази статия ще използваме текстовия редактор vi.
vi /etc/php.ini
Намерете реда cgi.fix_pathinfo=0 и го разкоментирайте:
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0[...]
Можете да зададете PHP-FPM да се стартира и при стартирането на операционна система и същевременно да го включите за първи път с командите:
chkconfig php-fpm on
/etc/init.d/php-fpm start
Една от последните стъпка включва инсталацията на NGinx. За целта ще използваме официалното хранилище, от което можем да инсталираме директно NGinx, без нуждата от ръчна компилация. Добавете хранлището по следния начин:
Създайте нов файл с командата:
vi /etc/yum.repos.d/nginx.repo
и добавете следните редове, след което запаметете промените:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Сега можем да пристъпим инсталацията на NGinx с yum:
yum install nginx
Стартиране за първи път и добавяне на NGinx към списъка със софтуер, който ще се стартира сам при стартиране на операционна система:
chkconfig nginx on
/etc/init.d/nginx start
Отворете файла default.conf и редактирайте редовете както следва:
vi /etc/nginx/conf.d/default.conf
[...]
server {
listen 80;
server_name _;location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}location ~ /\.ht {
deny all;
}
}
Финалната стъпка е рестартиране на NGinx, за да бъдат приети настройките.
/etc/init.d/nginx restart
Разбира се, ако настройки от този тип ви затрудняват, имайте предвид, че винаги предлагаме безплатна техническа поддръжка за всеки наш клиент, закупил VPS сървър.