美文网首页
使用systemd启动nodejs服务

使用systemd启动nodejs服务

作者: 殷临风 | 来源:发表于2017-12-11 11:53 被阅读646次

    刚开始接触nodejs的开发者, 会遇到一个很头疼的问题, nodejs程序很容易崩溃, 这个原因大部分是程序的异常没有进行捕获处理, 但是我们有时候不能提前识别所有异常. 对于j2ee来讲, 就算我们程序异常了, 绝大部分情况是不会让tomcat崩溃的, 那么nodejs这个问题怎么解决了. 一般情况会使用supervisorpm2来管理, 这里介绍另一种, 通过系统的systemd来启动nodejs程序

    systemd 存在于centos7, ubuntu15.04以上的版本, 所以如果大家的系统版本比较低, 就不能使用这种方式

    1. 创建配置文件
    cd /etc/systemd/system
    vi myproject.service
    #########################################
    [Unit]
    Description=node simple server
    
    [Service]
    ExecStart=/usr/bin/node /mnt/node_src/myproject/index.js
    Restart=always
    User=nobody
    Group=nobody
    Environment=PATH=/usr/bin:/usr/local/bin
    Environment=NODE_ENV=production
    WorkingDirectory=/mnt/node_src/myproject/
    
    [Install]
    WantedBy=multi-user.target
    #########################################
    

    ExecStart: 指定执行命令的路径及项目的文件
    Restart: 是否重启, 从而保证挂了可以自动启动
    User/Group: 执行的用户和用户组, 也可以使用数字标记
    Environment: 环境变量
    WorkingDirectory: 工作目录

    2. 保存配置并启动
    # 重载配置文件
    sudo systemctl daemon-reload
    # 启动服务
    sudo systemctl start myproject
    # 查看服务状态
    systemctl status myproject
    
    3. 如果想设为开机启动
    sudo systemctl enable myproject
    

    相关文章

      网友评论

          本文标题:使用systemd启动nodejs服务

          本文链接:https://www.haomeiwen.com/subject/rvhiixtx.html