В производственной среде
Вот моя обычная стратегия развертывания
Я использую Nginx в качестве статического веб-сервера и HTTP-прокси
Я использую pm2 для управления API-интерфейсом узла
PM2 - отличный инструмент для управления процессами с несколькими функциями
Итак, вам нужно построить (возможно, npm run build
) ваше приложение vue js, тогда вы получите ваши статические ресурсы в папке dist / build, содержащей только статический контент, с index.html в качестве точки входа
Запустите сервер вашего узла с pm2, как показано ниже
pm2 start server.js --name='api'
Вот пример конфигурации Nginx, проксирующий API узла и обслуживающий статический контент, который он находит по адресу /etc/nginx/sites-available/default
server {
listen *:80;
server_name localhost; ## could be www.yourdomain.com
location / {
root /home/me/myapp/dist; # your app build path
try_files $uri index.html;
}
location /api {
proxy_pass http://localhost:5678/api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_connect_timeout 600000;
proxy_send_timeout 600000;
proxy_read_timeout 600000;
send_timeout 600000;
gzip on;
gzip_proxied any;
gzip_types
application/json;
}
Итак, что вы в основном получаете, это приложение Vueдля порта 80 по умолчанию, поэтому вам не нужно указывать порт, и ваш API будет находиться в / api, поэтому ваше приложение vue будет на youdomain.com , а API на youdomain.com /API
В среде разработки
Я обычно не против запустить мой API и интерфейс с двумя командами.Я запускаю их в отдельном терминале для отладки и разработки отдельно.
if you really care about starting them in the single command
Что вы можете сделать, это создать новую команду в вашем пакете. Json
"start":"npm run server && npm run client"