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)

golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web的更多相关文章

  1. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  2. golang学习笔记8 beego参数配置 打包linux命令

    golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/docs/mvc/contro ...

  3. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  4. golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息

    golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...

  5. golang学习笔记6 beego项目路由设置

    golang学习笔记5 beego项目路由设置 前面我们已经创建了 beego 项目,而且我们也看到它已经运行起来了,那么是如何运行起来的呢?让我们从入口文件先分析起来吧: package main ...

  6. Nginx 部署、反向代理配置、负载均衡

    Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...

  7. shell脚本自动部署nignx反向代理及web服务器,共享存储

    #!/bin/bash systemctl status nginx var=$? ] then yum install epel-release -y ] then echo "epel库 ...

  8. golang学习笔记7 使用beego swagger 实现API自动化文档

    golang学习笔记7 使用beego swagger 实现API自动化文档 API 自动化文档 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/doc ...

  9. go语言,golang学习笔记4 用beego跑一个web应用

    go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...

随机推荐

  1. 萌新接触前端的第一课——HTML

    HTML web服务本质(好吧这个先不用知道也可以) import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOC ...

  2. what's the python之函数及装饰器

    what's the 函数? 函数的定义:(return是返回值,可以没有,不过没有的话就返回了None) def wrapper(参数1,参数2,*args,默认参数,**kwargs): '''注 ...

  3. 常见Chrome 插件

    Chrome插件网:http://chromecj.com/downloadstart.html Chrome浏览器:http://chromecj.com/chrome/2014-09/177.ht ...

  4. css中 ~的作用

    这是 CSS3 element1~element2 选择器 定义和用法 element1~element2 选择器 element1 之后出现的所有 element2. 两种元素必须拥有相同的父元素, ...

  5. Kalman滤波学习

    两个过程: 预测过程和更新过程 1.基本原理 2.IMU应用Kalman滤波求角速度. https://github.com/jjundot/MPU6050_Kalman

  6. 122A

    Copy #include <stdio.h> int main() { int dig; int flag=0; scanf("%d", &dig); if( ...

  7. word2vec 评测 sg=0 sg=1 size=100 window=3

    1.评价sg=0与sg=1的区别    结果原文:sg_difference.txt sg=0     sg=1 绑定                         1 关联            ...

  8. openshift 容器云从入门到崩溃之二《准备环境》

    openshift 从3.9开始就开始支持系统组件在容器里运行了,之前版本都是直接运行在操作系统上,名字也改了叫OKD 目前最新的稳定版本是3.11,所以就安装3.11版本 准备环境: 主机名 系统 ...

  9. 谷歌启用抓取JavaScript,应对方案!

    谷歌启用了抓取JavaScript来深入了解网站,这样,如果网站或黑页是加了跳转代码或判断代码,很有可能将会被识别出来.虽然目前只是谷歌启用识别JavaScript文件,但国内搜索引擎很可能也会跟着模 ...

  10. 2sum,3sum,4sum,ksum

    1. 2sum 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,你不能重复利 ...