最近自己做了个简单web应用想发布到公网访问,因为是第一次配置,所以在配置过程中出现问题及解决方法。
1.在电脑安装tomcat程序,启动Tomcat服务,一般默认时我们打localhost:8080/test 就可以访问,为了省去输入端口麻烦,想将端口号改成80
方法如下:打开目录C:\Program Files\Apache Software Foundation\Tomcat 8.5\conf下面server.xml文件,将下方8080改为80,然后保存重新启动tomacat
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2.打浏览器通过localhost访问不了,在8080端口是正常但在80访问不了,检测80是否被占用,刚开始根据网上说的方法修改注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP 找到一个DWORD值Start,3将其改为0,然后重新启动,重启还是没有,后来将start值改为4,然后再重启电脑,通过localhost直接访问成功了。
a、运行cmd,然后输入netstat -ano,回车;(注意netstat和-ano之间一定要有空格,我就是一开始没输入空格,运行不起来)
b、查看开头几行包含0.0.0.0:80的那一行最后的pid,为几个数字,把这几个数字记下来;
c、启动“任务管理器”——“进程”,在“工具栏”——“选择列”前面的框里打上勾;
d、然后找到与刚才那个pid对应的是哪个程序,很容易就会找到,就是它与0.0.0.0:80进行了绑定(bind); 结束这个进程,再点击Apache的Start按钮,终于出现了那个Running 。
但是上面的方法不适用我的情况。。因为我
找不到pid=4的进程
,终于找到了另一方法。
因为Win7的80端口默认是被System进程占用的。(我的电脑是win10也是这个原因)
用如下方法可以解决System进程占用80端口的问题:
打开RegEdit:开始-运行-输入regedit-调出注册表 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP 找到一个DWORD值Start,将其改为0 重启电脑,System进程将不会占用80端口 就可以打开你的apache了
3.由于是个人电脑没有公网IP,于是下载一个net123客户端注册用户,添加一个映射,然后通过外网访问正常了