AIM:
- Требуется запустить приложение WordPress и узла на одном и том же ec2.
- Развертывание приложения WordPress и узла, используя ElasticBeanstalk.
- Выбранная платформа ElasticBeanstalk - PHP
- У меня есть две папки в корневой папке - WordPressSite и NodeApp.
- Сайт WordPress работает по умолчанию, как и ожидалось, так как выбранная платформа EB - PHP
- NodeApp не работает на порте 3000.
Пробовал после
- Письменные команды и команды контейнера помещали их .ebextensions - которыйустановит, создаст узел, npm и запустит приложение узла
- Проверьте ниже файл конфигурации ebextension.
commands:
01_node_download:
cwd: /tmp
test: '[ ! -f /usr/bin/node ] && echo "node not installed"'
command: 'sudo curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -'
02_node_install:
cwd: /tmp
test: '[ ! -f /usr/bin/node ] && echo "node not installed"'
command: 'sudo yum -y install nodejs'
03_create_post_dir:
command: "mkdir /opt/elasticbeanstalk/hooks/appdeploy/post"
ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/npm_run_job.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
cd /var/app/current/NodeApp
npm run start
container_commands:
03_npm_install:
cwd: /var/app/ondeck/NodeApp
command: 'sudo npm install'
04_npm_config_set:
cwd: /var/app/ondeck/NodeApp
command: 'npm config set scripts-prepend-node-path auto'
Объяснение файла конфигурации
- Мы написали команды для установки узла.
- Создана папка для выполнения после развертывания, если она не существует.
- Записанные файлы: скрипт, содержащий код для запуска пакета после развертывания, который содержитnpm run start (общий узелскрипт запуска приложения)
- Контейнерные команды для установки узловых модулей и установки нескольких флагов.
Результат
- Когда мы делаем ebdeploy, eb status никогда не завершает процесс - из-за выполнения «npm run start» на платформе php при развертывании. Развертывание выполняется в течение очень долгого времени, пришлось вручную прервать операцию, без регистрации, почему это не работает.
- Попытка развернуть код без файлов: сценарий после развертывания, развертывание работает нормально, всеМодули узлов и другие команды были выполнены без проблем. Вручную ssh to ec2 и выполнив команду «npm run start» в папке приложения узла, это не вызывает ошибок и запускает. приложение узла на 3000.
- Когда мы пытаемся выполнить одну и ту же команду с помощью расширений ebextensions после развертывания или команды или container_commands, процесс развертывания eb не отвечает в течение длительного времени - приложение узла также работает, ноasticbeanstalkРазвертывание не отвечает?
Итак, вопрос в том, можем ли мы запустить приложение узла с помощью команд eb на php-платформе Flexiblebeanstalk?