deepin下如何开放80端口
Tofloor
poster avatar
wuwenrui
deepin
2017-11-18 22:56
Author
deepin下如何开放80端口,项目中所配置端口是80,所以需要开放。
Reply Favorite View the author
All Replies
avatar
jingle
deepin
2017-11-19 00:00
#1
Reply View the author
avatar
wuwenrui
deepin
2017-11-19 00:20
#2
https://bbs.deepin.org/post/148504
https://www.cnblogs.com/cnsevennight/archive/2016/06/27/5619424.html

我的使用vi /etc/sysconfig/iptables这个命令打开怎么什么都没有啊?而且往进去写:-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT这个也写不进去,无法写入。和教程图上的不一样。
Reply View the author
avatar
duanyao
deepin
2017-11-19 01:37
#3
https://bbs.deepin.org/post/148504
我的使用vi /etc/sysconfig/iptables这个命令打开怎么什么都没有啊?而且往进去写:-A INPUT -m state -- ...

deepin 并没有这个文件。我记得 deepin 默认是没开防火墙的,你的 80 端口为何会被封闭?是装了什么第三方防火墙软件吗?你先确认一下你的防火墙规则:
  sudo iptables -L
  sudo ip6tables -L
Reply View the author
avatar
wuwenrui
deepin
2017-11-20 03:59
#4
https://bbs.deepin.org/post/148504
deepin 并没有这个文件。我记得 deepin 默认是没开防火墙的,你的 80 端口为何会被封闭?是装了什么第三 ...

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

sudo ip6tables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

这是什么意思啊?
Reply View the author
avatar
duanyao
deepin
2017-11-20 04:20
#5
https://bbs.deepin.org/post/148504
sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination  ...

意思是防火墙规则是空的,所以 80 端口应该是可以访问的。
Reply View the author
avatar
wuwenrui
deepin
2017-11-20 04:35
#6
https://bbs.deepin.org/post/148504
意思是防火墙规则是空的,所以 80 端口应该是可以访问的。

但是我打开并且运行项目的时候,却报错,意思就是端口已经被占用。。
Reply View the author
avatar
duanyao
deepin
2017-11-20 04:43
#7
https://bbs.deepin.org/post/148504
但是我打开并且运行项目的时候,却报错,意思就是端口已经被占用。。

那是另外一个问题:一般来说不能有两个或更多进程同时监听一个端口,后来的进程会失败。你可以用这个命令看看是什么进程在监听80端口:netstat -lnutp
Reply View the author
avatar
wuwenrui
deepin
2017-11-20 04:52
#8
https://bbs.deepin.org/post/148504
那是另外一个问题:一般来说不能有两个或更多进程同时监听一个端口,后来的进程会失败。你可以用这个命令 ...

恩,我明白,我查过这个端口被谁占用,但是打开发现应用中没有80端口被谁使用。
Reply View the author
avatar
duanyao
deepin
2017-11-20 04:55
#9
https://bbs.deepin.org/post/148504
恩,我明白,我查过这个端口被谁占用,但是打开发现应用中没有80端口被谁使用。 ...

那也可能是被自己占用,也就是监听了同一个端口两次。你用的什么软件?看看日志或者调试一下。
Reply View the author
avatar
8***8@qq.com
deepin
2017-11-20 05:18
#10
你干嘛要开80端口
Reply View the author
avatar
8***8@qq.com
deepin
2017-11-20 05:19
#11
你做服务器用?
Reply View the author
avatar
wuwenrui
deepin
2017-11-20 17:03
#12

本地测试项目需要访问80端口,但是报错端口被占用,然后经排查,看到并没有程序占用80端口,所以想到Linux1024下端口都是root才有权限访问,所以才想怎么才能开放出来80端口。
Reply View the author
avatar
wuwenrui
deepin
2017-11-20 17:05
#13
https://bbs.deepin.org/post/148504
那也可能是被自己占用,也就是监听了同一个端口两次。你用的什么软件?看看日志或者调试一下。 ...

用的eclipse。
Reply View the author
avatar
billlamian
deepin
2017-11-20 17:11
#14

命令查看80端口被哪个进程占用了,kill掉
Reply View the author
avatar
wuwenrui
deepin
2017-11-20 17:15
#15
https://bbs.deepin.org/post/148504
命令查看80端口被哪个进程占用了,kill掉

经排查并没有哪个程序占用我的80端口。所以...
Reply View the author
avatar
duanyao
deepin
2017-11-20 18:18
#16

我不是说开发工具,而是需要使用80端口的软件。看来你们是自己开发服务器软件了,那应该就是它自己占用的。你可以在监听80端口的地方下个断点,在此时再用 netstat 查看端口占用情况。
Reply View the author
avatar
jamesmackerel
deepin
2017-11-20 19:41
#17
终端看看谁占用了端口啊。端口被占用怎么甩锅到防火墙身上去了。
  1. sudo netstat -natp
Copy the Code
Reply View the author
avatar
wuwenrui
deepin
2017-11-22 22:37
#18
https://bbs.deepin.org/post/148504
我不是说开发工具,而是需要使用80端口的软件。看来你们是自己开发服务器软件了,那应该就是它自己占用的 ...

可以在监听80端口的地方下个断点这个是什么意思
Reply View the author
avatar
duanyao
deepin
2017-11-22 22:51
#19
本帖最后由 duanyao 于 2017-11-22 14:53 编辑
https://bbs.deepin.org/post/148504
可以在监听80端口的地方下个断点这个是什么意思

“断点”知道吧?Java里面监听端口的应该是 new ServerSocket(port) ( http://www.cnblogs.com/rond/p/3565113.html ),你在这个语句上(或者前一行)设置个断点,调试,到这里就会暂停执行,然后你用 netstat 看端口占用。如果不知道在哪个源文件里,看一下日志里面监听失败时的调用栈就知道了。
Reply View the author
avatar
wuwenrui
deepin
2017-11-22 22:52
#20
https://bbs.deepin.org/post/148504
“断点”知道吧?Java里面监听端口的应该是 serverSocket.accept()  ( http://www.cnblogs.com/rond/p/3 ...

明白了,谢谢。
Reply View the author