在你的VPS上配置Nginx反向代理

来源:互联网 发布:淘宝骗术大全 编辑:程序博客网 时间:2024/06/04 13:42

先打个小广告,不要介意哈[郭放的博客]

什么是Nginx?

Nginx是一个高性能的HTTP和反向代理服务器,他的源码以类BSD许可证的形式发布,并以稳定性,丰富的功能集,示例配置文件和第系统资源消耗而闻名。大陆就有很多使用Nginx的知名网站,比如百度,京东,新浪,网易等等。。

什么是反向代理?

反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部(或其他)网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。

还有,不要指望给你的VPS提高性能,因为单纯的反向代理不会改变后端请求数、协议和带宽。Nginx只能提高吞吐量,只有在集群环境下Nginx才能支持负载均衡并是网站获得更好的性能和稳定性。

下面是 实现方法 :

比如我想在VPS上建一个t.vpser.net的域名用来反向代理访问txxx.com,首先在域名注册商那里的域名管理上为域名t.vpser.net添加A记录到VPS的IP上,再在VPS上修改Nginx的配置文件,添加如下:

1
2
3
4
5
6
7
8
9
10
11
server
{
listen 80;
server_name t.vpser.net;
location / {
proxy_pass http://txxx.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

添加好后,先执行:/usr/local/nginx/sbin/nginx -t 检查配置是否正常,如果显示:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 则正常,否则按错误提示修改配置。

这样只是简单的反向代理,如果nginx上已经安装 –with-http_sub_module 模块,可以在location / { 中添加上 sub_filter 替换内容 ‘替换后内容’; 进行简单的内容替换,默认只替换html内容(如更改html源码里面的网址、文章等信息),其他文件类型,需要添加 sub_filter_types 参数指定更多类型,多次替换还需要加上sub_filter_once off; 。

如果网站较大可能会有很多其他的资源需要替代,需要在nginx上添加第三方模块ngx_http_substitutions_filter_module来实现更多功能。

再执行 /usr/local/nginx/sbin/nginx -s reload 使配置生效,域名解析生效后就可以通过t.vpser.net 访问txxx了。