2
我有一個NodeJS應用程序,我想從Upstart啓動。到目前爲止,該過程起作用,Upstart啓動應用程序,但是當我加載頁面時,CSS不加載。奇怪的是,如果我使用#node myapp.js啓動應用程序,它將啓動並正確加載文件。如果有的話,我不能做出讓這個問題成爲可能的區別。任何幫助,將不勝感激。NodeJS應用程序在啓動時無法加載靜態文件
這是我是如何設置的應用程序:
var express = require('express'),
config = require('getconfig'),
path = require('path'),
expressValidator = require('express-validator'),
crypto = require('crypto'),
app = express();
app.configure('development', function() {
app.use(express.logger('dev'));
});
app.configure(function() {
app.use(require('less-middleware')({ src: path.join(__dirname, 'public') }));
app.use(express.static('public'));
require('./bootstraps/handlebars')(app);
app.use(express.favicon());
app.use(express.limit('5mb'));
app.use(express.urlencoded({limit: '5mb'}));
app.use(express.multipart({limit: '5mb'}));
app.use(express.json({limit: '5mb'}));
app.use(express.cookieParser(config.http.cookieSecret));
app.use(expressValidator());
app.use(express.methodOverride());
require('./bootstraps/session')(app);
app.use(function(req,resp,next){
resp.locals.session = req.session;
next();
});
app.use(app.router);
require('./bootstraps/controllers')(app);
});
app.listen(process.env.PORT || config.http.port);
module.exports = app;
...這是我的Upstart腳本:
#!upstart
description "My Project"
author "Author"
start on startup
stop on shutdown
script
export HOME="/root"
echo $$ > /var/run/myprocess.pid
su -s /bin/sh -c 'exec "$0" "[email protected]"' theuser -- /root/local/bin/node /path/to/my_project/myapp.js >> /var/log/my_project/system.log 2>&1
end script
pre-start script
# Date format same as (new Date()).toISOString() for consistency
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/my_project/system.log
end script
pre-stop script
rm /var/run/dreamcasino.pid
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /var/log/my_project/system.log
end script
我在日誌中得到這個:'su:user/root/local/bin/node does not exist'。沒有改變任何東西,只添加了建議的行。 – reydelleon
你可以試試我的編輯? –
是的,結果在之前的評論中。順便謝謝你的時間。 – reydelleon