您的位置:首页 > 运维架构 > 反向代理

nginx的反向代理配置

2014-08-06 11:52 141 查看
首先说明一下,nginx的反向代理和nginx的负载均衡很相似,nginx一般被作为反向代理实现负载均衡,有的人也把nginx的反向代理当做负载均衡,把nginx的负载均衡当做反向代理。nginx有很多功能和高性能,而它的强大的反向代理功能是它火的最主要原因。

这里nginx的安装就略去了,首先查看配置文件:

[root@nginx conf]# cat nginx.conf
user nobody;
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;

events {
worker_connections 1024;
use epoll;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile on;
keepalive_timeout 65;
include extra/fanxiangdaili.conf; ///引用fanxiangdaili.conf这个文件

}

然后查看一下我配置的反向代理文件里面都是哪些内容:
[root@nginx extra]# cat fanxiangdaili.conf
server {
listen 80; ///监听本机的所有80端口
server_name 10.10.16.29; ///客户端要访问本服务器时输入的域名,由于这里没有配置dns服务器,就用ip地址代替相应的域名,效果是一样的。

location / {
proxy_pass http://127.0.0.1:88; ///将客户端发出的请求全部送到127.0.0.1这台机器的88端口,也就是本机的88端口,这里的88端口,我用的是Apache,一般nginx作为反向代理时,代理的是动态页面(比如php),然后将动态页面请求扔给Apache处理,扔的过程就是靠这句代码实现
}

}

[root@nginx conf]# yum install httpd -y ///搭建Apache服务器
[root@nginx conf]# vi httpd.conf ///修改Apache的监听端口,将默认的80端口改成88端口
134 Listen 88
[root@nginx html]# cat index.html ///创建Apache网站的主页(/var/www/html/index.html)
hehe apache
[root@nginx sbin]# ./nginx -s reload ///重启nginx服务,使更改生效

ok,到这里,客户端可以访问了,看如下效果:



用户访问10.10.16.29,返回了Apache的主页,说明nginx的反向代理功能做成功了。
这里还可以将要反向代理的机器配成其他机器而不是本机,在fanxiangdaili.conf配置文件改就行了,不过,经过验证,一台nginx服务器只能代理一个ip,想代理多个ip的话就用负载均衡吧(即upstream模块)。
[root@nginx extra]# cat fanxiangdaili.conf
server {
listen 80;
server_name 10.10.16.29;

location / {
# proxy_pass http://127.0.0.1:88; proxy_pass http://10.10.16.91; }
}

[root@nginx sbin]# ./nginx -s reload
现在客户端再访问,见效果:



结果显示,访问同一个地址10.10.16.29,得到的是另外一个页面,这表明nginx的反向代理功能做成功了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  反向代理 nginx