Установка Nginx+MySQL+PHP на CentOS Linux

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА
Регистрация
2 Июн 2018
Сообщения
116
Реакции
58
Репутация
0
Эта инструкция предназначена для базовой установки и настройки стека LEMP (Linux+Nginx+MySQL+PHP) на

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

с операционной системой CentOS 7.




Установка Nginx

1) Перед началом установки обновите пакеты операционной системы до актуальных версий:

sudo yum update -y

2) Для установки Nginx нужно добавить репозиторий:

sudo rpm -Uvh

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.







3) После добавления репозитория, устанавливаем сам Nginx:

sudo yum install nginx -y





4) Для проверки работы Nginx нам нужно открыть порты 80 и 443, для этого последовательно выполняем команды:

firewall-cmd --permanent --zone=public --add-service=http

firewall-cmd --permanent --zone=public --add-service=https

firewall-cmd --reload





5) Запускаем Nginx:

sudo systemctl start nginx.service

6) И добавляем Nginx в автоматическую загрузку при перезапуске сервера:

sudo systemctl enable nginx.service

7) Теперь можно проверить работу Nginx. Для этого введите ip-адрес виртуального сервера в браузере. Вам должна открыться стандартная страница приветствия. Если она открывается, значит Nginx установлен.



Установка MySQL (MariaDB)

8) Мы будем устанавливать не MySQL, а аналог MariaDB, так как он представляет ряд преимуществ для администраторов. Вводите команду:

sudo yum install mariadb-server mariadb -y

9) Запускайте MariaDB:

sudo systemctl start mariadb

10) Далее нужно настроить безопасность баз данных. При первом заходе будет запрошен пароль, если вы его не установили, то он пустой, нужно нажать просто Enter:

sudo mysql_secure_installation



В процессе будут заданы несколько вопросов, после согласия с ними клавишу “y”.





11) В конце добавляем для MariaDB автоматический запуск:

sudo systemctl enable mariadb.service


Больше никаких настроек для баз данных не нужно.


Установка и настройка PHP

12) Установим PHP и необходимые компоненты для работы с Nginx и MariaDB:

sudo yum install php php-mysql php-fpm -y

13) Нужна небольшая настройка PHP. Открывайте файл:

sudo nano /etc/php.ini



В самом конце дописывайте данную строку:

cgi.fix_pathinfo=0



Сохраняйте файл комбинацией клавиш CTRL+X.





14) Далее редактируйте еще один файл:

sudo nano /etc/php-fpm.d/

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.





Нужно найти строку “listen =” и изменить ее значение. Должно быть вот так:

listen = /var/run/php-fpm/php-fpm.sock



Сохраняем файл комбинацией клавиш CTRL+X.





15) Всё. Осталось запустить PHP:

sudo systemctl start php-fpm
16) И включить автоматическую загрузку при старте виртуального сервера:

sudo systemctl enable php-fpm.service




Установка и настройка Nginx



17) Нужно настроить Nginx на работу с PHP. Открывайте файл:

sudo nano /etc/nginx/conf.d/default.conf



Удаляйте все данные из него и вписывайте данный код, в третьей строке нужно указать домен или ip-адрес виртуального сервера и сохраняем комбинацией клавиш CTRL+X::



server {
listen 80;
server_name домен_или_IP_сервера;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
} error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}





18) Перезапускаем Nginx, чтобы все изменения вступили в силу:

sudo systemctl restart nginx

19) Далее нужно протестировать все настройки. Создаем файл для проверки работы:

sudo nano /usr/share/nginx/html/info.php

20) Вписываем в него строку и сохраняем комбинацией клавиш CTRL+X:

<?php phpinfo(); ?>





21) Заходите по адресу в браузере —

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.



Если все настроено правильно, будет показана данная страница:



22) Важно удалить файл, так как он доступен каждому неавторизованному посетителя. Из него можно узнать параметры настройки сервера:

sudo rm /usr/share/nginx/html/info.php



Все. Базовая настройка стека LEMP на виртуальном сервере с операционной системой CentOS 7 выполнена.
 
Сверху