DAILY DOCDAILY DOC
Rust
Node
Notes
Ubuntu
Leetcode
  • it-tools
  • excalidraw
  • linux-command
Rust
Node
Notes
Ubuntu
Leetcode
  • it-tools
  • excalidraw
  • linux-command
  • linux
  • bash alias
  • chmod
  • linux useful command
  • date
  • extract translation from git diff
  • fail2ban
  • globbing
  • localhost
  • mail
  • memo 内存测试
  • nohup(no hang up)
  • setup env
  • ssh

    • ssh 教程
    • github clone
    • ssh.localhost.run 端口转发
    • ssh 安全
  • systemd service
  • 分析ubuntu系统登录日志文件
  • vpn

    • vpn 教程
    • Algo
    • clashX
    • firezone
    • lantern
    • pac 代理配置
    • Setup vpn
    • shadowsocks
    • VPN
    • VPN 速度优化
    • wireguard cron
    • 修改wireguard端口
  • webhook

systemd service

在 Ubuntu 上,通过 systemd 注册一个服务(如 Node.js 的 serve 服务)需要执行以下步骤:

  1. 安装 serve: 先确保已经安装了 serve,可以通过以下命令安装:

    npm install -g serve
    
  2. 创建一个服务单元文件: 在 /etc/systemd/system 目录下创建一个新的服务单元文件。假设我们要创建一个名为 my-serve.service 的服务。

    sudo nano /etc/systemd/system/my-serve.service
    
  3. 配置服务单元文件: 在文件中添加以下内容,配置 serve 服务的运行方式:

    [Unit]
    Description=Serve Static Files
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/serve -s /path/to/your/static/files
    WorkingDirectory=/path/to/your/static/files
    Restart=always
    RestartSec=10
    User=www-data
    Group=www-data
    Environment=PATH=/usr/bin:/usr/local/bin
    Environment=NODE_ENV=production
    
    [Install]
    WantedBy=multi-user.target
    

    请根据实际情况替换以下内容:

    • /usr/bin/serve:serve 命令的路径,可以使用 which serve 命令获取。
    • /path/to/your/static/files:要服务的静态文件路径。
    • User 和 Group:运行服务的用户和组,建议使用 www-data 或其他非 root 用户。
  4. 刷新 systemd 配置: 保存并关闭文件后,刷新 systemd 配置以应用新的服务单元文件:

    sudo systemctl daemon-reload
    
  5. 启动并启用服务: 启动服务并设置开机自启:

    sudo systemctl start my-serve.service
    sudo systemctl enable my-serve.service
    
  6. 检查服务状态: 检查服务状态以确保它运行正常:

    sudo systemctl status my-serve.service
    

    如果服务未能启动,可以查看日志了解更多信息:

    journalctl -u my-serve.service
    

示例

假设我们有一个静态文件目录 /var/www/my-static-site,使用 serve 提供服务。我们创建的服务单元文件内容如下:

[Unit]
Description=Serve Static Files
After=network.target

[Service]
ExecStart=/usr/local/bin/serve -s /var/www/my-static-site
WorkingDirectory=/var/www/my-static-site
Restart=always
RestartSec=10
User=www-data
Group=www-data
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

完成上述步骤后,您的 serve 服务应该能够在系统启动时自动运行,并在失败时自动重启。

Last Updated:
Contributors: rosendo
Next
分析ubuntu系统登录日志文件