diff options
Diffstat (limited to 'LINUX/LEMP.md')
| -rw-r--r-- | LINUX/LEMP.md | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/LINUX/LEMP.md b/LINUX/LEMP.md new file mode 100644 index 0000000..ed55edc --- /dev/null +++ b/LINUX/LEMP.md @@ -0,0 +1,119 @@ +`Sudo apt update && sudo` +`apt install nginx` +`sudo ufw app list` +`sudo ufw allow 'Nginx HTTP'` +`sudo ufw status` +`ip addr show` +`hostname -I` +`curl -4 icanhazip.com` + +## MySQL : + +`sudo apt install mysql-server` +`sudo mysql_secure_installation` + +Вам будет задан вопрос, хотите ли вы настроить `**VALIDATE PASSWORD PLUGIN**`**.** +Ответьте `Y`«да» или что-нибудь еще, чтобы продолжить без включения, + +Если вы ответите «да», вам будет предложено выбрать уровень проверки пароля. Имейте в виду, что если вы войдете `2`на самый сильный уровень, вы получите ошибки при попытке установить любой пароль, не содержащий цифр, прописных и строчных букв и специальных символов: + +Независимо от того, решили ли вы настроить `**VALIDATE PASSWORD PLUGIN**`, ваш сервер попросит вас выбрать и подтвердить пароль для пользователя **root** MySQL . Его не следует путать с **корнем системы**. Пользователь **root базы данных** — это пользователь-администратор с полными привилегиями в системе базы данных. Несмотря на то, что метод аутентификации по умолчанию для пользователя root MySQL не требует использования пароля, **даже если он установлен**, вам следует определить здесь надежный пароль в качестве дополнительной меры безопасности. + +Чтобы ответить на остальные вопросы, нажмите `Y`и ударьте `ENTER`клавишу при каждом подсказке. Это приведет к удалению некоторых анонимных пользователей и тестовой базы данных, отключению удаленного входа в систему с правами root и загрузке этих новых правил, чтобы MySQL немедленно принял внесенные вами изменения. + +Когда вы закончите, проверьте, можете ли вы войти в консоль MySQL: + +`sudo mysql` +`sudo mysql -**_``_**u root -p**_` + + +## PHP : + + +'sudo apt install php8.1-fpm php-mysql' +'sudo mkdir /var/www/your_domain' +`sudo chown -R $USER:$USER /var/www/` +`sudo vim /etc/nginx/sites-available/` + +`_server {_` + `_listen 80;_` + `_server_name your_domain www.your_domain;_` + `_root /var/www/your_domain;_` + + `_index index.html index.htm index.php;_` + + + +`_location / {_` +`_try_files $uri $uri/ =404;_` +`_}_` + +`_location ~ \.php$ {_` +`_include snippets/fastcgi-php.conf;_` +`_fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;_` +`_}_` + +`_location ~ /\.ht {_` +`_deny all;_` +`_}_` + +`_}_` + + +`listen` — Определяет, какой порт будет прослушивать Nginx. + +`root` — Корень документа, в котором хранятся файлы, обслуживаемые этим веб-сайтом. + +`Index` — Определяет, в каком порядке Nginx будет отдавать приоритет индексным файлам для этого веб-сайта. Обычной практикой является перечисление `index.html` файлов с более высоким приоритетом, чем `index.php` у файлов, чтобы можно было быстро настроить целевую страницу обслуживания в приложениях PHP. Вы можете настроить эти параметры, чтобы они лучше соответствовали потребностям вашего приложения. + +`server_name` — Определяет, за какие доменные имена и/или IP-адреса должен отвечать этот блок серверов. +**Укажите в этой директиве доменное имя или общедоступный IP-адрес вашего сервера.** + +`Location /` — Первый блок местоположения включает `try_files` директиву, которая проверяет наличие файлов или каталогов, соответствующих запросу URL. Если Nginx не сможет найти подходящий ресурс, он вернет ошибку 404. + +`location ~ \.php$` — Этот блок местоположения управляет фактической обработкой PHP, указывая Nginx на `fastcgi-php.conf` файл конфигурации и `php8.1-fpm.sock` файл, который объявляет, какой сокет связан с `php8.1-fpm`. + +`location ~ /\.ht` — Последний блок _**location**_ касается `.htaccess` файлов, которые Nginx не обрабатывает. Благодаря добавлению `deny all` директивы, если какие-либо `.htaccess` файлы попадут в корень документа, они не будут доставлены посетителям. + + +Активируйте свою конфигурацию, связавшись с файлом конфигурации из `sites-enabled` каталога Nginx: + +`sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/` + +Затем отсоедините файл конфигурации по умолчанию от `/sites-enabled/` каталога: + +`sudo unlink /etc/nginx/sites-enabled/default` + +`sudo nginx -t` +- проверить конфигурацию` + +`sudo systemctl reload nginx` + +`nano /var/www//index.html` + +`<html>` +`<head>` +`<title>your_domain website</title>` +`</head>` +`<body>` +`<h1>Hello World!</h1>` + +`<p>This is the landing page of <strong>your_domain</strong>.</p>` +`</body>` +`</html>` + +***/etc/_nginx/nginx.conf*** +***nginx -s*** - сигнал + +_Где сигнал может быть одним из нижеследующих:_ + +_**stop** — быстрое завершение_ +_**quit** — плавное завершение_ +_**reload** — перезагрузка конфигурационного файла_ +_**reopen** — переоткрытие лог-файлов_ + + +_Директивы, помещённые в конфигурационном файле вне любого контекста, считаются находящимися в контексте main. Директивы events и http располагаются в контексте main, server — в http, а location — в server._ + + +_В случае если что-то работает не как ожидалось, можно попытаться выяснить причину с помощью файлов access.log и error.log из каталога ==/var/log/nginx ( /usr/local/nginx/logs )==
\ No newline at end of file |
