nginx便可用作web服务器也能够用反向代理(负载均衡)(本身了解反向代理和正向代理-详情),今天介绍一下反向代理多个tomcat,先了解怎么修改端口同时运行多个tomcat服务器-详情,而后还要解析本身的域名,解析为*.lookk.cn,星号是匹配本身域名的子域名(例order.lookk.cn也解析到本身服务器的公网IP),这样就能够用项目名作为子域名了,最后在nginx的配置文件/etc/nginx/nginx.conf的http里添加一下代码java
server { listen 80; server_name order.lookk.cn; #要访问的域名,我这里用的测试域名,若是有多个,用空格分开 charset utf8; location / { proxy_pass http://127.0.0.1:8080; #映射到代理服务器,能够是ip加端口, 或url proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name javatest.lookk.cn; #要访问的域名,我这里用的测试域名,若是有多个,用空格分开 charset utf8; location / { proxy_pass http://127.0.0.1:8090; #映射到代理服务器,能够是ip加端口, 或url proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
运行多个tomcat时,通常一个tomcat最多运行一个项目,这个项目要放在ROOT目录下-详情,这样才能使proxy_pass http://127.0.0.1:8080; 直接访问该项目nginx
优势: 用nginx反向代理tomcat有如下几个优势web