Skip to content

在 Linux 上使用 Supervisor 守护 .NET 应用

Supervisor 是一个通用的进程管理工具,可以用于守护和管理 .NET 应用程序。它能够监控并自动重启任何类型的进程,确保应用程序的稳定运行。

基本步骤

1. 安装 Supervisor

在 Linux 系统中,可以使用包管理器来安装 Supervisor。例如,在 Ubuntu 上,可以使用以下命令来安装 Supervisor:

shell
sudo apt-get update
sudo apt-get install supervisor

2. 创建 Supervisor 配置文件

创建一个新的 Supervisor 配置文件,其中包括要守护的 .NET 应用程序的相关信息。例如,可以创建一个名为 myapp.conf 的新文件,并将以下内容添加到其中:

ini
[program:myapp]
command=/usr/bin/dotnet /path/to/myapp.dll
directory=/path/to/myapp
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log

配置说明:

  • command:指定要运行的 .NET 应用程序的路径和名称。
  • directory:指定应用程序的工作目录。
  • autostart:指定在机器启动时自动启动应用程序。
  • autorestart:指定在应用程序退出时自动重启应用程序。
  • stderr_logfile:指定应用程序的错误日志文件路径。
  • stdout_logfile:指定应用程序的输出日志文件路径。

3. 将配置文件复制到 Supervisor 配置目录

将上述创建的 myapp.conf 文件复制到 Supervisor 的配置目录中。在 Ubuntu 系统上,配置文件通常位于 /etc/supervisor/conf.d/ 目录下。

shell
sudo cp myapp.conf /etc/supervisor/conf.d/

4. 重新加载 Supervisor 配置

使用以下命令重新加载 Supervisor 配置:

shell
sudo supervisorctl reread
sudo supervisorctl update

5. 启动 .NET 应用程序

最后,使用以下命令启动 .NET 应用程序:

shell
sudo supervisorctl start myapp

此时,Supervisor 将开始监控并守护您的 .NET 应用程序。如果应用程序崩溃或异常退出,Supervisor 将自动重启应用程序,并将错误信息记录到相应的日志文件中。

操作命令

Supervisor 提供了一系列命令用于管理应用程序的启动、停止、重启和监控。以下是一些常用的 Supervisor 命令操作:

  • 启动应用程序:

    shell
    sudo supervisorctl start myapp
  • 停止应用程序:

    shell
    sudo supervisorctl stop myapp
  • 重启应用程序:

    shell
    sudo supervisorctl restart myapp
  • 查看应用程序状态:

    shell
    sudo supervisorctl status myapp
  • 查看应用程序日志:

    shell
    sudo tail -f /var/log/myapp.err.log
    sudo tail -f /var/log/myapp.out.log

参考资料

最近更新