设置文字修仙开机自启(ubuntu)
在 Ubuntu 系统中,您可以通过编写一个 Shell 脚本并创建一个 systemd 服务来实现自动进入指定目录执行 npm run preview,并设置为开机启动。以下是详细的步骤:
1. 编写 Shell 脚本
首先,创建一个 Shell 脚本,用于导航到目标目录并执行命令。
bash
#!/bin/bash
# 导航到项目目录
cd /data/work/vue-XiuXianGame || exit
# 设置环境变量(如果需要)
# export NODE_ENV=production
# 执行 npm run preview
/usr/bin/npm run preview步骤说明:
使用文本编辑器创建脚本文件,例如
start_preview.sh:bash
sudo nano /usr/local/bin/start_preview.sh将上述脚本内容粘贴进去。
保存并退出编辑器。
给予脚本执行权限:
bash
sudo chmod +x /usr/local/bin/start_preview.sh
2. 创建 systemd 服务文件
接下来,创建一个 systemd 服务文件,以便系统在启动时运行该脚本。
bash
sudo nano /etc/systemd/system/vue-preview.service在文件中添加以下内容:
ini
[Unit]
Description=Vue XiuXianGame Preview Service
After=network.target
[Service]
Type=simple
User=your_username
WorkingDirectory=/data/work/vue-XiuXianGame
ExecStart=/usr/bin/npm run preview
Restart=on-failure
Environment=PATH=/usr/bin:/usr/local/bin
# 如果需要,可以在这里设置更多环境变量
# Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target注意:
将
your_username替换为运行该服务的实际用户名。确保
ExecStart中的路径/usr/bin/npm是正确的,可以通过运行which npm来确认。
3. 重新加载 systemd 配置并启动服务
执行以下命令以使 systemd 识别新的服务文件,并启动服务:
bash
# 重新加载 systemd 守护进程
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start vue-preview.service
# 检查服务状态
sudo systemctl status vue-preview.service4. 设置服务开机自启动
为了让服务在系统启动时自动运行,启用该服务:
bash
sudo systemctl enable vue-preview.service5. (可选)日志管理
如果您希望将服务的输出日志保存到文件中,可以在服务文件中添加 StandardOutput 和 StandardError 指令。例如:
ini
[Service]
# 其他配置...
StandardOutput=append:/var/log/vue-preview.log
StandardError=append:/var/log/vue-preview.err然后,重新加载 systemd 并重启服务:
bash
sudo systemctl daemon-reload
sudo systemctl restart vue-preview.service总结
通过上述步骤,您已经成功编写了一个脚本来进入指定目录并执行 npm run preview,并将其设置为开机自启动。这样,每次系统启动时,您的 Vue 项目预览服务都会自动运行。
如果在过程中遇到任何问题,可以通过查看服务状态和日志来排查:
bash
# 查看服务状态
sudo systemctl status vue-preview.service
# 查看日志
journalctl -u vue-preview.service