博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web
阅读量:7013 次
发布时间:2019-06-28

本文共 2044 字,大约阅读时间需要 6 分钟。

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

Nginx 部署 - beego: 简约 & 强大并存的 Go 应用框架

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)

转载地址:http://jsqtl.baihongyu.com/

你可能感兴趣的文章