Как установить LEMP на Ubuntu 16.04

Автор mordeniuss

Мы покажем вам, как установить LEMP на Ubuntu 16.04. LEMP (Linux, Nginx, MySQL, PHP), не следует путать с популярным стеком LAMP (Linux, Apache, MySQL, PHP). Этот туториал предназначен для стека LEMP (Nginx), который обычно используется на серверах Ubuntu 16.04. Установка LEMP на Ubuntu 16.04 не должна занимать более 10 минут. Начнем установку.

1. Обновление сервера

Убедитесь, что все установленные пакеты на вашем VPS обновлены.

apt-get update && apt-get upgrade

2. Установка Nginx

Перед установкой веб-сервера Nginx убедитесь, что на VPS нет другого веб-сервера, например, Apache. Если веб-сервер Apache запущен, остановите его:

systemctl stop apache2

И удалите его с вашего сервера:

apt-get remove --purge apache2

Теперь запустим установку Nginx:

apt-get install nginx

3. Запуск Nginx

После его установки запустите веб-сервер и включите его для автозапуска:

systemctl start nginx
systemctl enable nginx

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

systemctl status nginx

Вывод команды выше должен быть похож на:

   nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running)
   Main PID: 5926 (nginx)
   CGroup: /system.slice/nginx.service
           ├─5926 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           ├─5927 nginx: worker process
           └─5928 nginx: worker process

Вы также можете проверить работу nginx, открыв http://ВАШ_IP в браузере.

4. Установка PHP-FPM

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

apt-get install php-fpm php-mysql

5. Настройка PHP-FPM

После установки, нужно настроить конфиг PHP и изменить значение параметра cgi.fix_pathinfo с 1 до 0.

Чтобы найти файл php.ini выполните следующую команду:

php --ini |grep Loaded
Loaded Configuration File:         /etc/php/7.0/cli/php.ini

Нужно отредактировать /etc/php/7.0/cli/php.ini и внести изменения:

vi /etc/php/7.0/cli/php.ini
cgi.fix_pathinfo=0

Сохраните изменения и перезапустите PHP-FPM:

systemctl restart php7.0-fpm

6.Настройка веб-сервера Nginx

Следующий шаг — настройка Nginx для использования PHP. Мы изменим стандартный server block и добавим/раскомментируем блок location ~\.php$

vi /etc/nginx/sites-available/default
server {
        listen 80 default_server;
        
       root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
}

Сохраним изменения и проверим новый конфиг.

nginx -t 

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

7. Перезапуск веб-сервера Nginx

Если не возникли ошибки, то нужно перезапустить nginx.

systemctl restart nginx

8. Установка сервера MySQL

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

apt-get install mysql-server

Во время установки вам предложат ввести пароль для root пользователя MySQL. Обязательно используйте надежный пароль (комбинация букв и цифр и минимум 10 символов) для пользователя root.

9. Запуск MySQL

Запустите MySQL и добавьте его в автоматическую загрузку.

systemctl start mysql
systemctl enable mysql

Вы успешно установили стек LEMP на ваш сервер Ubuntu 16.04

Похожие посты

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