You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WSL中的Ubuntu系统启动时自动运行Node.js应用?

在WSL Ubuntu 24.04中自动启动Node.js应用的解决方案

为什么之前的方法失效?

  • /etc/profile:你用sudo -i编辑的是root用户的环境配置,而WSL默认登录的是普通用户,不会加载root的profile;且root的PATH中可能没有npm全局安装的mynode命令。
  • crontab @reboot:WSL的启动逻辑和传统Linux不同,@reboot触发时机早于用户会话初始化,此时Node或mynode的环境变量未加载,且进程可能因无用户上下文无法正常运行。
  • init.d目录:Ubuntu 24.04已弃用init.d,改用systemd;且init.d服务以root身份运行,同样存在环境变量不匹配的问题。
  • forever/upstart:forever仍可作为进程管理器使用,但systemd是当前Ubuntu的标准服务管理工具,更稳定;upstart已被废弃,无需考虑。

推荐方案

方案1:用户登录脚本(最简单)

WSL默认登录普通用户时会加载~/.bashrc(若用zsh则是~/.zshrc),直接在其中添加启动命令即可:

  1. 打开用户的bash配置文件:
    nano ~/.bashrc
    
  2. 在文件末尾添加以下内容(替换为你的应用实际路径):
    # 确保npm全局命令路径在环境变量中(若mynode已在PATH中可跳过)
    export PATH="$HOME/.npm/bin:$PATH"
    # 切换到应用目录并后台启动
    cd /path/to/your/node/app && mynode run &
    
  3. 保存退出(Ctrl+O,回车,Ctrl+X),重启WSL测试。

方案2:用户级systemd服务(最稳定)

Ubuntu 24.04默认使用systemd,WSL需先开启systemd支持:

  1. 编辑WSL配置文件:
    sudo nano /etc/wsl.conf
    
  2. 添加以下内容:
    [boot]
    systemd=true
    
  3. 保存后关闭WSL:
    wsl --shutdown
    
  4. 重新启动WSL,创建用户级systemd服务:
    • 创建服务目录:
      mkdir -p ~/.config/systemd/user
      
    • 创建服务文件:
      nano ~/.config/systemd/user/mynode.service
      
    • 写入以下内容(替换WorkingDirectory和ExecStart中的路径):
      [Unit]
      Description=我的Node.js应用
      After=network.target
      
      [Service]
      Type=simple
      WorkingDirectory=/path/to/your/node/app
      ExecStart=$(which mynode) run
      Restart=on-failure
      
      [Install]
      WantedBy=default.target
      
    • 启用并启动服务:
      systemctl --user enable mynode.service
      systemctl --user start mynode.service
      
    下次启动WSL时,服务会自动运行;查看状态用systemctl --user status mynode.service。

方案3:Screen/Tmux后台运行(适合调试)

若需要随时查看应用输出,可借助终端复用工具:

  1. 安装screen:
    sudo apt install screen
    
  2. 在~/.bashrc末尾添加:
    screen -dmS mynode_app cd /path/to/your/node/app && mynode run
    
  3. 重启WSL后,可通过screen -r mynode_app查看应用运行状态,按Ctrl+A+D退回主会话。

内容的提问来源于stack exchange,提问作者MerNion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:37:17