我有一个Node.js应用程序,我可以使用以下命令正常运行:node app.js
。它启动,我可以去我的服务器地址,看到它的应用程序工作。然而,当我尝试运行与永远的应用程序(以保持应用程序我的服务器,即使我没有登录上运行),使用这个命令:./forever start ../../../app.js
我得到在日志文件中出现以下错误:Node.js在使用node命令运行时工作,但不能永久运行
Error: Failed to lookup view "home" in views directory "/root/ExerciseApp/node_modules/forever/bin/views"
这里是我的目录结构:
ExerciseApp
/nbproject
project.properties
project.xml
/public
/css
style.css
/scripts
buttons.js
/views
/layouts
main.handlebars
home.handlebars
update.handlebars
app.js
.gitignore
dbcon.js
package.json
这里是app.js相关部分:
//*****Express stuff*********
var express = require('express');
var app = express();
app.use(express.static('public'));
//*****BodyParser stuff*******
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
//*****Handlebars stuff******
//Create instance of handlebars let it know default layout is 'main'
//Default layout is the area all the other contents will be inserted
var handlebars = require('express-handlebars').create({defaultLayout:'main'});
//.handlebars extensions are managed by handlebars
app.engine('handlebars', handlebars.engine);
//Lets us ignore .handlebars extensions
app.set('view engine', 'handlebars');
var helpers = require('handlebars-helpers')();
var moment = require('moment');
//*****MySQL stuff******
var mysql = require('./dbcon.js');
app.set('port', 3645);
如果我做的命令./forever list
,我可以看到该应用正在运行,但访问该页面不起作用。
编辑:我在Debian Linux上运行此
这不是'永远'的位置问题。如果他们想运行一个本地的'永远',他们当然可以!这里的问题与应用程序中的路径引用不正确有关。 – Brad
当我尝试运行'永远开始../../../app。从〜/ ExerciseApp/node_modules/forever/bin'里面的js'我得到一个错误:'forever:command not found' –
@TaylorLiss你需要永久安装在全局中,并且你需要以root身份执行。尝试“sudo npm永远安装-g”。然后从目录app.js中“永远启动app.js”。 – sidewinder