Устанавливаем nginx
sudo apt install nginx
По умолчанию создается конфигурация с пользователем www-data. Меняем его на текущего пользователя.
sudo sed -i 's/www\-data/seligoroff/g' /etc/nginx/nginx.conf
Устанавливаю php
sudo apt install php7.4
sudo apt install php7.4-dev
sudo apt install php7.4-mysql
sudo apt install php7.4-zip
sudo apt install php7.4-fpm
По умолчанию php-fpm тоже сконфигурирован для пользователя www-data.
seligoroff@NB-SELIVANOV:~$ grep www-data /etc/php/7.4/fpm/pool.d/www.conf
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
Заменяем на текущего пользователя.
sudo sed -i 's/www\-data/seligoroff/g' /etc/php/7.4/fpm/pool.d/www.conf
Запускаем сервисы
sudo service php7.4-fpm start
sudo service nginx start
Создаю laravel-проект.
composer create-project laravel/laravel mylaravel
Генерируем ключ приложения
cd mylaravel/
php artisan key:generate
Создаем конфигурационный файл /etc/nginx/sites-available/test.conf
server {
listen 80;
root /home/seligoroff/mylaravel/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name test.test;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_buffering off;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Добавляем конфиг в используемые и рестартуем nginx:
sudo ln -s /etc/nginx/sites-available/test.conf /etc/nginx/sites-enabled/
sudo service nginx restart
На windows добавляем в файле hosts
127.0.0.1 test.test
Заходим в браузере под указанным доменом: