我有一个server.js文件定义如下:
var iniparser = require('iniparser');
var inihost;
var inidbuser;
var inidbpass;
var inidbname;
var config = iniparser.parseSync('../setup_db/config.ini');
inihost = config.db_hostname;
inidbuser=config.db_username;
inidbpass=config.db_password;
inidbname=config.db_name;
.....
在重新启动时我有一个crontab应该会自动永远启动服务器:
@reboot /usr/bin/sudo /usr/local/bin/forever start /var/www/html/rubrica/chat/server.js
有趣的是,如果我从任何目录启动服务器,其路径如下:
forever start /var/www/html/rubrica/chat/server.js
服务器启动很好..但是,如果我从/root/.forever / 目录运行SAME命令,服务器将给我以下错误:
ENOENT, no such file or directory '../setup_db/config.ini'
所以每当我重新启动机器时,我都会收到错误......这样的事情怎么可能?
答案 0 :(得分:2)
iniparser.parseSync()
的参数与当前文件(如require()
)无关,而是与当前工作目录相关。使用:
var path = require('path');
var config = iniparser.parseSync(path.join(__dirname, '../setup_db/config.ini'));