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