tomcat+nginx單獨域名部署和域名+專案名部署
阿新 • • 發佈:2018-12-25
一直以來都是域名+專案名進行專案訪問,突然之間要用單獨域名訪問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://domain Server;
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://project;
}
}
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目錄