效果图,现在访问需要加8080端口和路径/codemall 访问
2 找到tomcate 的服务配置文件
3 服务器的端口 修改为80端口,这样访问服务器就不需要输入 8080了
4 修改Engine
原来defaultHost = "localhost",如下图
我们需要将此处修改为 defaultHost = "www.365codemall.com",如下图
5 修改Host 标签中的内容,Host标签中原来的内容如下
将原来的 name = "localhost" 修改为 name = "www.365codemall.com"
Host 标签中增加Context 标签
<Context path="" docBase = "codemall/" />
此处特别注意 docBase = "codemall/" /> codemall 前面不能加“/” 负责tomcate 会启动不起来
修改完成以后Host标签内容如下图
配置完成,启动项目验证
通过域名 www.365codemall.com 完美访问项目
补充于 2020年3月18日
今天有按照上面的方法做了一遍,发现了两个坑,特别注明一下
1 在阿里云的控制台安全组内,出入站规则中,将80端口放行
2 防火墙中将80端口打开
3 非root用户,是没有权限占用1024以下端口的,所以会报以下的错误。网上给出了解决办法,但是感觉都很麻烦,最终都绕不过需要登录root账号进行的一些操作,最简单有效的方法还是使用nginx 反向代理。
18-Mar-2020 21:35:42.838 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-80]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-80]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:552)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:875)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:661)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:995)