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. php程序猿面试分享

    面试总结 今天去了北京著名IT公司进行PHP程序猿的面试.这是人生第一次么,怎么不紧张?我是不是有病.不是.这叫自信呵. 首先是做一些笔试题. 1.mysql数据库索引使用的数据结构?这样做的优点是? ...

  2. SQL 流水账余额查询

    创建表 CREATE TABLE [dbo].[test]( ,) NOT NULL, [RQ] [date] NULL, [SR] [int] NULL, [ZC] [int] NULL ) ON ...

  3. 呼叫转接ECT

    ECT(Explicit Call Transfer,呼叫转接)是一种较为特殊的补充业务.签约ECT业务的用户A先呼叫用户B,在与用户B建立通话后,用户A通过终端发起保持用户B呼叫的请求,此时用户B会 ...

  4. [转]如何快速转载CSDN中的博客

    原文:https://blog.csdn.net/bolu1234/article/details/51867099 前言   对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时 ...

  5. 2019.03.18 连接my sql

    11.登陆功能(链接MySQL) python manage.py starapp movie 新建一个应用模块之后要记得到setting添加这个应用模块 在python2中你还有去导入一个MySQL ...

  6. SJW-遍历我的账户左侧导航页面(句柄切换)

    页面信息类似如下: 定位页面元素: import time from selenium import webdriver # import os #A #username = "182007 ...

  7. [Java in NetBeans] Lesson 15. Sorting and Searching.

    这个课程的参考视频和图片来自youtube. 主要学到的知识点有: Build in functions in java.util.Collections Need to implement a co ...

  8. Java Selenium - 元素操作 (二)

    一篇概括了常用的元素定位方法,但是找到元素还是不够的,模拟鼠标的操作,完成各个功能点的自动操作才是关键. 下面是常见的页面元素操作会涉及到的方法,不是很全,比较复杂的后面单独拿出来做案例. 一, 输入 ...

  9. python math random

    很有用个的工具 值得好好看看,这是作者(python发明者)对于工作中使用到的大多数场景的提炼 //test.py 1 import math 2 3 print abs(-10) 4 print m ...

  10. cocos2d 利用cocosStudio制作合图(plist与png)