说明
- 将一个简单的exe可执行文件,作为Windows服务启动,不需要登录用户
- 以CoreDNS为例做个说明
- CoreDNS通过Windows自带的sc命令创建服务,启动会失败
- 启动CoreDNS是一个命令提示符窗口
- 只有单一exe可执行文件和一个配置文件
CoreDNS
项目地址
https://github.com/coredns/coredns
下载地址
https://github.com/coredns/coredns/releases/download/v1.7.0/coredns_1.7.0_windows_amd64.tgz
创建工作目录
D:\Program Files\CoreDNS
创建配置文件
D:\Program Files\CoreDNS\Corefile
1 | .:53 { |
WinSW
项目地址
https://github.com/winsw/winsw
下载地址
https://github.com/winsw/winsw/releases
二进制文件
Windows7及之前的版本 下载 WinSW.NET2.exe
Windows8及之后的版本 下载 WinSW.NET4.exe
Windows10 下载 WinSW.NET461.exe
配置文件模板
配置Windows服务
配置WinSW
拷贝winsw
将winsw可执行文件拷贝到CoreDNS的目录,并且重命名为D:\Program Files\CoreDNS\CoreDNS-service.exe
创建winsw配置
更多的配置项可以参考
sample-allOptions.xml
D:\Program Files\CoreDNS\CoreDNS-service.xml
1 | <service> |
配置系统服务
- 以管理员模式打开命令行提示符
- 安装服务
1 | D:\Program Files\CoreDNS\CoreDNS-service.exe install |
- 启动服务
1 | D:\Program Files\CoreDNS\CoreDNS-service.exe start |
- 检查服务状态
1 | D:\Program Files\CoreDNS\CoreDNS-service.exe status |
验证
- 重启操作系统
- 打开命令行提示符
- 输入
nslookup www.baidu.com 127.0.0.1
,返回以下内容即可
1 | 服务器: localhost |