Пятница, 03 февраля 2017 00:16

Nginx | php-fpm и joomla

Оцените материал
(6 голосов)

Рассказ о настройке web-сервера, как обычно, пойдет у нас в контексте Amazon, уровень сервиса которого, на мой субъективный взгляд, превосходен...

...особенно на фоне моих безуспешных попыток получить тестовый VDS хотя бы на одном из отечественных хостингов. Возможно, где-то это и возможно, но вот у меня навскидку не получилось: предприняв три или четыре безуспешные попытки, в ходе которых мне под надуманными предлогами отказывали в тестовом периоде, предложенным обычно на красочной главной странице хостинга... я плюнул и зарегистрировал на Амазоне еще один аккаунт (бесплатный тестовый период в течение 12 месяцев, и это без никакой переписки с мальчиками/девочками из полуграмотного саппорта - почувствуйте разницу). Итак:

 

Разработка сайтов

 

Выбираем Red Hat Enterprise Linux version 7.3 (HVM), EBS General Purpose (SSD) Volume Type и далее проходим шаг за шагом Choose Instance Type, Configure Instance, Add Storage, Add Tags, Configure Security Group, Review. Как правило, все, что от вас требуется - это нажимать на Next, ну еще открыть как минимум 80 порт (уж коли web-сервер) и скачать key.pem, которым будете заходить на сервер по ssh/scp. Седьмой PHP поставим из webtatic:

 

sudo yum update
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w-fpm php71w-opcache php71w-mysql
sudo yum install nginx
sudo yum install mariadb-server mariadb

 

Про конфигурирование mariadb можно почитать, скажем, в материале по ссылке, все то же самое. Сразу после запуска mysql_secure_installation скрипта - заходим уже под только что установленным паролем, создаем базу данных и привилегированного пользователя:

 

$ sudo mysql -u root -p
CREATE DATABASE 'first';
CREATE USER first@localhost IDENTIFIED BY 'здесь_вводим_произвольный_пароль';
GRANT ALL PRIVILEGES ON first.* TO first@localhost;

 

Стартуем сервисы:

 

sudo systemctl start nginx
sudo systemctl start php-fpm
sudo systemctl start mariadb

 

Dev banner 1

 

Внимание; если, после конфига /etc/my.cnf и перезапуска mariadb вы получаете ошибку - Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details - ничего страшного; возможно, вы просто забыли добавить еще одну пустую линию после !includedir /etc/my.cnf.d ?

 

Включаем в автозапуск:

 

$ sudo systemctl enable nginx
$ sudo systemctl enable php-fpm
$ sudo systemctl enable mariadb


либо так:

 

$ sudo chkconfig nginx on
$ sudo chkconfig php-fpm on
$ sudo chkconfig mariadb on

 

Собственно, "чтоб заработало", нам потребуется отредактировать всего лишь два конфига, остальное - уже в процессе, на любителя, ну и в зависимости от ресурсов сервера, конечно. Карандаши на вкус - все, как известно, разные (да, и не забудьте установить mc):

 

$ sudo mcedit /etc/php-fpm.d/www.conf
$ sudo mcedit /etc/nginx/conf.d/default.conf

 

В первом обязаны присутствовать следующие директивы:

 

Listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0600
user = nginx
group = nginx

 

Второй конфиг "спецом под Joomla" способен выглядеть, например, следующим образом (опубликован на форуме, welcome по ссылке); и теперь можно распаковывать ваш Joomla-сайт. Что еще? - пожалуй, получится очень неплохо, если подарите публичный каталог nginx:

 

$ sudo chown -R nginx:nginx /var/www

 

Все ведь уже работает, правда?

 

Последнее изменениеПятница, 03 февраля 2017 01:05

Оставить комментарий

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

Web Development Masterpro

Read more