Ubuntu下如何配置Nginx做反向代理

Ubuntu是一个以桌面应用为主的Linux操作系统,Debian和Ubuntu都自带了Nginx,用他们来配置Nginx的反向代理,非常方便。

安装Nginx

运行如下命令安装并运行Nginx

 

  1. apt-getinstallnginx  
  2.  
  3. /etc/init.d/nginxstart 

 

然后在浏览器里面访问该IP的80端口,就会看到"WelcometoNginx!"的信息,这说明Nginx安装完成了!

配置Nginx做反向代理

Nginx的缺省站点的配置文件是/etc/nginx/sites-available/default,修改这个文件中的如下部分:

 

  1. location /{  
  2.  
  3. root /var/www/nginx-default;  
  4.  
  5. index index.html index.htm;  
  6.  

 

修改为:

 

  1. location /{  
  2.  
  3. proxy_pass http://www.6688.cc/;  
  4.  
  5. proxy_redirect off;  
  6.  
  7. proxy_set_header X-Real-IP $remote_addr;  
  8.  
  9. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
  10.  

 

然后重启Nginx:

 

  1. /etc/init.d/nginx restart 

 

然后在浏览器里面重新访问该IP上面的80端口,应该就看到google的主页了,反向代理配置成功了

多域名反向代理配置实例

在一个VPS上配置多个域名的反向代理,比如我们有两个域名test1.idcfree.com和test2.idcfree.com,我们希望客户在访问test1.idcfree.com的时候出现www.linuxidc.com的内容,希望客户在访问test2.idcfree.com的时候出现www.baidu.org.tw的内容,客户只知道test1.idcfree.com和test2.idcfree.com的存在,而不知道www.linuxidc.com和www.baidu.org.tw的存在。

首先需要把域名test1.idcfree.com和test2.idcfree.com指向VPS的IP地址。

然后在/etc/nginx/sites-available目录下增加两个文件,文件名分别是test1.idcfree.com和test2.idcfree.com

test1.idcfree.com的文件的内容如下:

 

  1. server{  
  2.  
  3. listen 80;  
  4.  
  5. server_name test1.idcfree.com;  
  6.  
  7. location /{  
  8.  
  9. proxy_pass http://www.linuxidc.com/;  
  10.  
  11. proxy_redirect off;  
  12.  
  13. proxy_set_header X-Real-IP $remote_addr;  
  14.  
  15. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
  16.  
  17. }  
  18.  

 

test2.idcfree.com的文件的内容如下:

 

  1. server{  
  2.  
  3. listen80;  
  4.  
  5. server_nametest2.idcfree.com;  
  6.  
  7. location /{  
  8.  
  9. proxy_pass http://www.baidu.org.tw/;  
  10.  
  11. proxy_redirect off;  
  12.  
  13. proxy_set_header X-Real-IP $remote_addr;  
  14.  
  15. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
  16.  
  17. }  
  18.  

 

然后运行命令:

 

  1. cd /etc/nginx/sites-enabled  
  2.  
  3. ln-sf /etc/nginx/sites-available/test1.idcfree.com
  4. ln-sf/etc/nginx/sites-available/test2.idcfree.com 
  5.  
  6. /etc/init.d/nginx restart 

 

这时候在浏览器里面访问test1.idcfree.com将会出现www.linuxidc.com的内容,访问test2.idcfree.com将会出现www.baidu.org.tw的内容。

posted on 2012-10-17 14:05  一个石头  阅读(680)  评论(0)    收藏  举报