Получение информации о приложениях
Сейчас, когда ваше приложение загружено и работает, можете использовать другие субкоманды cf для получения информации о статусе приложений. Например, можете использовать субкоманду apps для получения списка ваших приложений, находящихся на Cloud Foundry, и их статусов:
vagrant $ cf apps
name status usage url
sp_example running 1 x 256M sp_example.cfapps.io
Одна из главных проблем запуска приложений на PaaS — то, что вы не можете видеть в консоли результаты работы операторов console.log так же просто, как это было при запуске приложений локально. Это может быть серьезной проблемой, если ваша программа сбоит и надо понять почему. К счастью, Cloud Foundry предоставляет субкоманду logs, которую вы можете использовать для запущенных приложений, чтобы просмотреть программные логи: vagrant $ cf logs sp_example
Getting logs for sp_example #0... OK
Reading logs/env.log... OK
TMPDIR=/home/vcap/tmp
VCAP_APP_PORT=61749
USER=vcap
VCAP_APPLICATION= { ... }
PATH=/home/vcap/app/bin:/home/vcap/app/node_modules/.bin:/bin:/usr/bin
PWD=/home/vcap
VCAP_SERVICES={}
SHLVL=1
HOME=/home/vcap/app
PORT=61749
VCAP_APP_HOST=0.0.0.0
MEMORY_LIMIT=256m
_=/usr/bin/env
Reading logs/staging_task.log... OK
> Downloaded app package (4.0K)
> Resolving engine versions
WARNING: No version of Node.js specified in package.json, see: https://devcenter.heroku.com/articles/nodejs-versions Using Node.js version: 0.10.21 Using npm version: 1.2.30
> Fetching Node.js binaries
> Vendoring node into slug
> Installing dependencies with npm
npm WARN package.json sp_example@ No repository field. npm WARN package.json sp_example@ No readme data.
Dependencies installed
> Building runtime environment
Reading logs/stderr.log... OK Reading logs/stdout.log... OK Server listening on port 61749
Вы видите, что Cloud Foundry выводит содержимое четырех сохраненных логов. Первый — env.log, где находятся все переменные окружения, к которым вы можете получить доступ через переменную process.env в программе. Второй — staging_ task.log, в который записывается все, что происходит во время первого запуска программы (вы увидите, что там записано то же самое, что было выведено на экран, когда вы в первый раз запустили cf push). Последние два — stderr.log и stdout.log. Вы увидите, что stdout.log включает в себя оператор console.log, который вы использовали в своей программе. Если вместо него был указан console.err, сообщение появится в stderr.log.
|
|
Обновление приложения
Вы легко можете послать новейшую версию приложения в Cloud Foundry, развернув его заново. Модифицируем server.json так, чтобы он возвращал несколько больше информации:
var http = require("http"),
port = process.env.PORT || 3000; var server = http.createServer(function (req, res) { res.writeHead(200, {"Content-Type": "text/plain"}); res.write("Сервер слушает по порту " + port); res.end("Привет от Cloud Foundry!");
});
server.listen(port);
console.log("Сервер слушает по порту " + port);
Как только вы внесете это изменение, можете запустить субкоманду push заново вместе с именем приложения, которое хотите обновить. Соответствующие изменения будут внесены без необходимости заново отвечать на все вопросы:
vagrant $ cf push sp_example
|
|
Save configuration?> nUploading sp_example... OK Stopping sp_example... OK Preparing to start sp_example... OK
> Downloaded app package (4.0K)
> Downloaded app buildpack cache (4.0K)
> Resolving engine versions
WARNING: No version of Node.js specified in package.json, see: https://devcenter.heroku.com/articles/nodejs-versions Using Node.js version: 0.10.21 Using npm version: 1.2.30
> Fetching Node.js binaries
> Vendoring node into slug
> Installing dependencies with npm
npm WARN package.json sp_example@ No repository field. npm WARN package.json sp_example@ No readme data.
Dependencies installed
> Building runtime environment
> Uploading droplet (15M)
Checking status of app 'sp_example'...
1 of 1 instances running (1 running)
Push successful! App 'sp_example' available at sp_example.cfapps.io
Удаление приложений из Cloud Foundry
Иногда, оказывается, нужно удалить приложения из Cloud Foundry, особенно если мы просто экспериментируем. Чтобы сделать это, можно использовать субкоманду delete:
vagrant $ cf delete sp_example
Really delete sp_example?> yDeleting sp_example... OК
Дата добавления: 2018-02-28; просмотров: 245; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!