Минимальный nginx vhost для laravel вот так, на сервере ubuntu правильное место для этого vhost: /etc/ngixt/sites-available.
#laravel.conf
server {
listen 80;
root /var/www/html/project_name/public;
index index.php index.html index.htm;
server_name api.example.com www.api.example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Минимальный nginx vhost для vuejs такой же, как ивы всегда можете использовать pm2 для запуска вашего приложения vue js в перикулярном порту, например 8080,8081, ... для передачи прокси
#vue.conf
server {
listen 80;
index index.html;
server_name example.com www.example.com;
location / {
proxy_pass http://localhost:8080;
}
}
Не забудьте создать символическую ссылку на включенных сайтах
# ln -s /etc/nginx/sites-enabled/laravel.conf /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-enabled/vue.conf /etc/nginx/sites-enabled/
# service ntinx -t
# service nginx restart
Дополнительно вы можете добавить конфигурации ssl и многое другое,