Ubuntu是一个以桌面应用为主的Linux操作系统,Debian和Ubuntu都自带了Nginx,用他们来配置Nginx的反向代理,非常方便。
安装Nginx
运行如下命令安装并运行Nginx
- apt-getinstallnginx
- /etc/init.d/nginxstart
然后在浏览器里面访问该IP的80端口,就会看到"WelcometoNginx!"的信息,这说明Nginx安装完成了!
配置Nginx做反向代理
Nginx的缺省站点的配置文件是/etc/nginx/sites-available/default,修改这个文件中的如下部分:
- location/{
- root/var/www/nginx-default;
- indexindex.htmlindex.htm;
- }
修改为:
- location/{
- proxy_passhttp://www.6688.cc/;
- proxy_redirectoff;
- proxy_set_headerX-Real-IP$remote_addr;
- proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
- }
然后重启Nginx:
- /etc/init.d/nginxrestart
然后在浏览器里面重新访问该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的文件的内容如下:
- server{
- listen80;
- server_nametest1.idcfree.com;
- location/{
- proxy_passhttp://www.linuxidc.com/;
- proxy_redirectoff;
- proxy_set_headerX-Real-IP$remote_addr;
- proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
- }
- }
test2.idcfree.com的文件的内容如下:
- server{
- listen80;
- server_nametest2.idcfree.com;
- location/{
- proxy_passhttp://www.baidu.org.tw/;
- proxy_redirectoff;
- proxy_set_headerX-Real-IP$remote_addr;
- proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
- }
- }
然后运行命令:
- cd/etc/nginx/sites-enabled
- ln-sf/etc/nginx/sites-available/test1.idcfree.com.ln-sf/etc/nginx/sites-available/test2.idcfree.com.
- /etc/init.d/nginxrestart
这时候在浏览器里面访问test1.idcfree.com将会出现www.linuxidc.com的内容,访问test2.idcfree.com将会出现www.baidu.org.tw的内容。
反向代理的高级配置
关于Nginx反向代理的一些高级配置,我们会不断写博客介绍,敬请关注。
总结:
希望本文介绍的在Ubuntu下配置Nginx做反向代理的方法能够对读者有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。
【编辑推荐】