您的足迹:首页 > Nginx系列 >【Nginx】反向代理折腾记(二)

【Nginx】反向代理折腾记(二)

前言

最近小编和某位小哥写的项目正在打算上线(传到服务器玩玩),可是再部署的时候出现了某些意外。先给大家讲一讲我们的部署方案,在部署的时候把前台和后台分开了(是俩个独立的系统),在设想之初后台所的域名是admin.xxx.com,前台的域名为:www.xxx.com。在部署的时候,发现了一个很有趣的问题如果我在部署的时候没有绑定网站URL,只绑定一个就可以完美部署成功一个系统,但是如果我绑定俩个之后就出现了内存溢出的问题,如果我不绑定网站URL的,这俩个系统可以完美部署,这样也是不符合我们的要求(我们程序员可是很严谨的)。随之小编去问度娘,度娘给出的解决方案是,设置内存(把内存设置的大一点),可惜小编把内存设置到最大还是没用。因为小编的服务器的配置是(11G),配置有点渣,怎么办?穷人有穷人的玩法,土豪的有土豪的玩法(服务器配置升级)。作为穷人,那么就只能靠技术来玩了。如果你想看解决方案,那么请接着往下看。

Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004104日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

解决方案

根据问题的反应,如果我们不绑定网站URL有完美的将俩个系统给跑起来。根据Nginx的反向代理的特性。

 

我们可以根据用户用户访问的网站域名来通过Nginx来进行转发。例如用户访问的admin.xxx.com那么Nginx将该请求转发到Tomcat中的后台系统。

方案实现

安装Nginx

1、下载Nginx(小编的服务器是Windows2012

http://nginx.org/en/download.html

 

选择稳定版本下载

2、启动Nginx测试进入Nginx目录执行

C:\Users\Administrator\Desktop\nginx-1.10.3>nginx.exe

 

OkNginx安装成功。

Nginx常用命令

命令

描述

start nginx.exe

启动Nginx

nginx.exe

启动Nginx,不过会使cmd窗口处于执行操作,不能进行任何操作,推荐使用start nginx.exe来启动Nginx

Nginx.exe -s stop

快速关闭Nginx,可能并不会保存相关信息

Nginx.exe -s quit

完整有序的停止nginx,并保存相关信息

Nginx.exe -s reload

重新载入Nginx

Nginx.exe -s reopen

重新打开日志文件

Nginx.exe -v

查看Nginx版本号

 

配置Nginx

修改conf目录下的nginx.conf文件

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen       80;
        server_name  admin.xxx.com;
        location / {
    proxy_redirect off;
    proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass   http://10.141.115.64:8080/laifuu-core/;
        }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 {
  root C:/Tomcat7/webapps/laifuu-core/;
  if (-f $request_filename) {
   expires 1d;
   break;
   }
expires 30d;
  }
 
location ~ .*\.(js|css)$
 {
  root C:/Tomcat7/webapps/laifuu-core/;
  if (-f $request_filename) {
   expires 1d;
   break;
   }
expires 30d;
  }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }    }
 
    server {
        listen       80;
        server_name  laifuu.laifuu.com;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
    proxy_redirect off;
    proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass   http://10.141.115.64:8080/laifuu-web/;
        }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 {
  root C:/Tomcat7/webapps/;
  if (-f $request_filename) {
   expires 1d;
   break;
   }
expires 30d;
  }
 
location ~ .*\.(js|css)$
 {
  root C:/Tomcat7/webapps/;
  if (-f $request_filename) {
   expires 1d;
   break;
   }
expires 30d;
  }
 error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }    }
 
    }
 
}

Listen:监听80端口

server_name:转发URL

Proxy_pass:代理URL

重新启动Nginx

本博客所有文章如无特别注明均为原创。作者:0nise复制或转载请以超链接形式注明转自 0nise's Blog ---1931sec TeAm!
原文地址《【Nginx】反向代理折腾记(二)

相关推荐

  • blogger

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)