实验环境:centos7(192.168.100.3)+nginx,centos6(192.168.100.4)+tomcat+httpd(apache)
两台均关闭防火墙和selinux
安装
nginx源码包安装,先安装依赖包gcc-c++、openssl、openssl-devel、pcre、pcre-devel、zlib、zlib-devel
然后在nginx目录执行 ./configure,make,make install
tomcat无需安装,但需要先安装java,配置环境变量。到tomcat的webapp/ROOT下,修改index.jsp为“This is tomcat1111”
httpd安装采用yum方式,直接在shell执行yum install httpd即可安装,修改/var/www/html/index为“This is apache1111”
浏览器访问如下图:
tomcat页面,访问的是8080端口
apache页面,访问的是80端口
nginx配置
apache和tomcat无需配置,使用默认配置即可
nginx配置文件为/usr/local/nginx/conf/nginx.conf(/usr/local是nginx安装目录)
在server上方添加新的配置upstream,在location里加入一行proxy_pass配置,如下图:
nginx反向代理配置:
配置之后,到/usr/local/nginx/sbin/目录下,执行 ./nginx
启动nginx,默认访问端口为80,结果如下图:
访问nginx得到apache的页面,刷新之后得到tomcat的页面
至此,简单的实现了nginx反向代理。
其实,修改nginx配置文件中的upstream配置项,可以反向代理其他网站,只需把server地址修改一下,地址也可以写成域名形式,然后到/usr/local/nginx/sbin/目录下,执行./nginx -s reload,可以加载新的配置。