gpt4 book ai didi

init - Upstart /初始化脚本不起作用

转载 作者:行者123 更新时间:2023-12-04 08:56:22 25 4
gpt4 key购买 nike

我正在尝试创建一个服务/脚本来自动启动和控制我的 nodejs 服务器,但它似乎根本不起作用。

首先,我使用这个来源作为主要引用http://kvz.io/blog/2009/12/15/run-nodejs-as-a-service-on-ubuntu-karmic/

在测试之后,我最小化了实际文件的内容以避免任何类型的错误,导致这个(最低限度,但它不起作用)

description "server"
author "blah"

start on started mountall
stop on shutdown

respawn
respawn limit 99 5

script
export HOME="/var/www"

exec nodejs /var/www/server/server.js >> /var/log/node.log 2>&1
end script

文件保存在 /etc/init/server.conf
尝试启动脚本时(以 root 或普通用户身份),我得到:
root@iof304:/etc/init# start server
start: Job failed to start

然后,我尝试用 init-checkconf 检查我的语法, 导致:
$ init-checkconf /etc/init/server.conf 
File /etc/init/server.conf: syntax ok

我尝试了其他不同的东西,比如 initctl reload-configuration没有结果。

我能做什么?我怎样才能让它发挥作用?不可能那么难吧?

最佳答案

这就是我们典型的启动脚本的样子。如您所见,我们以用户 nodejs 的身份运行我们的节点进程。我们还使用预启动脚本来确保所有日志文件目录和 .tmp 目录都使用正确的权限创建。

#!upstart
description "grabagadget node.js server"
author "Jeffrey Van Alstine"

start on started mysql
stop on shutdown
respawn

script
export HOME="/home/nodejs"
exec start-stop-daemon --start --chuid nodejs --make-pidfile --pidfile /var/run/nodejs/grabagadget.pid --startas /usr/bin/node -- /var/nodejs/grabagadget/app.js --environment production >> /var/log/nodejs/grabagadget.log 2>&1
end script

pre-start script
mkdir -p /var/log/nodejs
chown nodejs:root /var/log/nodejs
mkdir -p /var/run/nodejs
mkdir -p /var/nodejs/grabagadget/.tmp

# Git likes to reset permissions on this file, but it really needs to be writable on server start
chown nodejs:root /var/nodejs/grabagadget/views/layout.ejs
chown -R nodejs:root /var/nodejs/grabagadget/.tmp

# Date format same as (new Date()).toISOString() for consistency
sudo -u nodejs echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/nodejs/grabagadget.log
end script

pre-stop script
rm /var/run/nodejs/grabagadget.pid
sudo -u nodejs echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/log/nodejs/grabgadget.log
end script

关于init - Upstart /初始化脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22069951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com