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

22/02/2013
от
Поделиться

Начнем с того что установка 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, создаем и заливаем базу данных.

 

Источник
Поделиться

Метки: , , , , , ,

Ответить

Вы должны войти в систему, чтобы оставить комментарий.