我的最终目标是使用Shipit自动化我的开发。我可以将代码正确放置在服务器上,但是无法获取命令NODE_ENV=production forever start -c 'npm run serve'
才能正确执行。当我尝试在服务器上本地运行它时,这是我得到的响应(帮助输出)。我需要运行npm serve
,因为它运行以下内容:"serve": "gulp build && npm-run-all --parallel gulp-watch jekyll-serve"
。我的项目是Tabler的分支。
root@server:/var/www/server# cd /var/www/server/current/front-end/ && NODE_ENV=production forever start -c 'npm run serve'
help: usage: forever [action] [options] SCRIPT [script-options]
help:
help: Monitors the script specified in the current process or as a daemon
help:
help: actions:
...
...
答案 0 :(得分:0)
如果永远无法使用,则可以使用另一个选项,为使脚本文件始终在后台运行,可以使用
PM2 npm
请参阅此https://www.npmjs.com/package/pm2
或 第二种选择是您可以使用
tmux
您可以使用它,它允许您运行npm服务,就像在本地系统上运行一样,并提供以下链接
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-tmux-on-ubuntu-12-10--2
答案 1 :(得分:0)
您需要为要提供服务的文件夹指定绝对路径,还需要使用which
来获取命令的绝对路径。
我使用npx来运行服务而不是安装它,它的工作方式如下:
forever start $(which npx) serve -l 80 -s /home/user/folder/build/