golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web - Go语言中文社区

golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web


golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web

Nginx 部署 - beego: 简约 & 强大并存的 Go 应用框架
https://beego.me/docs/deploy/nginx.md

Go 是一个独立的 HTTP 服务器,但是我们有些时候为了 nginx 可以帮我做很多工作,例如访问日志,cc 攻击,静态服务等,nginx 已经做的很成熟了,Go 只要专注于业务逻辑和功能就好,所以通过 nginx 配置代理就可以实现多应用同时部署,如下就是典型的两个应用共享 80 端口,通过不同的域名访问,反向代理到不同的应用。

 

server {
    listen       80;
    server_name  .a.com;

    charset utf-8;
    access_log  /home/a.com.access.log;

    location /(css|js|fonts|img)/ {
        access_log off;
        expires 1d;

        root "/path/to/app_a/static";
        try_files $uri @backend;
    }

    location / {
        try_files /_not_exists_ @backend;
    }

    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;

        proxy_pass http://127.0.0.1:8080;
    }
}

server {
    listen       80;
    server_name  .b.com;

    charset utf-8;
    access_log  /home/b.com.access.log  main;

    location /(css|js|fonts|img)/ {
        access_log off;
        expires 1d;

        root "/path/to/app_b/static";
        try_files $uri @backend;
    }

    location / {
        try_files /_not_exists_ @backend;
    }

    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;

        proxy_pass http://127.0.0.1:8081;
    }
}

  

现有两个Golang Web服务程序: web1(8080), web2(8081), 两个域名:www.xxxxx.com, www.yyyy.com 

    在一台机器上,使xxxxx.com 解析到 8080端口,yyyy.com解析到8081端口

    使用nginx进行反向代理的方法:

    一、在nginx配置文件中,添加如下配置

         server{

listen 80;

server_name  www.xxxxx.com xxxxx.com;

location /{

try_files /_not_exists @backend;

}

location @backend{

proxy_set_header X-Forwarded-For $remote_addr;

proxy_set_header Host            $http_host;

proxy_pass  http://localhost:8080;

}

}

        域名xxxxx.com,www.xxxxx.com即可解析到服务器 8080端口

       server{

listen 80;

server_name  www.yyyy.com yyyy.com;

location /{

try_files /_not_exists @backend;

}

location @backend{

proxy_set_header X-Forwarded-For $remote_addr;

proxy_set_header Host            $http_host;

proxy_pass  http://localhost:8081;

}

}

        域名yyyy.com,www.yyyy.com即可解析到服务器 8081端口。

---------------------------

 QQ群:golang beego技术交流群(316397059)
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_34056162/article/details/86260851
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 10:32:19
  • 阅读 ( 1633 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢