欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于linux想要在后台运行node.js文件,使用xshell6非法关闭窗口后,后台程序不退出的问题

程序员文章站 2022-07-15 17:06:23
...

 

 

前几天接了一个node的项目,做完后放到我自己的服务器上是可以的,但客户居然使用的是linux系统,当时就有点傻眼了。

我先说说我遇见的坑吧,首先你需要下载  xshell6和xftp6,这个是方便大家传送文件的。然后需要大家安装node

安装可以参考 https://www.cnblogs.com/liuqi/p/6483317.html

然后  大家有两种方法,将自己的程序运行到linux后台上,

第一种  在你的server.js文件所在的目录运行

nohup node server.js  >/dev/null 2>&1 &

到此,你的程序就在后台跑起来,如果你乖乖的使用  exit命令关闭Xshell6会话窗口,你运行的程序依然是在后运行,但你强行关闭那就会出问题。

所以你还想要输入一条指令

trap "" HUP

原因大家可以参考这篇文字http://leehomjan.iteye.com/blog/2146739

第二种方法

使用 forever  

需要安装forever

npm install forever -g   #安装
forever start app.js          #启动
forever stop app.js           #关闭

但是安装之后需要配置forever,配置太麻烦了,大家可以这样做,

先用命令,查看forever被安装到了什么地方,到到他的路径

npm list -g -depth 0 

比如我到到路径就是 /wry/node-v8.11.4-linux-x64/bin/forever

好了,现在你先用cd切换到你server.js所在的目录

然后你就可以这样执行

/wry/node-v8.11.4-linux-x64/bin/forever -w app.js &

同样你也需要添加。

trap "" HUP

到此你就可以放心的将你的xshell关闭了。

我来总结一下,我遇见的坑吧,第一个就是上来就运行安装xshell6和xftp6的问题,然后安装完node后,方向他的同一个IP地址下,有3个不同域名同时占用着80端口。所以,还得更改apache上面的配置文件。也是百度了好多才解决的

大家可以参考一下这篇文字

https://blog.csdn.net/aerchi/article/details/73327093

不过我把他的localhost给成了127.0.0.1,然后好像就好使用。

<VirtualHost *:80>
   ServerName 你自己的域名
   ServerAlias 你自己的域名
   ProxyRequests off
   <Proxy *>
     Order deny,allow
     Allow from all
   </Proxy>
   <Location />
    ProxyPass http://127.0.0.1:8080/           //node本地跑在8080端口
    ProxyPassReverse http://127.0.0.1:8080/
   </Location>
</VirtualHost>

整体来说还是一路百度,一路坑过来了。