搜尋

首頁  >  問答  >  主體

node.js - 额,第一天接触linux,终端退出后nodejs服务器也停止

今天申请了一块阿里云,在上面安装了node,用终端链接了服务器,写了一段代码开启了一个http服务器,但是我电脑上的终端退出,那个服务器也访问不了了,这个咋整,唉,学linux第一天好难受

伊谢尔伦伊谢尔伦2781 天前571

全部回覆(6)我來回復

  • 迷茫

    迷茫2017-04-17 13:03:04

    node程式可以考慮在伺服器上安裝forever,然後用forever start your_js_file.js啟動,之後可以用forever list查看正在運行的程序,用forever stop可以停止進程。

    比較通用的方法是使用nohup指令啟動進程,缺點是當程式停止後不會自動重新啟動。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:03:04

    pm2,或是forever,在github上都是開源的,搜尋吧

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 13:03:04

    1. 主管

    2. 螢幕

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:03:04

    前幾天看Ghost的文件剛好看到有說這方面的,你可以參考一下:

    让 Ghost 一直运行
    
    前面提到的启动 Ghost 使用 npm start 命令。这是一个在开发模式下启动和测试的不错的选择,但是通过这种命令行启动的方式有个缺点,即当你关闭终端窗口或者从 SSH 断开连接时,Ghost 就停止了。为了防止 Ghost 停止工作,有两种方式解决这个问题。
    
    Forever (https://npmjs.org/package/forever)
    你可以使用 forever 以后台任务运行 Ghost 。forever 将会按照 Ghost 的配置,当进程 crash 后重启 Ghost。
    
    通过 npm install forever -g 安装 forever
    为了让 forever 从 Ghost 安装目录运行,输入 NODE_ENV=production forever start index.js
    通过 forever stop index.js 停止 Ghost
    通过 forever list 检查 Ghost 当前是否正在运行
    Supervisor (http://supervisord.org/)
    流行的 Linux 发行版——例如 Fedora, Debian 和 Ubuntu,都包含一个 Supervisor 包:一个进程控制系统,允许在启动的时候无需初始化脚本就能运行 Ghost。不像初始化脚本一样,Supervisor 可以移植到不同的发行版和版本。
    
    根据不同的 Linux 发行版 安装 Supervisor 。如下所示:
    Debian/Ubuntu: apt-get install supervisor
    Fedora: yum install supervisor
    其他大多数发行版: easy_install supervisor
    通过 service supervisor start 确保 Supervisor 运行
    为 Ghost 创建一个启动脚本。通常为 /etc/supervisor/conf.d/ghost.conf ,例如:
    
    [program:ghost]
    command = node /path/to/ghost/index.js
    directory = /path/to/ghost
    user = ghost
    autostart = true
    autorestart = true
    stdout_logfile = /var/log/supervisor/ghost.log
    stderr_logfile = /var/log/supervisor/ghost_err.log
    environment = NODE_ENV="production"
    使用 Supervisor 启动 Ghost:supervisorctl start ghost
    
    停止 Ghost: supervisorctl stop ghost
    
    详细内容请参阅 Supervisor 文档。

    摘抄自
    http://docs.ghostchina.com/zh/installation/deploy/

    回覆
    0
  • 迷茫

    迷茫2017-04-17 13:03:04

    建議使用pm2,很好用,nodejs進程管理器

    回覆
    0
  • 迷茫

    迷茫2017-04-17 13:03:04

    謝謝上面各位,我剛剛也遇到這個問題了。

    利用forever來管理node.js進程

    題外話,nginx真好用。

    回覆
    0
  • 取消回覆