Установка и настройка nginx + php-fpm на CentOS

Начнем с того что установка 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 строки:

<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

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/

Запись опубликована в рубрике *CentOS. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91