• 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)
  • 相关阅读:
    SELECT SCREEN 整理2 转载
    SELECT SCREEN 整理1 转载
    ABAP面向对象 转载
    [OO]ABAP OO 语法--实例看 "="与"?=" 的区别[转]
    cl_salv_table
    sapui5 组件重用
    sapui5 使用common(其他工程)的i18n 文件
    sapui5 app之间迁移
    导航与路由10-17(渣翻完结)
    导航与路由1-9 (渣翻)
  • 原文地址:https://www.cnblogs.com/zdz8207/p/golang-learn-9.html
Copyright © 2020-2023  润新知