Forever (nodejs的进程管理器)每次重新启动时都会给出新的随机日志.
我可以使用此命令获取日志文件名:
$ forever list | grep coffee | awk '{print $8}'
/home/vagrant/.forever/ZZRW.log
Run Code Online (Sandbox Code Playgroud)
我希望能够将此文件名传递给vim命令,因此vim最终执行:
vim /home/vagrant/.forever/ZZRW.log
Run Code Online (Sandbox Code Playgroud)
而且我想在我的内容中将其替换.bash_profile为:
alias vimforeverlog="vim ???? forever list | grep coffee | awk '{print $8}'"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我觉得我只是缺少管道的基本功能.
我刚刚全局安装(-g).在此之前,我曾经与之相处
$ npm start
Run Code Online (Sandbox Code Playgroud)
现在,永远安装后,我尝试午餐节点应用程序
$ NODE_ENV=development forever nodemon server.js
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
error: Cannot start forever
error: script /path/to/app/nodemon does not exist.
Run Code Online (Sandbox Code Playgroud)
同样也
$ NODE_ENV=development forever nodemon server.js
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我有一个Express NodeJS服务器,我通过终端手动启动npm start我的项目根文件夹.我全局下载并安装了Forever软件包.当我app.js使用以下命令对我的文件运行Forever时:
forever start app.js
Run Code Online (Sandbox Code Playgroud)
我的服务器无法启动.我假设这是因为文件中没有明确的createServer命令app.js.我应该针对forever start启动服务器的命令运行什么文件?
我想设置永远监视器.
我把它添加到我的app.js:
var forever = require('forever-monitor');
var child = new(forever.Monitor)('app.js', {
max: 3,
silent: true,
options: []
});
child.on('exit', function() {
console.log('app.js has exited after 3 restarts');
});
child.start();
Run Code Online (Sandbox Code Playgroud)
但是,当我从命令行启动我的应用程序时,它记录'app.js已经在3次启动后退出'但它仍然运行.该代码应放在哪个文件中?我错过了关于forever-monitor的使用方法吗?
我在我的节点服务器上(在Azure上)运行NPM全局模块Forever.始终可以正常运行我的所有项目.
我的服务器上有一个项目可能存在问题或导致Forever继续输出到日志的问题.有2个Forever日志快速增长并且规模巨大:
9.7Gb /home/azureuser/.forever/P_lf.log
1.3Gb /home/azureuser/.forever/IEJR.log
Run Code Online (Sandbox Code Playgroud)
虽然我可能需要找出我的项目有什么问题并修复它,但我还需要解决这个日志记录问题.我的研究表明,我可能需要使用logrotate来阻止使用这么多的磁盘空间.
有任何想法吗?
我已经使用编译了我的反应应用程序
react-scripts build
Run Code Online (Sandbox Code Playgroud)
并在App的根目录中生成了一个build \文件夹。我正在使用以下命令运行build \文件夹
sudo serve -T -p 443 build/
Run Code Online (Sandbox Code Playgroud)
由于我传递-T,因此这在https上成功运行了我的React应用程序。但是我需要使用任何可用的模块永久运行我的应用程序。我一直在寻找到节点模块永远与PM2 我试图以如下方式使用PM2:
sudo pm2 serve -T -p 443 build/
It throws:
error: unknown option `-T'
Run Code Online (Sandbox Code Playgroud)
当我使用时:
sudo pm2 serve -p 443 build/
It works on console but I am not able to access my app from URL
Run Code Online (Sandbox Code Playgroud)
react-scripts build
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄这个吗?或者,如果有其他方法可以永久在生产环境上运行您的React应用。
提前致谢
我有一个SailsJS应用程序,其中很多是用CoffeeScript编写的。使用“风帆”在Prod模式下运行时,一切都很好。
永远运行它是行不通的。如果我检查日志,则问题似乎出在运行app.js的节点上
/var/www/obelix/api/models/Catalogue.coffee:2属性:^语法错误:意外令牌:位于Object.Module._extensions..js(module.js)的Module._compile(module.js:439:25) :474:10)在Module.load(module.js:356:32)在Function.Module._load(module.js:312:12)在Module.require(module.js:364:17)在require(模块.js:380:17)在/var/www/obelix/node_modules/sails/node_modules/include-all/index.js:96:53在Array.forEach(本机)在requireAll(/ var / www / obelix / node_modules /sails/node_modules/include->all/index.js:40:9)在buildDictionary>(/ var / www / obelix / node_modules / sails / lib / moduleloader / index.js:60:36)
是否有可能使Sails + Coffeescript应用程序使用节点/永远运行?
有没有办法在forever.js中运行同一节点脚本的两个或多个实例?如果不是最好的工具是什么?
CentOs 6.5使用root帐号,我有一个工作的Node.js Express应用程序:
root@vps [/home/test/node]# npm start app.js
> test@0.0.1 start /home/test/node
> node ./bin/www app.js
Run Code Online (Sandbox Code Playgroud)
可以看到应用程序在互联网浏览器上工作.我停止应用程序并尝试永远运行它:
root@vps [/home/test/node]# forever start app.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app.js
root@vps [/home/test/node]#
Run Code Online (Sandbox Code Playgroud)
抛出一些不应该是问题的警告,看起来它应该正常工作,但它没有显示在浏览器上,永远列出:
root@vps [/home/test/node]# forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] OkGm /usr/local/bin/node app.js 32222 32227 /root/.forever/OkGm.log …Run Code Online (Sandbox Code Playgroud) 我有一个.sh脚本/etc/init-d/forever来配置如何forever启动和停止Node.js应用程序。
我想从forever命令开始npm start,所以我可以从那里触发我的脚本。这可能吗?
我试过了
sudo forever start --sourceDir /home/my-app -c npm start
Run Code Online (Sandbox Code Playgroud)
但是它解释错了...
信息:永久处理文件:启动
错误:无法永久启动
错误:脚本/ root / start不存在。
到目前为止,我的脚本是:
NAME=nodeapp
SOUREC_DIR=/home/nodeapp
COMMAND="npm start"
SOURCE_NAME=index.js
USER=root
NODE_ENVIROMENT=production
pidfile=/var/run/$NAME.pid
logfile=/var/log/$NAME.log
forever=forever
start() {
export NODE_ENV=$NODE_ENVIROMENT
echo "Starting $NAME node instance : "
touch $logfile
chown $USER $logfile
touch $pidfile
chown $USER $pidfile
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo -H -u $USER …Run Code Online (Sandbox Code Playgroud)