sudo apt update
sudo apt install nginx
sudo apt install mysql-server
после установки команда
sudo mysql
будет открывать sql-консольный клиентmysql
bash - запуск консоли
mysql
:
sudo mysql
mysql - задать тип аутентификации пользователя
root
с паролемroot
:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
Теперь вход в консоль
mysql
изbash
будет выполняться командой:
mysql -u root -p
sudo add-apt-repository universe
sudo apt install php-fpm php-mysql
Открыть файл конфигурации
/etc/nginx/sites-available/default
Вставить в него следующий текст, заменить {CUR_DIR} на путь, где лежит данный файл README.md
server {
listen 80;
root {CUR_DIR};
index index.php index.html index.htm index.nginx-debian.html;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Пояснения:
listen
— определяет, что будет прослушивать порт Nginx. В данном случае он будет прослушивать порт 80, используемый по умолчанию для протокола HTTP.
root
— определяет корневой каталог документа, где хранятся файлы, обслуживаемые сайтом. index — задает для Nginx приоритет обслуживания файлов с именем index.php (при наличии) при запросе файла индекса.
server_name
— определяет, какой серверный блок должен использоваться для заданного запроса вашего сервера. Эта директива должна указывать на доменное имя или публичный IP-адрес вашего сервера.
location /
— первый блок расположения включает директиву try_files, которая проверяет наличие файлов, соответствующих запросу URI. Если Nginx не сможет найти соответствующий файл, будет возвращена ошибка 404.
location ~ \.php$
— этот блок расположения отвечает за фактическую обработку PHP посредством указания Nginx на файл конфигурации fastcgi-php.conf и файл php7.2-fpm.sock file, который объявляет, какой сокет ассоциирован с php-fpm.
location ~ /\.ht
— последний блок расположения отвечает за файлы .htaccess, которые Nginx не обрабатывает. При добавлении директивы deny all из файлов .htaccess в корневой каталог документа они не будут выводиться посетителям.
Далее перезапустить
nginx
sudo service nginx restart
теперь по адресу http://localhost
сайт доступен