Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么aws代码部署抛出;用户'没有密码项;ec2用户'&引用;尽管以root用户身份运行所有内容,但仍存在错误?_Node.js_Amazon Web Services_Amazon Ec2_Sudo_Aws Code Deploy - Fatal编程技术网

Node.js 为什么aws代码部署抛出;用户'没有密码项;ec2用户'&引用;尽管以root用户身份运行所有内容,但仍存在错误?

Node.js 为什么aws代码部署抛出;用户'没有密码项;ec2用户'&引用;尽管以root用户身份运行所有内容,但仍存在错误?,node.js,amazon-web-services,amazon-ec2,sudo,aws-code-deploy,Node.js,Amazon Web Services,Amazon Ec2,Sudo,Aws Code Deploy,以下是错误消息: 以下是有关文件: 住手,嘘 #!/bin/bash pkill -f node appspec.yml version: 0.0 os: linux files: - source: / destination: /var/www/ permissions: - object: /var/www/ owner: root mode: 777 hooks: BeforeInstall: - location: scripts/in

以下是错误消息:

以下是有关文件:

住手,嘘

#!/bin/bash
pkill -f node
appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/
permissions:
  - object: /var/www/
    owner: root
    mode: 777
hooks:
  BeforeInstall:
    - location: scripts/install.sh
      timeout: 300
      runas: root
  AfterInstall:
    - location: scripts/post_install.sh
      timeout: 300
      runas: root
  ApplicationStart:
    - location: scripts/run.sh
      timeout: 300
      runas: root
  ApplicationStop:
    - location: scripts/stop.sh
      timeout: 300
      runas: root
  ValidateService:
    - location: scripts/validate.sh
      timeout: 300
      runas: root
以下是操作系统的详细信息:

ubuntu@ip-172-31-2-33:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

我也试着以ec2用户“ubuntu”的身份运行所有钩子,结果是一样的。

ec2用户
只是默认的实例用户。在所有linux中,如果不首先发出sudo

修正:

#!/bin/bash
sudo pkill -f node

ec2用户
只是默认的实例用户。在所有linux中,如果不首先发出sudo

修正:

#!/bin/bash
sudo pkill -f node

如果您之前已在实例中成功部署sam应用程序,则应用程序停止脚本实际上是从上次成功修订版开始运行的,您能否检查上次成功修订版中的应用程序停止脚本,它包含您期望的所有内容


如果ApplicationStop不在上一个成功的修订版中,您可能需要设置--ignore application stop failures选项。您

如果您之前已在实例中成功部署sam应用程序,应用程序停止脚本实际上是从上次成功修订版开始运行的,您是否可以检查上次成功修订版中的应用程序停止脚本,它包含您期望的所有内容


如果ApplicationStop不在上一个成功的修订版中,您可能需要设置--ignore application stop failures选项。你不工作了。在回答之前请自己试一试。stop.sh脚本已经作为root被触发,所以我想它不需要在每个命令之前编写sudo。不起作用。在回答之前请自己试一试。sh脚本已经作为root触发,所以我想它不需要在每个命令之前编写sudo。