我在hosts设置域名映射后可以自定义域名访问项目,但是出现以下两种情况:1.域名后面必须加上项目名称
才能访问。2、不加项目名,但是项目被加载两次。
请问该如何解决,项目只加载一次,并且域名后面不加项目名
设置下 tomcat 的配置文件 server.xml 的 context 标签
在server.xml中的host元素里面加上
一:购买域名
请移步到相关网站购买域名,我是在腾讯云买的。购买后记得实名认证,不然解析不了。
二:解析域名
大约七八分钟后,测试是否解析成功。
打开cmd,用ping命令连接你的域名,如图:
如上图,说明解析成功了,我的域名已经解析为我的云主机IP了。
三:配置tomcat
用Putty登录云服务器,cd到tomcat文件夹的conf目录,打开server.xml。
vi server.xml
1:修改host为你的域名。有两处需要修改,不要改漏啦!如下:
2:修改端口,tomcat默认是8080端口,把它修改为商用端口80,不然访问不了的~
3:配置docBase。这里特别要注意:path="" 以及 docBase=你的项目在云服务器上的绝对路径
4:注意,这里由域名直接访问首页,要求你在项目的web.xml中把index.jsp配置了作为欢迎页。不然也是不行的。如果部署了之后才发现没有配置,可以cd进入webapps中你的项目文件下的WEB-INF文件夹,打开web.xml文件:
vi web.xml
按I进入编辑模式,添加欢迎页
按Esc退出编辑模式,输入 :wq 保存并退出。
可以使用映射工具,将你的IP映射到这个域名上,这样外网也都能访问。很简单的
不加项目名 就是把项目配置成tomcat 默认访问的项目 ,不会加载两次的吧。不知道你哪个加载两次的原因是什么
https://blog.csdn.net/qq_24879495/article/details/78121693
找到tomcat/conf/server.xml文件,修改里面这一行的appBase为其他路径即可。
<Host name="localhost" appBase="/root/webfile/webapps" unpackWARs="true" autoDeploy="true">
其中:
name 是虚拟主机名,对应目录 /conf /Catalina /localhost
unpackWARs 为是否自动解压war文件,如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件
autoDeploy,默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用
修改 C:\Windows\System32\etc\hosts 文件 为localhost指定别名OK
是通过域名访问的啊,要不加我QQ493825354请教一下你