-
Notifications
You must be signed in to change notification settings - Fork 127
进阶设置
Timothy edited this page Dec 8, 2017
·
12 revisions
通常情况,你会配置自己的域名来访问相应的服务。如果服务器上80,443端口已经占用,你需要配置反向代理访问到ignite服务使用的5000端口,ignite-admin服务使用的8000端口。
如果服务器上80,443端口并未占用,这里提供一种简单的容器化Caddy服务方式来绑定域名,并快速实现HTTPS方式访问。
定义caddy服务:
- 修改并保存示例Caddyfile配置的域名和邮箱。
ignite.xxxx.com {
tls [email protected]
proxy / localhost:5000 {
transparent
}
}
ignite-admin.xxxx.com {
tls [email protected]
proxy / localhost:8000 {
transparent
}
}
- 编辑如下docker-compose.yml文件
version: '2'
services:
caddy:
container_name: caddy
image: abiosoft/caddy
volumes:
- "./certs:/etc/caddycerts"
- "./Caddyfile:/etc/Caddyfile"
ports:
- 80:80
- 443:443
network_mode: "host"
restart: always
environment:
CADDYPATH: /etc/caddycerts
最后,docker-compose up -d 即可快速部署Caddy Server。Caddy Server启动后,将自动为你申请SSL证书,从而实现对站点的HTTPS方式访问,省去手动申请SSL证书的麻烦。
注:此方法仅适用于手动部署
通常nohup启动的程序,会随着程序运行异常,或者服务器重启后,程序退出而终止运行,通常我们会使用upstart/systemd/supervisor来作为系统守护进程,来管理我们的应用程序,这样在程序异常退出,或者服务器重启后,程序会自动启动并运行。这里介绍如何用Systemd来管理go-ignite进程。
在ignite和ignite-admin的daemon目录中,能分别找到ignite.service 和 ignite-admin.service 配置模板,将它们分别拷贝到系统 /lib/systemd/system
修改配置模板中的几个关键配置项:
WorkingDirectory=/path/to/ignite
ExecStart=/path/to/ignite/executable
User=root
- WorkingDirectory: 程序工作目录,指向ignite或者ignite-admin所部署的目录
- ExecStart: 可执行程序路径,指向ignite或者ignite-admin可执行程序路径
- User: 程序运行时所使用的系统账户,可根据系统已有账户进行修改,请注意,改账户必须有权限访问ignite或者ignite-admin部署目录,并且改账户应当加入系统docker用户组,这样才有权限与docker进行交互。
配置完成后,分别enable ignite与ignite-admin的service,并启动:
sudo systemctl enable ignite && sudo systemctl start ignite
sudo systemctl enable ignite-admin && sudo systemctl start ignite-admin