虽然go 内置httpserver,但我还是倾向专业的事情让专业的来
让nginx接管静态文件,而其余的请求反向代理到go程序。
go程序监听地址是127.0.0.1:8091
nginx配置下:

server {
    listen       80; 
    server_name  你的域名;
    charset utf-8;
access_log /www_logs/nginx-access.log;

    #监听你的静态文件,根据实际情况处理,我这边是根据目录区分
location /static/ {
    access_log off;
    expires 1d; #缓存一天
    root /www/sports-live-iris; //静态文件目录,由于我的url上就附带目录,所以这里就不需要写static
    try_files $uri @backend;#如果找不到文件,则将请求转发到go
}
    
location / {
    try_files /_not_exists_ @backend;
}
    #设置go程序的代理转发
    location @backend {
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host         $http_host;
    proxy_pass http://127.0.0.1:8091;
}
}