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 端口,通过不同的域名访问,反向代理到不同的应用。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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)
posted @   大自然的流风  阅读(6075)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-05-20 网站app原型设计工具:axure,Mockups,墨刀
2012-05-20 java float 加减精度问题
2012-05-20 android的textview显示音标问题解决方法
2012-05-20 免费的Git私有代码托管服务
点击右上角即可分享
微信分享提示