Как установить Nginx 1.8 и PHP-FPM 5.4 на CentOS 6

Разберемся, как установить Nginx 1.8+PHP-FPM 5.4 на CentOS 6 за несколкьо шагов. Обратите внимание на то, что Nginx 1.8+PHP-FPM 5.3 и Nginx 1.8+PHP-FPM 5.5, 5.6 и 7.0 устанавливаются несколько иначе.

 

  • Подключение репозиториев

Установите репозитории EPEL и Remi:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

 

  • Установка nginx

Для установки nginx нужно создать репозиторий. Для этого откройте новый файл /etc/yum.repos.d/nginx.repo:

nano /etc/yum.repos.d/nginx.repo

Добавьте в него строки:

[nginx]

name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

Вместо $releasever подставьте версию используемого CentOS. Сохраните изменения, чтобы перейти у следующему шагу.

 

  • Установка PHP-FPM 5.4

Установите PHP-FPM 5.4:

yum --enablerepo=remi,remi-test install nginx php-fpm php-common

Загрузите недостающие модули:

yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

Запустите по очереди nginx и PHP-FPM:

service nginx start

service php-fpm start

Добавьте в автозагрузку:

chkconfig --add nginx

chkconfig --add php-fpm

 

  • Добавление виртуальных хостов на nginx

Скопируйте в файл mysite.conf содержимое default.conf:

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/mysite.conf

Создайте новую папку. Например:

mkdir /home/user

Откройте файл /etc/nginx/conf.d/mysite.conf в текстовом редакторе:

nano /etc/nginx/conf.d/mysite.conf

Теперь внесите правки в следующих полях: в server_name впишите ваш домен вместо localhost, а в root поменяйте имеющееся значение на новую папку и путь:

server {

   listen     80;

   server_name  site.s-host.com.ua;

   #charset koi8-r;

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

   location / {

       root   /home/user;

       index  index.html index.htm;

   }

Создайте файл /home/user/info.php и скопируйте в него строку:

nano /home/user/info.php

<? phpinfo(); ?>

 

  • Редактирование файла конфигурации

Откройте в тектовом редакторе файл /etc/nginx/conf.d/mysite.conf:

nano /etc/nginx/conf.d/mysite.conf

Внесите изменения в секции # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000: в root добавьте путь и название новой папки, а в строке fastcgi_param впишите $document_root вместо /scripts. Раскоментируйте все строки, кроме одной:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

После всех “манипуляций” данная секция будет выглядеть так:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

  location ~ \.php$ {

      root           /home/user;

      fastcgi_pass   127.0.0.1:9000;

      fastcgi_index  index.php;

      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

      include        fastcgi_params;    

}

Перезапустите nginx:

service nginx restart

Откройте файл /etc/php.ini в режиме редактирования:

nano /etc/php.ini

Замените Off на On в строке short_open_tag = Off. Выполните перезагрузку PHP-FPM:

service php-fpm restart

Впишите в адресную сроку ваш-домен (или IP)/info.php, чтобы проверить установку.

Powered by Simple Blog