Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
Javascript 打开EC2实例时将启动的bash脚本_Javascript_Node.js_Bash_Amazon Ec2 - Fatal编程技术网

Javascript 打开EC2实例时将启动的bash脚本

Javascript 打开EC2实例时将启动的bash脚本,javascript,node.js,bash,amazon-ec2,Javascript,Node.js,Bash,Amazon Ec2,我有一个EC2实例,我想编写一个脚本(以前从未编写过),这样每当我在AWS控制台中启动E2实例时,以下文件都会自动运行 假设我有一个名为example.js的文件,其中包含以下内容: var test(){ console.log('hello world'); } test() 然后我有一个类似的文件,名为example2.js 每次我运行我的EC2实例时,我都需要ssh到它中并执行node example.js和node example2.js,以便运行这些函数 但是,我希望编写一个启动脚

我有一个EC2实例,我想编写一个脚本(以前从未编写过),这样每当我在AWS控制台中启动E2实例时,以下文件都会自动运行

假设我有一个名为
example.js
的文件,其中包含以下内容:

var test(){
console.log('hello world');
}
test()
然后我有一个类似的文件,名为
example2.js

每次我运行我的EC2实例时,我都需要ssh到它中并执行
node example.js
node example2.js
,以便运行这些函数

但是,我希望编写一个启动脚本,以便在EC2实例状态变为运行(即联机)时,我希望自己执行命令
node example.js
node example2.js

这可能吗?如果是,我应该把这个脚本放在哪里

我有一个Centos映像在我的EC2实例上运行,EC2实例在晚上关闭,在早上打开-因此脚本将简化事情

我读了这个链接,但是在我的案例中,我不能完全理解它:


任何帮助都将不胜感激。谢谢使用pm2。它是管理节点进程的优秀解决方案。也可以在启动机器时启动进程

参考:


下面是另一个很好的教程:

使用pm2。它是管理节点进程的优秀解决方案。也可以在启动机器时启动进程

参考:


下面是另一个很好的教程:

特定于EC2,您可以使用“用户数据”选项,该选项在创建实例时可用。它将脚本作为输入,并在启动时执行

下面是它的样子:

要将用户数据添加到您的实例中,请等到晚上,以免中断您的应用程序,然后右键单击它并执行“创建图像”

创建映像后,您可以使用它生成一个包含用户数据的“新”实例,并在不丢失任何内容的情况下删除旧实例。不要忘记重新分配旧实例的弹性IP:)


特定于EC2,您可以使用“用户数据”选项,该选项在创建实例时可用。它将脚本作为输入,并在启动时执行

下面是它的样子:

要将用户数据添加到您的实例中,请等到晚上,以免中断您的应用程序,然后右键单击它并执行“创建图像”

创建映像后,您可以使用它生成一个包含用户数据的“新”实例,并在不丢失任何内容的情况下删除旧实例。不要忘记重新分配旧实例的弹性IP:)


我在重新启动时遇到过PM2和EC2问题,但我建议您为其他托管服务提供解决方案:)我在重新启动时遇到过PM2和EC2问题,但在过去,我建议您为其他托管服务提供解决方案:)如果已经创建了实例怎么办?或者以后需要更改脚本?您可以拍摄实例的图像并重新创建它,而不会丢失任何数据,并且使用用户数据:)如果实例已创建,该怎么办?或者以后需要更改脚本?您可以拍摄实例的图像并重新创建它,而不会丢失任何数据,并且使用用户数据:)关于
/etc/rc.local
?关于etc/rc.local呢,它是一个在每次实例启动时自动运行的脚本。
/etc/rc.local
?etc/rc.local呢?它是一个在每次实例启动时自动运行的脚本。