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的安装就略去了,首先查看配置文件:
[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的proxy配置(反向代理)
- nginx反向代理配置及优化
- Nginx配置之反向代理与负载均衡
- Nginx配置负载均衡及反向代理
- Nginx反向代理实现负载均衡配置图解
- 转载:nginx配置文件的location标签执行顺序和反向代理配置
- nginx反向代理配置及优化 推荐
- nginx反向代理配置及优化
- Nginx反向代理以及配置优化
- Nginx实现反向代理和负载均衡的配置及优化
- 根据csv文件动态创建nginx配置文件(用于反向代理,perl描述)
- 读《实战nginx-取代Apache的高性能web服务器》-"Nginx HTTP 负载均衡和反向代理的配置与优化"精华纪要
- Nginx配置文件的常用设置(附详细说明及Nginx的proxy负载均衡、memcached负载均衡、反向代理)
- nginx反向代理配置实例分享
- Nginx“山寨版”反向代理配置
- nginx反向代理配置及优化
- 在Debian/Ubuntu VPS下配置Nginx做反向代理
- Nginx HTTP负载均衡和反向代理配置
- Nginx之反向代理配置
- nginx反向代理配置及优化