先修改tomcat的配置
1、找到tomcat的安装目录,进入config目录。打开server.xml
2、编辑里面的内容
找到host节点。复制host节点并且编辑里面的内容:
<Host name="项目访问的网址" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="项目访问的绝对目录" path=""/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
*注意:项目访问的网址为你的二级域名。比如 a.erjiyuin.com
项目访问的绝对目录示例: /usr/local/tomcat8/apache-tomcat-8.5.29/webapps/你的项目文件夹
这里有多少个二级域名,就复制多少个host节点,并且像上面一样编辑2个地方即可。
我弄好的效果图如上:我配置了2个节点。
保存文件,然后重启tomcat
重启完成后可以先验证一下:访问对应的二级域名,这时候如果nginx没设置过的话,直接访问二级域名应该会显示nginx的欢迎页,我们可以先加上8080端口访问自己的 tomcat的配置成功了没有。
以上的tomcat如果配置好了之后,访问还需要加8080端口,这不是我们想要的效果
那现在就可以开始nginx的设置了:
先找到nginx的安装目录,也是进入到config文件夹下的配置文件
在配置文件中,需要把nginx代理到tomcat去。就可以了省略8080端口了
修改代理的方法很多,主要是添加一个server的监听。找到server的区域,复制一份以做修改,以下是我的:
server {
listen 80;
server_name 你的二级域名;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass 你的二级域名:8080/;
}
}
server的配置和tomcat的一样,有多少个二级域名就添加多少次server
记得是复制一份,添加在原有的server下面,然后重启一次nginx。
重启之前,先验证一下nginx的配置文件修改正确没有:
进入nginx安装目录sbin下,输入命令./nginx -t
看到如下显示
nginx.conf syntax is ok
nginx.conf test is successful
说明配置文件正确!
然后就是重启nginx
进入nginx可执行目录sbin下,输入命令./nginx -s reload 即可
然后在访问二级域名,发现不加8080端口也可以通过二级域名访问对应的项目文件目录了