27.01.2011

Установка и настройка NGINX с PHP FastCGI в CentOS

Установка и настройка NGINX с PHP FastCGI в CentOS

Как известно, самый лучший способ экономии оперативной памяти на VPS для хостинга своих сайтов - это установка NGINX с FastCGI FPM. Рассмотрим, как это можно сделать на VPS с CentOS 5, используя общедоступные репозитории CentOS 5 для простого обновления софта.

Используем для этого репозиторий CentALT. Итак, приступим:

1. Обновляем систему на сервере:

yum -y update

2. Устанавливаем CentALT репозиторий:

rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm
yum -y update

3. Устанавливаем NGINX, PHP-FPM, vsftpd, phpMyAdmin, mysqld:

yum install nginx php-fpm php-gd php-mysql mysql-server vsftpd

4. Создаем пользователя на vps, от которого будем заливать файлы по ftp на сервер. Добавляем в /etc/shells шелл /bin/date:

echo "/bin/date" >>/etc/shel

Определим id пользователя nginx:

id nginx

Определим id пользователя nginx:

id nginx
uid=102(nginx) gid=102(nginx) groups=102(nginx)

Нас интересует uid. Таким образом, создаем пользователя:

useradd -u 102 -o -s /bin/date -p пароль ftpuser

ftpuser - логин ftp-пользователя, пароль - желаемый пароль.

5. Установим пароль root mysql-сервера, так как будем использовать phpMyAdmin с ограничением по паролю пользователя mysql:

chkconfig mysqld on
service mysqld start
mysql_secure_installation

Там пишем два раза желаемый пароль root mysql, со всем соглашаемся.

6. Настраиваем vsftpd:

chkconfig vsftpd on
vi /etc/vsftpd/vsftpd.conf

Редактируем там:

anonymous_enable=YES на anonymous_enable=NO

Это запретит анонимный ftp.

Добавляем:

chroot_local_user=YES

Это запретит ftp-пользователю заходить ниже домашней дирректории.

Запускаем ftp сервер:

service vsftpd start

7. Настраиваем PHP-FPM:

chkconfig php-fpm on
vi /etc/php-fpm.conf

Там заменяем 2 строки:

<!–- <value name=”user”>nobody</value> -–>
<!–- <value name=”group”>nobody</value> -–>

На:

<value name=”user”>nginx</value>
<value name=”group”>nginx</value>

Запускаем php-fpm:

service php-fpm start

8. Настраиваем nginx:

chkconfig nginx on
vi /etc/nginx/nginx.conf

Туда пишем:

user nginx;
worker_processes 1;

events {
       worker_connections 1024;
}

http {
       include mime.types;
       default_type application/octet-stream;

       server {
              listen 80;
              server_name site.name www.site.name;

              location / {
                         root /home/ftpuser/site.name;
                         index index.php index.html index.htm;
              }

              error_page 500 502 503 504 /50x.html;
              location = /50x.html {
              root /usr/local/www/nginx-dist;
        }

        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param script_FILENAME /home/ftpuser/site.name$fastcgi_script_name;
        include fastcgi_params;
}

Здесь в worker_processes пишем колличество cpu в системе (у нас 1), site.name - это имя сайта, который мы будем хостить на сервере, ftpuser - пользователь ftp.

Запускаем nginx:

service nginx start

9. Делаем так, чтоб phpMyAdmin был нам доступен по адресу http://site.name/myadmin:

ln -s /usr/share/phpMyAdmin /home/ftpuser/site.name/myadmin

10. После этого заходим на созданный нами ftp, используя данные, которые мы прописали в пункте 4, делаем директорию site.name и заливаем в нее контент сайта. Также, используя данные доступа root к mysql, с помощью phpMyAdmin, создаем и заливаем базу данных сайта.

Последние новости

Скидка на все домены Украины до 21.10.2022!
14.10.2022
Скидка на все домены Украины до 21.10.2022!
Уважаемые пользователи! Целую неделю у нас скидка -15% на регистрацию всех украинских доменов по промокоду defendersday22!
Подорожание ряда украинских доменов UA ccTLD!
28.09.2022
Подорожание ряда украинских доменов UA ccTLD!
Уважаемые пользователи! С 1 октября 2022 нас ждет подорожание в ряде украинских доменов - in.ua, od.ua, mk.ua!
Важные изменения в работе ряда украинских доменных имен!
09.03.2022
Важные изменения в работе ряда украинских доменных имен!
Уважаемые пользователи! В некоторых украинских доменных зонах увеличен срок периода Redemption с 30 до 60 дней.
Существенное подорожание выделенных IP-адресов (IPv4) в Германии!
09.08.2021
Существенное подорожание выделенных IP-адресов (IPv4) в Германии!
Уважаемые пользователи! В Германии существенно подорожали дополнительные выделенные IP-адреса (IPv4) и IP-сети.

Последнее в блоге

Коронавирус Coronavirus (COVID-19) и кибермошенники в сети Интернет
02.03.2020
Коронавирус Coronavirus (COVID-19) и кибермошенники в сети Интернет
Паника вокруг коронавируса COVID-19 используется кибермошенниками в сети Интернет - фишинг, продажа масок, вакцин и тестов.
Не отправляется почта - проверяем не блокирует ли провайдер 25 порт
11.01.2020
Не отправляется почта - проверяем не блокирует ли провайдер 25 порт
Проверяем блокирует ли провайдер 25 порт с помощью командной строки в ОС Windows. Как отправлять почту если 25 порт заблокирован.
Как установить Clam AntiVirus (ClamAV) на VPS или сервер с ОС CentOS
11.11.2019
Как установить Clam AntiVirus (ClamAV) на VPS или сервер с ОС CentOS
Устанавливаем Clam AntiVirus (ClamAV) на VPS / VDS или выделенный сервер с ОС CentOS и настраиваем ежедневное сканирование сервера.
ISPmanager больше не поддерживает резервное копирование в Яндекс.Диск
20.10.2019
ISPmanager больше не поддерживает резервное копирование в Яндекс.Диск
В течении недели Яндекс.Диск исчезнет из списка хранилища для резервного копирования в панеле ISPmanager и других продуктах ISPsystem.