Amazon Beanstalk将node和npm安装到非常模糊的地方 - 如果EB决定使用更新版本的节点,我不确定它们是否会改变,这会导致我的应用程序崩溃.
这些是node和npm的位置:
/opt/elasticbeanstalk/node-install/node-v0.8.24-linux-x64/bin/node
/opt/elasticbeanstalk/node-install/node-v0.8.24-linux-x64/bin/npm
Run Code Online (Sandbox Code Playgroud)
我担心0.8.24部分会发生变化,而且在尝试寻找通常只是的东西时,我宁愿不要在cron或monit脚本中使用grep /usr/bin/XXX.
如何为这些可执行文件获取一致的文件路径?为什么EB这样做?
作为参考,我尝试NodeVersion在a中设置选项.ebextensions/app.config,它对安装位置没有影响.
我得到这个错误,说我没有使用变量...但是对于我的noob眼睛,它看起来像我:
func Sqrt(x float64) float64 {
z := float64(x);
for i := 0; i < 10; i++ {
z := z - (z*z - x) / (2 * z);
}
return z;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我对这种语言的遗漏吗?我认为这与=vs. :=和范围有关,但我不确定.
我正在调试monit启动/停止程序语句.在我的/etc/monit.conf文件中,我的start program陈述如下:
check process node with pidfile /home/ec2-user/blah/node.pid
start program = "/bin/su -c 'export APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out ' "
stop program = "/bin/su -c '/home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js stop'""
Run Code Online (Sandbox Code Playgroud)
我在shell中测试过
$ sudo su
# env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/sh
# /bin/su -c '/usr/bin/env APP_ENV=development; /home/ec2-user/local/bin/node /home/ec2-user/example.com/current/api.js start &> /tmp/monit.out '
Run Code Online (Sandbox Code Playgroud)
运行它会在/tmp/monit.out文件中返回正确的输出:
Starting nodejs daemon...
nodejs daemon started. PID: 16408
Run Code Online (Sandbox Code Playgroud)
但是当我运行时sudo monit -v monitor node,它会显示一个不同的命令,除了内部单引号被删除之外:
The service list contains the following …Run Code Online (Sandbox Code Playgroud) 我正在使用Amazon Linux AMI.我想确保系统启动时monit总是调用
monit -c $CONFIG
Run Code Online (Sandbox Code Playgroud)
$CONIFG默认的monit配置文件位置(通常/etc/monit.conf)在哪里.我想确保它始终在启动时监控我的服务.
我该怎么做呢?我宁愿不使用,upstart因为我想限制我用于此设置的工具数量.
谢谢
我注意到,在后续运行Tensorflow脚本时,您的图形Ops会获得编号名称,例如:
loss = tf.reduce_mean(tf.nn.l2_loss(y - pred), name="l2_loss")
Run Code Online (Sandbox Code Playgroud)
会得到这些名字:
l2_loss
l2_loss_1
l2_loss_2
...
l2_loss_N
Run Code Online (Sandbox Code Playgroud)
当你继续在同一个IPython会话中进行相同的运行时.这不会太烦人,除了稍后在脚本中要保存摘要时:
x_sample, y_sample = get_sample(X, Y)
feed = {x: x_batch, y: y_batch}
trainer.run(feed_dict=feed)
summary_str = summary_op.eval(feed_dict=feed)
Run Code Online (Sandbox Code Playgroud)
你会得到以下失败:
InvalidArgumentError: You must feed a value for placeholder tensor 'x_input' with dtype float ....
Run Code Online (Sandbox Code Playgroud)
有没有办法(在脚本或其他东西的顶部)取消所有这些旧的,过时的Op定义并使用当前运行并name=...在创建变量,占位符和常量时正确遵守命令?
amazon-ec2 ×2
linux ×2
monit ×2
bash ×1
go ×1
ipython ×1
node.js ×1
npm ×1
python ×1
tensorflow ×1