• 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)
  • 相关阅读:
    PAT《数据结构学习与实验指导》实验项目集 2-09 2-10 2-11 2-12 2-13
    codeblocks+Mingw 下配置开源c++单元测试工具 google test
    编程之美 1.16 24点游戏
    PAT 1065 1066 1067 1068
    多线程批量执行等待全部结果
    使用Git和远程代码库
    CentOS下Crontab安装使用详细说明(转)
    安装和测试Kafka(转)
    MapReduce任务参数调优(转)
    Maven构建应用程序常用配置(转)
  • 原文地址:https://www.cnblogs.com/zdz8207/p/golang-learn-9.html
Copyright © 2020-2023  润新知