бесплатно с городских телефонов Украины
Киев | 044 392-73-56 |
Харьков | 057 728-49-18 |
Днепр | 056 790-86-00 |
Одесса | 048 734-56-54 |
Львов | 032 229-58-50 |
Николаев | 051 270-12-63 |
Полтава | 053 262-53-74 |
Запорожье | 061 228-69-91 |
Стек LEMP (Linux, nginx, MySQL, PHP) — является набором открытых программных продуктов для запуска веб-серверов.
Сокращение LEMP образовано по первых буквам названий входящих в пакет продуктов - Linux, Nginx (произносится как Engine x), MySQL, PHP.
Прежде чем приступить к установке необходимо подключиться к серверу по ssh.
Nginx является веб-сервером и почтовым прокси-сервером, работающим на Unix-подобных операционных системах.
Устанавливаем epel-release:
sudo yum install epel-release
Запускаем установку Nginx:
sudo yum install nginx
Запускаем Nginx:
sudo systemctl start nginx
Видим ошибку:
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
Данная ошибка возникает т.к порт 80 уже прослушивается.
Чтобы в этом убедиться устанавливаем net-tools
sudo yum install net-tools
И после этого вводим команду:
netstat -ntupl | grep 80
Если 80 порт занят, тогда останавливаем его:
sudo systemctl stop httpd.service
Затем выполняем повторно запуск Nginx:
sudo systemctl start nginx
Теперь вводим IP адрес сервера в браузере и проверяем появляется ли стартовая страница nginx.
Страница не появилась.
Причина в iptables и для решения проблемы необходимо выполнить в терминале команду:
sudo iptables -I INPUT 4 -p tcp --dport 80 -j ACCEPT
Теперь открыв IP адрес сервера в браузере мы увидим стартовую страницу nginx.
Включаем Nginx для запуска при загрузке:
sudo systemctl enable nginx
MariaDB является ответвлением от системы управления базами данных MySQL, разрабатываемым сообществом.
Устанавливаем MariaDB и вспомогательные пакеты:
sudo yum install mariadb-server mariadb
Запускаем MariaDB:
sudo systemctl start mariadbЗапускаем сценарий безопасности, позволяющий удалить некоторые опасные значения по умолчанию, а так же ограничить доступ к системе баз данных:
sudo mysql_secure_installation
После выполнения запроса появится уведомление с запросом пароля root.
Т.к MySQL был только что установлен и пароля root нет, необходимо просто нажать enter.
После этого необходимо нажать клавишу 'y', чтобы задать пароль для пользователя root.
После назначения пароля и подтверждения пароля появится уведомление, на изображении 10.
Для остальных вопросов необходимо просто нажать клавишу enter в каждом вопросе, чтобы принять значения по умолчанию:
Включаем MariaDB для запуска при загрузке:
sudo systemctl enable mariadb
sudo yum install php php-mysql php-fpmВносим изменения в конфигурацию php для большей безопасности. В примере используется текстовый редактор nano, для установки которого требуется выполнить команду:
yum install nanoОткрываем основной файл конфигурации php-fpm:
sudo nano /etc/php.iniМеняем значение
;cgi.fix_pathinfo=1на значение
cgi.fix_pathinfo=0Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter Далее открываем файл конфигурации php-fpm www.conf:
sudo nano /etc/php-fpm.d/www.confМеняем значение
listen = 127.0.0.1:9000на значение
listen = /var/run/php-fpm/php-fpm.sockВ том же файле меняем значения
;listen.owner = nobodyна значения
;listen.group = nobody
listen.owner = nobodyВ том же файле меняем значения
listen.group = nobody
user = apacheна значения
group = apache
user = nginxСохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter. Запускаем php:
group = nginx
sudo systemctl start php-fpmВключаем php для запуска при загрузке:
sudo systemctl enable php-fpm
sudo nano /etc/nginx/nginx.confМеняем следующие строки:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
меняем на следующие строки (вместо ip адреса 93.190.42.52 необходимо указать ip адрес собственного севрера):server {
listen 80;
server_name 93.190.42.52;
# note that these lines are originally from the "location /" block
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;
}
}
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.sudo systemctl restart nginx
sudo nano /usr/share/nginx/html/info.phpУказываем в файле следующий код:
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
См.также: