我正在尝试用NodeJS:https://github.com/substack/fleet部署几个应用程序。我已经读了几次博文引用,并得到了一个部分成功的设置进行。
我可以在服务器上
创建一个舰队枢纽-> fleet hub --port=7000 --secret=beebop创建一个舰队无人机-> fleet drone --hub=localhost:7000 --secret=beebop
我可以在我的开发机器上
添加默认车队回购-> fleet remote add default --hub=172.16.10.147:7000 --secret=beebop
然后,再次在服务器上生成一个节点进程-> fleet spawn -- app.js 3000,输出如下:
drone#ubuntu
└─┬ pid#bba906
├── status: respawning
├── commit: keystone-web/4eab770ded77b25a949795d0aed5727dd2783c4f
└── command: node app.js我在启动舰队中心的目录中看到了已部署的应用程序:
drwxr-xr-x 4 root root 4096 Mar 12 10:49 .
drwxr-xr-x 4 root root 4096 Mar 12 10:10 ..
drwxr-xr-x 8 root root 4096 Mar 12 10:49 myapp.4eab770ded77b25a949795d0aed5727dd2783c4f
drwxr-xr-x 9 root root 4096 Mar 12 10:27 myapp.eb350403b214f1023aff8405552ca27454673463
user@ubuntu:/opt/nodeapps/test/deploy$我的问题是,我现在应该能够访问web应用程序,例如localhost//:3000吗?
当我尝试这样做时,web浏览器报告说地址上什么都没有。
除了给舰队的博客文章外,还有其他教程吗?我觉得我错过了一步。
提前谢谢你,
发布于 2013-04-19 17:55:36
有关细节,请参阅脚本。这就是我所做的,而且对我的场景来说效果很好:
#!/bin/bash
option1="development"
option2="test"
option3="demo"
chosen=""
echo please enter environment setting for fleet/node deployment 1: "'"development"'" 2: "'"test"'" 3: "'"demo"'"
read env
if [[ $env == 1 ]]
then
chosen=$option1
elif [[ $env == 2 ]]
then
chosen=$option2
elif [[ $env == 3 ]]
then chosen=$option3
else
echo "you didn't enter a valid environment setting"
echo "your options are" "1:'"$option1"'" "or" "2:'"$option2"'"
exit
fi
echo deploying to "'"$chosen"'"
sleep 1
echo starting fleet deploy
fleet deploy --remote=$chosen
echo running npm install
fleet exec --remote=$chosen npm install
echo spawning application
fleet spawn --remote=$chosen --env.NODE_ENV=$chosen node app.js
fleet ps --remote=$chosenhttps://stackoverflow.com/questions/15366814
复制相似问题