一直以来都是域名+项目名进行项目访问,突然之间要用单独域名访问tomcat项目不知道如何配置了。 走了一些弯路,特此记录一下。
独立域名绑定java项目
例如:project.domain.com
nginx配置:
upstream domainServer{
server localhost:
9585;
}
server
{
listen 80;
server_name project.domain.com;
index index.html
index.htm
index.jsp;
location / {
proxy_pass http:
//domainServer;
proxy_set_header Host
$http_host;
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
access_log /home/wwwlogs/project.domain.com_access.
log;
}
tomcat中的server.xml配置
<Host name="localhost" appBase="/chroot/www/domainServer" deployOnStartup ="false" autoDeploy="false" unpackWARs="true">
<Context path="/" docBase="domainServerProject.war" />
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="catalina." suffix=".log"
pattern="common" resolveHosts="false"/>
</Host>
注意这里会在/chroot/www/domainServer下面生成ROOT目录 ,刚开始一直访问不了,但直接加上ROOT就可以访问。以为是目录目录的问题,但后来发现是自己的tomcat和nginx没有重启好的原因。
域名加项目名访问
例如:www.domain.com/project
nginx配置:
upstream project{
server localhost:
9585;
}
server
{
listen
80;
server_name www.domain.com;
index index.html
index.htm
index.jsp
index.php;
root /chroot/www;
location /project {
proxy_pass http:
}
}
tomcat中的server.xml配置:
<Host name="localhost" appBase="/chroot/www" deployOnStartup ="false" autoDeploy="false" unpackWARs="true">
<Context path="/project" docBase="project.war" />
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="catalina." suffix=".log"
pattern="common" resolveHosts="false"/>
</Host>
这里会直接将文件部署在/chroot/www/project/目录下面,没有ROOT目录
转载请注明原文地址: https://ju.6miu.com/read-200144.html