Tomcat配置域名、ip访问及解决80端口冲突
1.先在tomcat下的conf下找到server.xml文件,用记事本打开后,首先对端口号进行修改,以前一直以为8080是默认的端口号,其实默认的端口号是80
<Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />端口搞定后,我们就可以直接配置域名访问了
域名可以访问ip无法访问
在Tomcat下面配置域名(如:www.zjhuiwan.com)的时候,同时又不希望客户通过我们网站的IP或者域名访问到Tomcat默认的ROOT,配制方法如下:
2、在server.xml中将原有的<Engine name="Catalina" defaultHost="localhost">修改为<Engine name="Catalina" defaultHost="www.zjhuiwan.com">,defaultHost可以是IP或域名。
3、在server.xml中将原有的<Host name=“localhost“ appBase=“webapps“ ……>修改为<Host name=“www.zjhuiwan.com“ appBase=“webapps“……>,name后面可以填IP也可以是域名。
4、在<Host>中添加:<Context path="/别名" docBase="项目路径/项目名" />(注意:自己输,粘贴可能报错(1字节的UTF-8序列的字节1无效))
<Context path="" docBase="Tea"/>(Tea项目在webapps下)
其中docBase中的内容就是你希望的打开您的域名(www.zjhuiwan.com) 的时候映射到的目录和默认的网页(如:index.jsp)
并且可以同时配置多个<Host>,也可为同一个项目配置域名和IP访问
5、最终我们要在本地访问域名,因无域名解析服务器,所以在hosts上配,来模拟dns解析。还得修改相关HOST文件。。打开C:/WINDOWS/system32/drivers/etc/hosts
加上
127.0.0.1 www.zjhuiwan.com (注意:去掉“#”)
6、启动Tomcat服务器,就可以直接敲入域名访问你要访问的地址了。
<Engine name="Catalina" defaultHost="www.zjhuiwan.cn">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="www.zjhuiwan.cn" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="zjblog" debug="0" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--配置其他位置的静态资源访问-->
<Context docBase="/usr/uploadFile/img" path="/blogImg" reloadable="true"/>
</Host>
</Engine>
域名ip都可以访问
只需要添加<Alias>www.zjhuiwan.cn</Alias> 即可。
<Engine defaultHost="localhost" name="Catalina">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm> <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Alias>www.zjhuiwan.cn</Alias>
<Context docBase="zjblog" path="" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
</Host>
</Engine>
有时候,80端口会被其他的进程占用,这时候就需要结束原来的进程或修改为其他端口号
I.Port80简介:
80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。可以通过HTTP地址(即常说的“网址”)加“: 80”来访问网站,因为浏览网页服务默认的端口号都是80,因此只需输入网址即可,不用输入“: 80”了。
II.问题描述:
80端口是一个最为频繁访问的端口号,甚为程序员开发更是经常遇到,比如我们最熟悉的数据库系统服务进程就是默认访问该端口的,还有比如Ngnix服务器默认端口也是80,所以当使用ngnix时发生端口号冲突了,应该怎么办呢?以下见析。
III.原因:
主要是与http协议有关的进程,进行网上访问的系统级别的进程最频繁占用80端口。比如Http.sys。它是http API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。
IV.解决办法:
1)使用命令查看哪个线程占用80端口
win+R调出doc窗口,输入cmd,继续输入"netstat -ano | more"或者“netstat -aon”
2)寻找端口号
找到“本地地址”栏为0.0.0.0:80的一行,在行的末尾有pid(进程id)为“4”。
3)打开任务管理器(ctrl+alt+del)
查看pid为4的线程,一般会显示system占用;自然system是无法直接kill的。
使用netsh命令查看端口使用状态:”netsh http show servicetstate“。
可以看到有两个进程正在使用http功能。分别为 3164和3196。
其中3196是sql server的report服务;进程3164对应的是一个svchost服务。
两者都可以关闭,数据库服务的见下述解决方式。
【扩展】:
但是,50秒之后端口又会自动被占用了。【重新占用】
从procmonitor中可以看到,每次关闭服务 BranchCache 每50s后就会继续被svchost给调用起来。
通过services表(服务表)中,我们发现这里的BranchCache 依赖了HTTP.SYS这个内核驱动。
手动禁用即可。
4)多版本解决方案:
【分析】:
1)SQL Server导致。其中很有可能是SQL Server Reporting Services (MSSQLSERVER),它是 SQL Server 的日志系统。
2)IIS 服务。如果你电脑安装了这个,很有可能它在运行着,那么它就占用着80端口。(打开IIS的方法:打开控制面板,点“卸载”,
弹窗里左侧有一个“打开或关闭windows功能”,再点开会有一个弹窗,找“Internet信息服务”,找到 Internet Information Services,
点加号展开!因为直接点这个大项前面的小方块,FTP服务器选项没反应,我图里的这几个都勾上就行了。
然后右下角点确定,IIS开启成功了。
关上:开始图标那个win旁边有个圈圈,点开输入iis回车就能打开IIS管理器,右击,点停止,IIS就算关上了。(win10系统)
3)其他。(比如,迅雷等程序或者一些其他有上传功能的软件都会占用电脑的80端口)
A.已知为数据库进程占用,最常见:
i.查看“任务管理器”进程栏或者详细信息栏,有没有数据库有关的进程,直接kill就行。
ii.打开【管理】->【服务和应用程序】->【服务】->找到“SQL Server Reporting Service",禁用或者手动皆可。
以上可以解决基本上90%左右的占用问题。
(一般来说,可能是近期安装了数据库或者升级了数据库等软件造成的,系统占用的端口一般都是微软官方的产品占用的。)
B.未知进程,即system进程(win7 system默认占用):
i.禁用http.sys
输入net stop http,然后确认继续操作,在输入Sc config http start= disabled即可停止该项服务。
ii.调出注册表
打开RegEdit:【开始】->【运行】->输入【regedit】调出 ”注册表“,
找到”HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTP“,
找到一个DWORD值Start,将其改为0,重启电脑,System进程将不会占用80端口。
【备注】:杀掉进程的命令:taskkill /pid 4 /f ,其中 /f 表示强制关闭该进程。
Tomcat配置域名、ip访问及解决80端口冲突的更多相关文章
- Tomcat配置域名/IP访问及其中遇到的问题注意事项
1.先在tomcat下的conf下找到server.xml文件,用记事本打开后,首先对端口号进行修改,以前一直以为8080是默认的端口号,其实默认的端口号是80 <Connector port= ...
- iis和tomcat同时运行,完美解决80端口冲突问题
背景:一台vps服务器上需要同时运行两个网站,节(老)省(板)成(扣)本,用一个服务器.一个是已经建好的官网(iis管理一键安装的PHP网站),另一个是java 项目网站(jeecg框架修改的商城项目 ...
- centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法
centos 下安装jdk.tomcat 以及tomcat无法从外部访问的解决办法 原创 2014年08月28日 10:24:33 标签: selinux enforce cent 2223 昨天在c ...
- Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置
Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置 ============================== ©Copyright 蕃薯耀 2017 ...
- XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 (转)
XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 前几天安装了xampp for pc 1.7.4版本. 装好后在本地电脑通过https://localhost访问正常. 然后换了台电脑 ...
- tomcat配置限制ip和建立图片服务器
1.配置限制ip访问 打开 tomcat里conf文件下的server.xml 在<Host name="localhost" appBase="webapps&q ...
- SQL Server不能通过外部IP访问,解决方法
SQL Server不能通过外部IP访问,解决方法 版本:SQL server 2008 express with tools 打开配置管理器,开启 TCP,右键属性设置TCP端口: 设置 ...
- tomcat 配置域名证书
tomcat 配置域名证书 示例: <!--" protocol="HTTP/1.1" connectionTimeout=" redirectPort= ...
- apache与IIS共用80端口冲突解决方法
如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...
随机推荐
- vb.net 读取 excel
Dim myConn AsNew ADODB.Connection myConn.CursorLocation = ADODB.CursorLocationEnum.adUseClient ' 用 ...
- suse12.2构建samba
1:添加用户 useradd wangjunhui -d /home/wangjunhuipasswd wangjunhui 2:配置samba smbpasswd -a wangjunhui vi ...
- ZROI1119 【十一·联考】幸福
ZROI1119 [十一·联考]幸福 传送门 一道矩阵快速幂. #include<iostream> #include<cstdio> #include<algorith ...
- spring boot2X集成spring cloud config
Spring Cloud Config 分为 Config Server: 分布式配置中心,是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息 Config Client: 通过指定 ...
- ASP.Net Core使用分布式缓存Redis从入门到实战演练
一.课程介绍 人生苦短,我用.NET Core!缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力. 所以经常要用到且不会频繁改变且被用户共享的 ...
- Zookeeper简单入门
官网地址https://zookeeper.apache.org/releases.html 下载https://mirrors.tuna.tsinghua.edu.cn/apache/zookeep ...
- 【Mac+Android+uiautomatorviewer】之报错:Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationTargetException
安卓8.0以后uiautomatorviewer会报错,解决办法如下: 参考:<android 8.0 以后 uiautomator 无法直接使用的问题> 步骤一: 先执行命令:(注意:想 ...
- 天际PRO-CR16 改装方案
本人现有红色CR16一台,宿舍在7楼,最近找了一份长期兼职,不想挤公交,想骑车去,经常上下楼很是痛苦,琢磨了两天两夜,终于出来第一套小该方案,有不合理地方,或者有个好的零件选择,请各位指点.本人不胜感 ...
- Java-关于接口调用的处理
前言:这是我的第一篇博文,是我对现在一些接口调用的梳理,写的不好,请见谅. 序:接口无非就是“你调用别人的接口”和“别人调用你的接口”,我会对这两种情况分别的理一下我的思路. 准备:我使用的是Http ...
- Tomcat 部署 Jenkins (Linux系统)
环境说明:Linux环境,CentOS 7版本. 关于部署tomcat,见上一篇博客:https://www.cnblogs.com/lelelong/p/10252225.html 接着,在Tomc ...