Nginx+Tomcat多站点访问默认tomcat主页问题
2017-04-18 08:13
218 查看
Nginx+Tomcat配置后,访问多个站点时,默认主页老转向Tomcat的主页。
经过仔细检查,发现问题所在,我想这也是大家常常需要注意的地方,否则经常出现以上类似问题会让人懊恼的。
1.Tomcat的server.xml文件配置多个站点:
Engine 的 dafaultHost :表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面。
Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host。
Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径。
注意:Host的appBase这里必须写绝对路径,即跟context的docBase路径一致,否则访问指定域名时访问不了配置的站点的主页。把项目相关文件放入到你配置context的docBase路径的ROOT文件夹里。
2.看看Nginx反向代理Tomcat的配置:
需要注意的地方:root 的值是对应上面Tomcat配置文件中context的docBase值+/ROOT,Tomcat根据server.xml的host的appBase设置,默认访问此appBase的ROOT文件夹里的设置的默认主页,因此我们把项目文件都放在context的docBase的ROOT文件夹中。
注意以上几个细节,那就实现访问各个站点的默认主页了,不再转向Tomcat的主页
经过仔细检查,发现问题所在,我想这也是大家常常需要注意的地方,否则经常出现以上类似问题会让人懊恼的。
1.Tomcat的server.xml文件配置多个站点:
01 | < Engine name = "Catalina" defaultHost = "www.abc.com" > |
02 | < Host name = "www.abc.com" appBase = "/home/www/abc" |
03 | unpackWARs = "true" autoDeploy = "true" |
04 | xmlValidation = "false" xmlNamespaceAware = "false" > |
05 | < context path = "" docBase = "/home/www/abc" debug = "0" reloadable = "true" ></ context > |
06 | </ Host > |
07 | < Host name = "www.abd.com" appBase = "/home/www/abd" |
08 | unpackWARs = "true" autoDeploy = "true" |
09 | xmlValidation = "false" xmlNamespaceAware = "false" > |
10 | < context path = "" docBase = "/home/www/abd" debug = "0" reloadable = "true" ></ context > |
11 | </ Host > |
12 | </ Engine > |
Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host。
Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径。
注意:Host的appBase这里必须写绝对路径,即跟context的docBase路径一致,否则访问指定域名时访问不了配置的站点的主页。把项目相关文件放入到你配置context的docBase路径的ROOT文件夹里。
2.看看Nginx反向代理Tomcat的配置:
001 | user www; |
002 |
003 | # 根据你服务器的cpu核数来确定此值 |
004 | worker_processes 2; |
005 |
006 | error_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 |
012 | worker_rlimit_nofile 65535; |
013 |
014 | # events事件主要用来确定Nginx使用哪种算法 |
015 | events { |
016 | use epoll; |
017 | worker_connections 65535; |
018 | } |
019 |
020 | http { |
021 | include mime.types; |
022 | default_type application/octet-stream; |
023 |
024 | #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
025 | # '$status $body_bytes_sent "$http_referer" ' |
026 | # '"$http_user_agent" "$http_x_forwarded_for"'; |
027 |
028 | # 由于Nginx用于代理Tomcat,所以记录访问日志的事情交给Tomcat来做好了,注释掉 |
029 | #access_log logs/access.log main; |
030 |
031 | sendfile on; |
032 | tcp_nopush on; |
033 | tcp_nodelay on; |
034 |
035 | #keepalive_timeout 0; |
036 | keepalive_timeout 65; |
037 |
038 | server_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 | gzip on; |
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 | # 配置需要代理的tomcat |
063 | upstream tomcat_proxy{ |
064 | server 199.181.132.250:8080; |
065 | } |
066 |
067 | # 虚拟主机:www.abc.com |
068 | server { |
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 |
074 | if (-d $request_filename){ |
075 | rewrite ^/(.*)([^/])$http://$host/$1$2/ permanent; |
076 | } |
077 |
078 | # 动态页面,交给tomcat处理 |
079 | location ~ \.(jsp|jspx| do |action)?$ { |
080 | proxy_set_header Host $host; |
081 | proxy_set_header X-Forwarded-For $remote_addr; |
082 | proxy_pass http://tomcat_proxy;[/code] |
083 | } |
084 |
085 | # 用户浏览器端的缓存设置 |
086 | location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { |
087 | expires 10d; |
088 | } |
089 |
090 | location ~ .*\.(js|css)?$ { |
091 | expires 1h; |
092 | } |
093 |
094 | access_log off; |
095 | #charset koi8-r; |
096 | #access_log logs/host.access.log main; |
097 | } |
098 |
099 | # 虚拟主机:www.abd.com |
100 | server { |
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 |
106 | if (-d $request_filename){ |
107 | rewrite ^/(.*)([^/])$http://$host/$1$2/ permanent; |
108 | } |
109 |
110 | location ~ \.(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;[/code] |
115 | } |
116 |
117 | location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { |
118 | expires 10d; |
119 | } |
120 |
121 | location ~ .*\.(js|css)?$ { |
122 | expires 1h; |
123 | } |
124 |
125 | access_log off; |
126 | #charset koi8-r; |
127 | #access_log logs/host.access.log main; |
128 | } |
129 | } |
注意以上几个细节,那就实现访问各个站点的默认主页了,不再转向Tomcat的主页
相关文章推荐
- Nginx+Tomcat多站点访问默认主页问题
- Nginx+Tomcat多站点访问默认主页问题-狒狒完美解决-Q9715234
- eclipse启动tomcat却访问不了tomcat主页问题
- (原创)项目部署-Tomcat设置默认访问项目及项目重复加载问题处理
- 求解:tomcat6发布webapp目录中没有JSP文件(访问项目主页404的问题)
- Apache的ANT Project的主页访问的时候总是出现问题,还是把它的镜像站点记下来的好!
- 在MyEclipse中启动项目正常,但不能访问Tomcat默认主页解决办法
- Apache的ANT Project的主页访问的时候总是出现问题,还是把它的镜像站点记下来的好!
- linux下修改tomcat默认访问主页
- Tomcat的默认访问路径问题
- 设置访问Tomcat服务器默认主页
- APP后台上传Nginx+Tomcat服务器后图片可以上传但无法访问问题解决
- Apache的ANT Project的主页访问的时候总是出现问题,还是把它的镜像站点记下来的好!
- Tomcat设置默认访问项目及项目重复加载问题处理
- Eclipse 配置tomcat不能访问主页问题解决
- 解决Tomcat中设置默认项目时只能访问静态页面的问题
- linux下修改tomcat默认访问主页为自己项目的页面
- tomcat中默认主页配置问题,请各位帮帮忙!!
- Tomcat设置默认访问项目及项目重复加载问题处理