Как запустить сервер Phantomjs с помощью сценария выскочки?

У меня установлен phantomjs, и я хочу запустить phantom-сервер при запуске сервера (Ubuntu).

В настоящее время я работаю локально на Ubuntu 14.04, а сервер, на котором он будет развернут, - это также Ubuntu 14.04.

Это то, что я до сих пор:

скрипт upstart:

# /etc/init/phantomjs.conf

start on startup

exec '/path/to/script/to/start/server.bash'

скрипт bash для запуска фантомного сервера: [!d4 ]

#/path/to/script/to/start/server.bash   

#!/bin/bash

phantomjs /path/to/the/server.js -host 127.0.0.1 -port 1337

Когда я обычно запускаю сервер из командной строки, он работает так, как ожидалось.

Когда я запускаю сценарий выскочки, он выводит OK, PhantomJS is ready в файл журнала, но когда я делать запросы на почту, ничего больше не происходит. Я бы ожидал, что он будет выводить что-то в журнал каждый раз, когда я делаю запрос, например, когда я запускаю его из командной строки, но, похоже, он просто запускает сервер, а затем ничего больше.

1
задан 24 July 2014 в 18:18

2 ответа

Вы можете просто использовать строфу console log, чтобы иметь журналы, хранящиеся в / var / log / upstart. консольный журнал фактически является значением по умолчанию, поэтому они должны появляться там с этим заданием автоматически:

start on runlevel [2345]
stop on runlevel [016]

respawn

exec phantomjs /path/to/the/server.js -host 127.0.0.1 -port 1337

Я не сбрасывал респауна limti, поскольку тот, который использовал Stef, немного агрессивный и может привести к Upstart изматывая респаун (постоянно делайте это, хотя, вероятно, лучше просто сдаться).

2
ответ дан 24 May 2018 в 05:19

Сохраните следующее задание в /etc/init/ как myphantomjs.conf

description 'phantomjs'
start on runlevel [2345]
stop on runlevel [06]
respawn
# in case of failure retry 3 times to respawn with 5 sec interval
respawn limit 3 5

# set some variables
env SERVER=/path/to/the/server.js
env HOST=127.0.0.1
env PORT=1337

# enable logger output and write to syslog with tag phantomjs
# for more info see http://upstart.ubuntu.com/cookbook/#id152
# and/or type logger --help
console output
# execute the command and log it
exec phantomjs $SERVER -host $HOST -port $PORT | logger -s -t "phantomjs: "
1
ответ дан 24 May 2018 в 05:19

Другие вопросы по тегам:

Похожие вопросы: