Я хотел разместить приложение с двумя узлами на одном компьютере с Linux от AWS EC2. Где я могу запустить среду разработки и промежуточную среду. Я заметил, что мне придется использовать разные порты в обоих приложениях, но это не та проблема, с которой я сталкиваюсь.
Используя промежуточную сторону, которая всегда работала с предыдущими блоками, на которой я ее начал, сначала иду, проверяя, работает ли она, прежде чем пробовать разные порты.
У меня есть backend node.js, использующий экспресс и статическую веб-страницу, созданную с помощью Vue CLI. Где экспресс-приложение будет использовать app.use(express.static('static'));
для размещения статической веб-страницы. Затем продолжите хостинг на PM2 с pm2 start /directoryToDist/main.js
. После запуска демона я выполнил curl http://localhost:80/
, но он возвращает HTML-страницу с ошибкой Cannot GET /
.
Когда я сделал npm install
, npm rebuild
и npm build
в обоих приложениях. Убедитесь, что папка dist
собрана правильно. Затем сделали sudo -i
и pm2 start /directoryToDist/main.js
. Убедившись, что приложение узла запущено, я сделал ps -ef | grep js
, чтобы показать, что оно работает так же. В смонтированном приложении pm2 перезапусков нет, и все прошло гладко. Я сделал curl http://localhost/
после и он вернул Cannot GET /
.
Я выполнил передачу работающего приложения в zip-файле в предыдущих окнах, произвел необходимую установку npm и запустил его. Ожидал, что он будет работать как предыдущие блоки, но это не так. показывая ту же ошибку Cannot GET /
.
Node js build script
"build": "rimraf dist/ && babel ./ --out-dir dist/ --ignore ./node_modules,./babelrc,./package.json,/.npm-debug-log,./static/* --copy-files"
Vue js build script
"build": "node build/build.js"
Перестройте скрипт, который я использую
cd api
npm run build
cd ..
cd pwa
npm run build
cd ..
sudo rm -rf api/dist/static
sudo mkdir -p api/dist/static
sudo cp -r pwa/dist/* api/dist/static/
sudo chown -R ubuntu.ubuntu *
Дайте мне знать, если вам нужно больше
Фактическим результатом является подача правильного сообщения 200
в curl перед передачей домена на определенный порт.