1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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 )==
|