最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Node.js应用程序未在AWS Elastic Beanstalk上运行

运维笔记admin8浏览0评论

Node.js应用程序未在AWS Elastic Beanstalk上运行

Node.js应用程序未在AWS Elastic Beanstalk上运行

我甚至无法接替Basic Express deployment tutorial on AWS Elastic Beanstalk。

问题

  • 我按照一步一步的教程进行操作
  • 运行eb deploy时,命令成功运行。但是,应用程序未运行
  • 在AWS Elastic Beanstalk Web控制台上,我的实例正在以严重状态运行。错误是Following services are not running: application
  • 在对EC2实例(在64位Amazon Linux / 4.7.1上运行的Node.js)进行SSH时,可以使用npmnode命令。我通过Web控制台或EB CLI重新创建了环境,但命令仍然不可用
  • 当检查eb logs时,/var/log/nodejs/nodejs.log是空的

问题:有人知道它是什么或有人遇到过类似情况吗?

尝试

我试过了:

  • 通过EB CLI部署或通过上传zip存档 仅部署相关代码(使用.ebignore) 使用dist/文件夹和node_modules/部署代码
  • 使用.ebextension/some_config.config命令添加npm start
  • 在配置中更改NodeJ的版本
  • 在start命令中设置npm install && npm start,因为我认为最初缺少依赖项

更新

  • 01 - 2月 - 2019 我实际上使用了react-boilerplate然后打开an issue。部署似乎是成功的(CLI中没有错误),但实例变得无对应,我有一个“无实例数据”错误。
  • 15月 - 2019 我可以成功部署反应样板。主要问题是许可。见答案。

日志

/var/log/eb-activity.log

[2019-01-16T18:40:23.987Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1] : Starting activity...
[2019-01-16T18:40:23.988Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook] : Starting activity...
[2019-01-16T18:40:23.988Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/01stop_xray.sh] : Starting activity...
[2019-01-16T18:40:26.103Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/01stop_xray.sh] : Completed activity. Result:
  Executing: if ( initctl status xray | grep start ); then initctl stop xray; fi
  xray start/running, process 2277
  xray stop/waiting
[2019-01-16T18:40:26.103Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/02start_xray.sh] : Starting activity...
[2019-01-16T18:40:26.208Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/02start_xray.sh] : Completed activity.
[2019-01-16T18:40:26.208Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/10stop.sh] : Starting activity...
[2019-01-16T18:40:27.617Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/10stop.sh] : Completed activity. Result:
  + /opt/elasticbeanstalk/containerfiles/ebnode.py --action stop-all
  status: Unknown job: nodejs
  status: Unknown job: nodejs
  status: Unknown job: nginx
  status: Unknown job: nginx
  status: Unknown job: httpd
  status: Unknown job: httpd
  Not using a reverse proxy
  Did not find to find status of init job. Assuming stopped.
  Did not find to find status of init job. Assuming stopped.
  Did not find to find status of init job. Assuming stopped.
  Did not find to find status of init job. Assuming stopped.
  Did not find to find status of init job. Assuming stopped.
  Did not find to find status of init job. Assuming stopped.
[2019-01-16T18:40:27.617Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/20clean.sh] : Starting activity...
[2019-01-16T18:40:27.708Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/20clean.sh] : Completed activity. Result:
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_base_dir
  + EB_APP_BASE_DIR=/var/app
  + rm -rf /var/app
[2019-01-16T18:40:27.708Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/30app_deploy.sh] : Starting activity...
[2019-01-16T18:40:28.071Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/30app_deploy.sh] : Completed activity. Result:
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_base_dir
  + EB_APP_BASE_DIR=/var/app
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir
  + EB_APP_STAGING_DIR=/tmp/deployment/application
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir
  + EB_APP_DEPLOY_DIR=/var/app/current
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_user
  + EB_APP_USER=nodejs
  + mkdir /var/app
  + mv /tmp/deployment/application /var/app/current
  + chown -R nodejs:nodejs /var/app/current
[2019-01-16T18:40:28.071Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/40config_deploy.sh] : Starting activity...
[2019-01-16T18:40:28.166Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/40config_deploy.sh] : Completed activity. Result:
  ++ /opt/elasticbeanstalk/bin/get-config container -k config_staging_dir
  + EB_CONFIG_STAGING_DIR=/tmp/deployment/config
  ++ ls /tmp/deployment/config
  + for i in '$(ls $EB_CONFIG_STAGING_DIR)'
  ++ sed -e 's/#/\//g'
  ++ echo '#etc#init#nodejs.conf'
  + FILE_NAME=/etc/init/nodejs.conf
  + /bin/cp /tmp/deployment/config/#etc#init#nodejs.conf /etc/init/nodejs.conf
[2019-01-16T18:40:28.166Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/50start.sh] : Starting activity...
[2019-01-16T18:40:29.600Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/50start.sh] : Completed activity. Result:
  + /opt/elasticbeanstalk/containerfiles/ebnode.py --action start-all
  nodejs start/running, process 3648
  Not using a reverse proxy
[2019-01-16T18:40:29.600Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/60monitor_pids.sh] : Starting activity...
[2019-01-16T18:40:29.914Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/60monitor_pids.sh] : Completed activity. Result:
  + '[' -d /etc/healthd ']'
  ++ /opt/elasticbeanstalk/bin/get-config optionsettings --namespace aws:elasticbeanstalk:container:nodejs --option-name ProxyServer
  + PROXY_SERVER=none
  + case "$PROXY_SERVER" in
  + rm -rf /var/elasticbeanstalk/healthd/proxy.pid
  + /opt/elasticbeanstalk/bin/healthd-track-pidfile --name application --location /var/run/nodejs.pid
[2019-01-16T18:40:29.914Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/70restart_healthd.sh] : Starting activity...
[2019-01-16T18:40:32.351Z] INFO  [3216]  - [Application deployment app-c0e5-190116_192242@8/StartupStage1/AppDeployEnactHook/70restart_healthd.sh] : Completed activity. Result:
  + '[' -d /etc/healthd ']'
  ++ /opt/elasticbeanstalk/bin/get-config optionsettings --namespace aws:elasticbeanstalk:container:nodejs --option-name ProxyServer
  + PROXY_SERVER=none
  + '[' -f /etc/healthd/config.yaml ']'
  + case "$PROXY_SERVER" in
  + /opt/elasticbeanstalk/bin/healthd-configure --appstat-log-path '' --appstat-unit '' --appstat-timestamp-on ''
  + /opt/elasticbeanstalk/bin/healthd-restart
回答如下:

主要遇到的问题:

  1. 没有安装DevDependencies
  2. 许可问题

解:

  1. 默认使用NPM_USE_PRODUCTION: false环境变量AWS使用生产配置
  2. unsafe-perm=true中添加.npmrc作为magic solution

关于https://github/react-boilerplate/react-boilerplate/issues/2566的更多细节

发布评论

评论列表(0)

  1. 暂无评论