Установка LEMP сервера на UBUNTU

LEMP сервер (Linux NGINX MySQL PHP) сервер является альтернативой LAMP, в котором вместо Apache используется веб-сервер NGINX. Я не буду подробно рассказывать о разнице между этими двумя сервисами, опишу лишь процедуру установки. Ставить будем на Ubuntu 16.04.1 LTS x64, на которой предварительно установлен лишь sshd.

Обновляем систему и ставим необходимые пакеты.

$ apt-get update && apt-get upgrade
$ apt-get install nginx mysql-server php-fpm php-mysql

Проверим, открывается ли дефолтная страница http://hostip

Теперь подцепим к nginx обработчик php-fpm (обратите внимание, какая версия php-fpm у вас установилась, от этого зависит расположение сокета). Для этого отредактируем конфигурационный файл, протестируем его и перезапустим сервис, а также проверим, запустился ли php-fpm.

$ nano /etc/nginx/sites-available/default
server {
 listen 80 default_server;
 root /var/www/html;
 index index.php index.html index.htm;
 
 server_name _;
 
 location / {
 try_files $uri $uri/ =404;
 }
 location ~ \.php$ {
 include snippets/fastcgi-php.conf;
 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 }
}

Теперь создадим файл /var/www/html/index.php и добавим в него код, выводящий php info:

<?php
phpinfo();
?>

Тестируем и перезапускаем конфигурацию:

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ service nginx reload

Если все сделано правильно — по адресу http://hostip вы должны увидеть вывод функции phpinfo().

Установка PHPMyAdmin на Nginx
$ apt-get install phpmyadmin

PMA будет открываться по ссылке http://hostip/pma. При установке свои файлы он складывает в /usr/share/phpmyadmin/. Этот путь нам нужно добавить в конец конфигурации nginx вместе с прочими параметрами, необходимыми для работы PMA.

$ nano /etc/nginx/sites-available/default
server {
 listen 80 default_server;
 root /var/www/html;
 index index.php index.html index.htm;
 
 server_name _;
 
 location / {
 try_files $uri $uri/ =404;
 }
 location ~ \.php$ {
 include snippets/fastcgi-php.conf;
 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 }
### PMA config start ###
 location /pma/ {
  alias /usr/share/phpmyadmin/;
  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_ignore_client_abort off;
  }
  location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    access_log    off;
    log_not_found    off;
    expires 1M;
  }
} 
### PMA config end ###
}

Снова тестируем и перезапускаем конфигурацию:

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ service nginx reload

Оставить ответ

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