Как установить 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, чтобы проверить установку.