Начнем с того что установка nginx + php-fpm нужна для того, что бы сэкономить оперативную память на вашем VPS. Для примера возьмем VPS с CentOS 5 (5.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
3. Теперь установим nginx, php-fpm, vsftpd, phpMyAdmin, mysqld:
yum install nginx php-fpm php-gd php-mysql mysql-server
4. Создаем пользователя на нашем vps, от которого будем заливать файлы по ftp на сервер:
Добавляем в /etc/shells шелл /bin/date:
echo "/bin/date" >>/etc/shells
5. Теперь нам нужно определить id пользователя nginx:
id nginx
Получим:
uid=103(nginx) gid=103(nginx) groups=103(nginx)
Нас интересует uid. Таким образом, создаем пользователя:
useradd -u 103 -o -s /bin/date -p 123456 ftpkens
ftpkens — логин ftp-пользователя
123456 — желаемый пароль
Если мы хотим создать пользователя с uid nginx но при этом хотим иметь возможность подключаться по ssh и иметь привилегии su/sudo, можем выполнить это:
adduser -d /webserver/www/ -G wheel,nginx -s /bin/bash -p 123456 -u 103 -o -U admin
5. Следом установим пароль root mysql-сервера, так как будем использовать phpMyAdmin с ограничением по паролю пользователя mysql,
Указываем чтоб mysqld запускался автоматически при загрузки системы:
chkconfig mysqld on service mysqld start mysql_secure_installation
Там пишем два раза желаемый пароль root mysql, со всем соглашаемся.
6. Настраиваем php-fpm:
chkconfig php-fpm on nano /etc/php-fpm.conf
Там заменяем 2 строки:
nobody nobody
На:
nginx nginx
Запускаем php-fpm:
service php-fpm start
7. Настраиваем nginx:
chkconfig nginx on
nano /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 kens.me www.kens.me; location / { root /home/kensftp/kens.me; 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/kensftp/kens.me$fastcgi_script_name; include fastcgi_params; } ========
В worker_processes пишем колличество cpu в системе(у нас 1), kens.me — это имя сайта, который
мы будем хостить на сервере, kensftp — пользователь ftp.
Запускаем nginx:
service nginx start
8. Делаем так, чтоб phpMyAdmin был нам доступен по адресу http://kens.me/myadmin
ln -s /usr/share/phpMyAdmin /home/kensftp/kens.me/myadmin
9. После всего этого заходим на созданный нами ftp, используя данные, которые мы прописали в пункте 4, делаем
дирректорию kens.me и заливаем в нее контент сайта. Также, используя данные доступа root к mysql,
с помощью phpMyAdmin, создаем и заливаем базу данных.
Источник: 100.org.ua/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-nginx-php-fpm-%D0%BD%D0%B0-centos/