Supervisor¶
Supervisor 是一个进程控制系统,可让你轻松启动、停止和重启你的 Vapor 应用程序。
安装¶
Supervisor 可以通过 Linux 上的包管理器安装。
Ubuntu¶
sudo apt-get update
sudo apt-get install supervisor
CentOS and Amazon Linux¶
sudo yum install supervisor
Fedora¶
sudo dnf install supervisor
配置¶
服务器上的每个 Vapor 应用程序都应该有自己的配置文件。例如 Hello
项目,配置文件位于 /etc/supervisor/conf.d/hello.conf
[program:hello]
command=/home/vapor/hello/.build/release/App serve --env production
directory=/home/vapor/hello/
user=vapor
stdout_logfile=/var/log/supervisor/%(program_name)s-stdout.log
stderr_logfile=/var/log/supervisor/%(program_name)s-stderr.log
正如我们的配置文件中所指定的, Hello
项目位于用户 vapor
的主文件夹中。确保 directory
指向 Package.swift
文件所在项目的根目录。
--env production
标志会禁用详细日志记录。
环境¶
你可以使用 supervisor 将变量导出到你的 Vapor 应用程序。要导出多个环境值,请将它们全部放在一行上。根据 Supervisor 文档:
包含非字母数字字符的值应该用引号括起来(e.g. KEY="val:123",KEY2="val,456")。否则,引用值是可选的,但是推荐使用。
environment=PORT=8123,ANOTHERVALUE="/something/else"
可以在 Vapor 中使用 Environment.get
导出变量
let port = Environment.get("PORT")
开始¶
你现在可以加载并启动你的应用程序。
supervisorctl reread
supervisorctl add hello
supervisorctl start hello
注意
add
命令可能已经启动了你的应用程序。