设为首页 收藏本站
查看: 925|回复: 0

[经验分享] Nginx+Tomcat多站点访问默认主页问题

[复制链接]

尚未签到

发表于 2015-11-13 09:43:31 | 显示全部楼层 |阅读模式
  Nginx+Tomcat配置后,访问多个站点时,默认主页老转向Tomcat的主页。
  经过仔细检查,发现问题所在,我想这也是大家常常需要注意的地方,否则经常出现以上类似问题会让人懊恼的。
  1.Tomcat的server.xml文件配置多个站点:
01<Enginename=&quot;Catalina&quot;defaultHost=&quot;www.abc.com&quot;>02  <Hostname=&quot;www.abc.com&quot; appBase=&quot;/home/www/abc&quot;03            unpackWARs=&quot;true&quot;autoDeploy=&quot;true&quot;04            xmlValidation=&quot;false&quot;xmlNamespaceAware=&quot;false&quot;>05    <contextpath=&quot;&quot;docBase=&quot;/home/www/abc&quot;debug=&quot;0&quot;reloadable=&quot;true&quot;></context>06  </Host>07  <Hostname=&quot;www.abd.com&quot; appBase=&quot;/home/www/abd&quot;08            unpackWARs=&quot;true&quot;autoDeploy=&quot;true&quot;09            xmlValidation=&quot;false&quot;xmlNamespaceAware=&quot;false&quot;>10    <contextpath=&quot;&quot;docBase=&quot;/home/www/abd&quot;debug=&quot;0&quot;reloadable=&quot;true&quot;></context>11   </Host>12</Engine>  Engine 的 dafaultHost :表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面。
Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host。
Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径。
注意:Host的appBase这里必须写绝对路径,即跟context的docBase路径一致,否则访问指定域名时访问不了配置的站点的主页。把项目相关文件放入到你配置context的docBase路径的ROOT文件夹里。
  
  2.看看Nginx反向代理Tomcat的配置:
001user www;002 003# 根据你服务器的cpu核数来确定此&#20540;004worker_processes 2;005 006error_log logs/error.log crit;007#error_log logs/error.log notice;008#error_log logs/error.log info;009 010#pid logs/nginx.pid;011 012worker_rlimit_nofile 65535;013 014# events事件主要用来确定Nginx使用哪种算法015events {016 use epoll;017 worker_connections 65535;018 }019 020http {021 include mime.types;022 default_type application/octet-stream;023 024 #log_format main '$remote_addr - $remote_user [$time_local] &quot;$request&quot; '025 # '$status $body_bytes_sent &quot;$http_referer&quot; '026 # '&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;';027 028# 由于Nginx用于代理Tomcat,所以记录访问日志的事情交给Tomcat来做好了,注释掉029#access_log logs/access.log main;030 031sendfile on;032 tcp_nopush on;033 tcp_nodelay on;034 035#keepalive_timeout 0;036 keepalive_timeout 65;037 038server_names_hash_bucket_size 128;039 client_header_buffer_size 32k;040 large_client_header_buffers 4 32k;041 client_max_body_size 300m;042 client_body_buffer_size 512k;043 044# 代理的相关参数设置045 proxy_connect_timeout 5;046 proxy_read_timeout 60;047 proxy_send_timeout 5;048 proxy_buffer_size 16k;049 proxy_buffers 4 64k;050 proxy_busy_buffers_size 128k;051 proxy_temp_file_write_size 128k;052 053# 启用gzip压缩,提高用户访问速度054 gzipon;055 gzip_min_length 1k;056 gzip_buffers 4 16k;057 gzip_http_version 1.1;058 gzip_comp_level 2;059 gzip_types text/plain application/x-javascript text/css application/xml;060 gzip_vary on;061 062# 配置需要代理的tomcat063upstream tomcat_proxy{064server 199.181.132.250:8080;065 }066 067# 虚拟主机:www.abc.com068server {069 listen 80;070 server_name abc.com www.abc.com;071 index index.html index.htm index.jsp;072 root /home/www/abc/ROOT;073 074if (-d $request_filename){075 rewrite ^/(.*)([^/])$http://$host/$1$2/ permanent;076 }077 078# 动态页面,交给tomcat处理079location ~ \.(jsp|jspx|do|action)?$ {080 proxy_set_header Host $host;081 proxy_set_header X-Forwarded-For $remote_addr;082proxy_pass http://tomcat_proxy;083 }084 085# 用户浏览器端的缓存设置086location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {087 expires 10d;088 }089 090location ~ .*\.(js|css)?$ {091 expires 1h;092 }093 094access_log off;095 #charset koi8-r;096 #access_log logs/host.access.log main;097 }098 099# 虚拟主机:www.abd.com100server {101 listen 80;102 server_name abd.com www.abd.com;103 index index.html index.htm index.jsp;104 root /home/www/abd/ROOT;105 106if (-d $request_filename){107 rewrite ^/(.*)([^/])$http://$host/$1$2/ permanent;108 }109 110location ~ \.(jsp|jspx|do|action)?$ {111 proxy_redirect off;112 proxy_set_header Host $host;113 proxy_set_header X-Forwarded-For $remote_addr;114 proxy_pass http://tomcat_proxy;115 }116 117location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {118 expires 10d;119 }120 121location ~ .*\.(js|css)?$ {122 expires 1h;123 }124 125access_log off;126 #charset koi8-r;127 #access_log logs/host.access.log main;128 }129 }  需要注意的地方:root 的&#20540;是对应上面Tomcat配置文件中context的docBase&#20540;&#43;/ROOT,Tomcat根据server.xml的host的appBase设置,默认访问此appBase的ROOT文件夹里的设置的默认主页,因此我们把项目文件都放在context的docBase的ROOT文件夹中。
  注意以上几个细节,那就实现访问各个站点的默认主页了,不再转向Tomcat的主页

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-138610-1-1.html 上篇帖子: Nginx 中last和break 及 permanent 和 redirect 的爱恨情仇 下篇帖子: nginx开启gzip
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表