Установка LEMP на Ubuntu
Установка и базовая настройка Nginx, php-fpm, MySQL на Ubuntu
Al-Sher
В своей статье про установку LEMP я говорил, что расскажу про установку LEMP на Ubuntu. Этот момент настал ?
Установка Nginx
Начнем мы сразу же с установки Nginx:
sudo apt-get install nginx
Если вдруг ваш сервер не смог найти данный пакет, то добавим репозиторий nginx:
- загружаем ключ:
wget http://nginx.org/keys/nginx_signing.key
- Добавляем ключ в apt:
sudo apt-key add nginx_signing.key
- Добавляем ссылки в конец файла /etc/apt/sources.list:
deb http://nginx.org/packages/ubuntu/ codename nginx deb-src http://nginx.org/packages/ubuntu/ codename nginx
Где codename - кодовое название сборки(12.04 - precise; 14.04 - trusty; 16.04 - xenial)
- Устанавливаем Nginx:
sudo apt-get install nginx
Если nginx запустился без ошибок, то, при переходе на ip адрес сервера, Вы получите приветствующее окно:
Установка mysql
Как и в прошлый раз, для mysql мы будем использовать Mariadb:
sudo apt-get install mariadb-server mariadb-client
Если у вас в репозиториях, вдруг, не оказалось mariadb, то добавляем необходимые ссылки в конец файла /etc/apt/sources.list:
deb [arch=amd64,i386] http://mirror.mephi.ru/mariadb/repo/10.1/ubuntu codename main
deb-src http://mirror.mephi.ru/mariadb/repo/10.1/ubuntu codename main
Где codename - кодовое название сборки(12.04 - precise; 14.04 - trusty; 16.04 - xenial).
Далее настраиваем нашу БД:
/usr/bin/mysql_secure_installation
Процесс настройки описан в статье Установка LEMP.
Установка PHP
Установим PHP, используя команду
sudo apt-get install php php-fpm
У меня, на Ubuntu 16.04, установился php7, чему я очень рад.
Так как у вас может быть иная версия php, то и инструкция может немного отличаться. Давайте сначала посмотрим php.ini, который будет использоваться для php-fpm:
nano /etc/php/7.0/fpm/php.ini
Здесь Вы можете настроить php под свои нужды. Так же нам не помешало бы настроить php-fpm:
nano /etc/php/7.0/fpm/pool.d/www.conf
тут нам необходимо изменить user и group на nginx, а так же listen на /run/php/php7.0-fpm.sock. Еще следует посмотреть такие переменные, как listen.owner, listen.group, listen.mode.
Перезагружаем php-fpm:
service php7.0-fpm restart
При возникновении ошибок смотрим и анализируем наши логи.
Ну не будем заострять внимание на этом и перейдем к настройке хостов ✌
Добавление хоста
Создаем папку для сайта, а так же передаем её пользователю nginx:
mkdir -p /var/www/site.ru
chown -R nginx:nginx /var/www/site.ru
Меняем пользователя, от чьего имени будет запускаться nginx, в файле /etc/nginx/nginx.conf:
user www-data;
Меняем на
user nginx;
Скопируем default конфигурацию виртуального хоста:
cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/site.ru.conf
После этого настраиваем наш site.ru:
nano /etc/nginx/sites-enabled/site.ru.conf
Заменив его содержимое на:
server {
server_name site.ru www.site.ru;
access_log /var/log/nginx/site.ru-access.log;
error_log /var/log/nginx/site.ru-error.log;
root /var/www/site.ru;
location / {
index index.html index.htm index.php;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
Сохраняем и проверяем конфигурацию nginx:
nginx -t
Если всё successful, то перезагружаем nginx:
service nginx restart
Заключение
Описывать повторно способ проверки работоспособности хоста не вижу, ведь Вы в любой момент можете почитать о нем тут, но всё же, если у вас вдруг возникнут какие-нибудь проблемы, то пишите их в комментариях и я постараюсь Вам помочь ✌