Я написал сценарий для развертывания кода в экземпляр EC2 с использованием AWS Code Deploy, мои файлы копируются в пункт назначения, затем мои крючки запускаются, удаляются команды, команды CD работают нормально, но когда следующая команда:/usr/bin/env: node: Permission denied for nodejs с использованием AWS Code Deploy
/usr/bin/node/bin/forever start /home/ubuntu/codebase/app/bin/www
Я получаю следующее сообщение об ошибке и развертывания не удается:
/usr/bin/env: node: Permission denied
Я установки версии узла v4.4.0, загрузив с помощью wget, а затем добавление следующих путей к bashrc:
export NODEJS_HOME=/usr/share/nodejs/bin
export PATH=$PATH:$NODEJS_HOME
Я также добавил ссылку:
sudo ln -s /usr/share/nodejs/
Мои appspec.yml крюки:
ApplicationStart:
- location: scripts/start_server.sh
timeout: 30
runas: ubuntu
Вопросы:
- Почему я получаю «узел: доступ запрещен ' ошибка?
- Во-вторых, для чего мне нужно дать полный путь для «npm, node, forever»?
Если я перехожу в соответствующий каталог:/opt/codedeploy-agent/deployment-root/..... и затем запускаю мой скрипт вручную как пользователь Ubuntu, он отлично работает. Хотя он работает как sudo, дает ту же ошибку на консоли
Что происходит, когда вы меняете Runas: корень? Также каковы разрешения на файл start_server.sh? – error2007s
такой же ошибка. Доступ запрещен. – user2379271
Если я перехожу в соответствующий каталог:/opt/codedeploy-agent/deployment-root/..... и затем запускаю мой скрипт вручную как пользователь Ubuntu, он отлично работает. Хотя он работает как sudo, дает ту же ошибку на консоли. – user2379271