当我们启动一个go 程序的时候,通常监听的是本地端口如 IP:port 。但是实际的线上环境,解析路径是:通过 DNS 解析 ——> nginx vhost ——> IP:port 这个。单纯的使用 go 是不能处理 域名解析工作的。

所以通常是NGINX 和 Go 搭配着使用。

nginx 可以帮我做很多工作,例如访问日志,cc 攻击,静态服务等,nginx 已经做的很成熟了。

Go 只要专注于业务逻辑和功能就好。

NGINX作为反向代理的配置如下:

将NGINX代理的端口,映射到Go监听的IP:port 下,就实现了使用Nginx+Go,虚拟空间跑Go程序的环境搭建