Nginx+Tomcat多站点访问默认tomcat主页问题
来源:互联网 发布:seo 专家 顺丰 编辑:程序博客网 时间:2024/05/30 23:07
Nginx+Tomcat配置后,访问多个站点时,默认主页老转向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
>
Engine 的 dafaultHost :表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面。
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;
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;
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
}
需要注意的地方:root 的值是对应上面Tomcat配置文件中context的docBase值+/ROOT,Tomcat根据server.xml的host的appBase设置,默认访问此appBase的ROOT文件夹里的设置的默认主页,因此我们把项目文件都放在context的docBase的ROOT文件夹中。
注意以上几个细节,那就实现访问各个站点的默认主页了,不再转向Tomcat的主页
0 0
- Nginx+Tomcat多站点访问默认tomcat主页问题
- Nginx+Tomcat多站点访问默认主页问题
- 设置访问Tomcat服务器默认主页
- linux下修改tomcat默认访问主页
- tomcat修改默认主页
- Tomcat设置默认主页
- tomcat+Nginx多站点配置
- eclipse启动tomcat却访问不了tomcat主页问题
- 修改Tomcat的默认主页
- 如何设置Tomcat默认主页
- 修改tomcat 服务器默认主页
- 如何更换Tomcat默认主页
- tomcat中默认主页配置问题,请各位帮帮忙!!
- tomcat访问主页报404
- 访问不了Tomcat主页解决方法
- nginx多站点+tomcat多项目部署
- Tomcat的默认访问路径问题
- nginx+多tomcat实现单IP、多域名、多站点的访问
- Repeated Substring Pattern
- HTML(5)——<hr />添加水平线
- ACM-动态规划26-滑雪
- 2017-杭州cccc
- jQuery遍历----------(遍历、祖先、后代、同胞、过滤)
- Nginx+Tomcat多站点访问默认tomcat主页问题
- Detect Capital
- mongo索引小结
- ACM-动态规划28-Maxmum sum
- 实验室 · 项目 · 科研
- 理解synchronized
- 如何用clang analyzer定制静态分析规则(1)工程配置篇
- db2pd -edus命令详解
- ACM-动态规划总结