Ubuntu中实现"npm run dev"或"pnpm start"开机自动运行-宝塔环境

在Ubuntu 20.04/22.04中,可以通过设置自启动服务来实现让

"npm run dev"在开机后自动运行的功能。

具体步骤如下:

1. 创建一个服务配置文件,命名为

npm-dev.service

并将其保存在

/etc/systemd/system/

目录下

2. 在 npm-dev.service 中添加以下内容:

[Unit]
Description=My Node.js Development Server
After=network.target

[Service]
Type=simple
User=<Your-Username>
WorkingDirectory=<Path-To-Project-Directory>
ExecStart=<Path-To-Node-Binary> <Path-To-Npm-Binary> run dev
Restart=always

[Install]
WantedBy=multi-user.target

其中,你需要将 替换为你的用户名, 替换为包含项目的目录路径, 替换为 Node.js 二进制文件的路径(通常为 /usr/bin/node), 替换为 npm 二进制文件的路径(通常为 /usr/bin/npm)

3. 启用并启动该服务:

sudo systemctl enable npm-dev.service
sudo systemctl start npm-dev.service

现在,“npm run dev”就会在Ubuntu启动后自动运行了。如果你希望停止该服务,可以使用以下命令:

sudo systemctl stop npm-dev.service

真实示例:

(在宝塔安装的node环境下,开机自动运行ChatGPT的客户端服务“pnpm start”命令)

/etc/systemd/system/pnpm-start.service
[Unit]
Description=ChatGPT Development Server Start
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/www/wwwroot/chat.xeylon.com/chatgpt-web/service
ExecStart=/www/server/nodejs/v18.15.0/bin/pnpm start
Restart=always

[Install]
WantedBy=multi-user.target

创建好后执行:

sudo systemctl enable pnpm-start.service
sudo systemctl start pnpm-start.service
sudo systemctl stop pnpm-start.service

标签: 无

发表评论: