Linux强制释放占用端口以及Linux防火墙端口开放方法详解

在安装nginx,mysql,tomcat等等服务的时候,我们会遇到需要使用的端口莫名其妙被占用,下面介绍如何解决这类问题。

说到端口,还不得不提到防火墙,本文还会简单介绍如何配置防火墙开发端口。

Linux查看端口情况的各种方法

所有端口的映射关系在 /etc/services 文件中有

Linux端口简单介绍,端口编号从0-65536,各编号端的用途如下:

0-1023:公认端口,与常见服务绑定(FTP,SSH)

1024-49151:注册端口,用于和一些服务绑定

49152-65535:动态或私有端口,可用于任意网络连接

端口分为TCP和UDP传输协议。

Linux查看端口状态命令

可以有下面的命令查看端口情况,点击命令可以调整到每个命令的使用详情:

nmap命令,端口扫描使用

netstat检测开发端口

lsof检查端口描述符

# 查看绑定本机的端口
nmap 127.0.0.1

# 检查3306端口
netstat -anlp | grep 3306

# 检测3306接口
lsof -i:3306

linux释放占用端口解决办法

解决步骤如下:

查找占用端口的进程

杀掉该进程

使用下面命令即可:

# 可以写成一条命令

netstat -anp|grep 8080|awk '{print $7}'|awk -F '/' '{print $1}'|xargs kill -s 9

各命令含义如下:

netstat -anp 显示所有网络使用情况,并显示使用程序

grep 8080 匹配8080端口的记录(可能会包含18080)

awk '{print $7}' 输出第7列进程,形式如下:18989/nginx

awk -F '/' '{print $1}' 截取进程PID:18989

xargs kill -s 9 使用前一个命令的输出作为参数,杀掉该进程

释放占用端口分步解决办法

查询端口是否被占用

比如需要查询8080端口是否占用,可以下面命令

netstat -an | grep 8080

查询占用端口的进程

可以使用lsof命令查看

lsof -i:8080

也可以使用netstat和grep查看

netstat -anp|grep 8080

该命令最后一行就是占用8080端口的进程PID和名称。

杀掉占用端口的进程

可以使用kill命令直接杀死上一步中查到的进程。

kill -9 19664

linux防火墙释放端口

Linux防火墙启动和关闭

下面介绍的防火墙是iptable,对于firewalld并不适用。

开启防火墙(重启后永久生效):chkconfig iptables on
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restart

Linux查看防火墙状态

可以使用下面命令查看:

/etc/init.d/iptables status

# 或者简写
iptables status
iptables -L

# 也可以直接查看配置文件
vim /etc/sysconfig/iptables

Linux开放防火墙某个端口

比如打开8080端口,可用下面的命令:

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
# 还需要重启服务
service iptables restart

# 也可以直接编辑配置文件
vim /etc/sysconfig/iptables
# 然后在文件结尾添加一行,下面开发8080-8181之间的所有端口
iptables -A INPUT -p tcp --dport 8080:8181 -j ACCEPT

其中

–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp协议,当然也有udp
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 指定是 ACCEPT -接收 或者 DROP 不接收

以上既是关于 Linux强制释放占用端口以及Linux防火墙端口开放方法,查看更多关于 Linux端口方面的文章可以点击下方相关文章

(0)

相关推荐

  • linux查看端口是否开放的方法总结

    方法一:使用lsof命令 我们可以使用lsof命令来检查某一端口是否开放,基本语法如下: lsof -i:端口号 如果没有任何输出则说明没有开启该端口号 下图以80端口和53端口为例,检查80端口和53端口是否开放 也可以使用lsof -i命令直接将开放的端口输出,来查看某些端口是否开放. 方法二:使用netstat命令 netstat命令可以提供有关主机的网络相关信息. 我们可以使用netstat -atu检查linux中的开放端口 我们使用的netstat标志:-a,-t 和 -u 介绍 -

  • Linux强制释放占用端口以及Linux防火墙端口开放方法详解

    在安装nginx,mysql,tomcat等等服务的时候,我们会遇到需要使用的端口莫名其妙被占用,下面介绍如何解决这类问题. 说到端口,还不得不提到防火墙,本文还会简单介绍如何配置防火墙开发端口. Linux查看端口情况的各种方法 所有端口的映射关系在 /etc/services 文件中有 Linux端口简单介绍,端口编号从0-65536,各编号端的用途如下: 0-1023:公认端口,与常见服务绑定(FTP,SSH) 1024-49151:注册端口,用于和一些服务绑定 49152-65535:动

  • linux下防火墙开启某个端口号及防火墙常用命令使用(详解)

    1.永久性生效,重启后不会复原 开启:chkconfigiptables on 关闭:chkconfigiptables off 2.即时生效,重启后复原 重启防火墙 方式一:/etc/init.d/iptables restart 方式二:service iptables restart 关闭防火墙: 方式一:/etc/init.d/iptables stop 方式二:service iptables stop 启动防火墙 方式一:/etc/init.d/iptables start 方式二:

  • jmeter在linux系统下运行及本地内存调优的方法详解

    1.在linux系统下安装跨系统传输文件工具 root用户下 根目录输入 yum -y install lrzsz 2.把apache-jmeter-4.0zip包 用rz命令上传到linux系统的根目录下 解压 3.配置jmeter环境变量 vim /etc/profile 添加 export PATH=/apache-jmeter-4.0/bin/:$PATH 注意路径 4.使用 rz命令上传jdk1.8 linux 64位版本 解压到 usr/local 目录下 下载jdk安装包 下载地址

  • linux c 查找使用库的cflags与libs的方法详解

    很多时候,使用一些特别的库, 在编译可执行程序时, 需要添加额外的 CFLAGS 和 LIBS . 否则会提示找不到指定的头文件或者"undefined reference to ..." 的错误信息.假如程序 test.c 中使用了 libxml 的 api, 直接 复制代码 代码如下: $ gcc -Wall -o test test.c 会提示错误消息.  执行 复制代码 代码如下: $ ls /usr/lib/pkgconfig/ | grep libxmllibxml-2.0

  • Linux下高并发socket最大连接数所受的各种限制(详解)

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄).可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: [speng@as4 ~]$ ulimit -n 1024 这表示当前用户的每个进程最多允许同时打开1024个文件,这1024个文件中还得除去每个进

  • Linux Docker安装wordpress的方法详解教程

    安装mysql服务 下载mysql镜像: docker pull mysql 创建mysql容器并后台运行,指定数据库密码是123456.-e指定环境变量. docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -d mysql 使用官方的wordpress wordpress镜像daocloud.io: docker pull daocloud.io/daocloud/dao-wordpress:latest 拉取镜像前请先登录: d

  • linux中关于ftp查看不到文件列表的问题详解

    今天配置linux服务器的ftp后,登录都正常,使用ftp工具登录后,所有目录都可以通过手工写路径访问,但是文件夹和文件列表看不到数据. 后来分析,总结原因得出结果是跟selinux有关,于是通过关闭selinux后尝试,ftp文件夹和文件列表都正常可以查看了. 如下2张图为解决前和解决后的截图: 1.解决前,通过输入正确的路径可以正常读取访问,但是看不到列表. 2.解决后,可以可视化查看列表数据. 在Linux下设置selinux有三种方法 一.在图形界面中: 桌面-->管理-->安全级别和

  • Linux环境下Oracle安装参数设置方法详解

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作. 1.系统信息查看 系统信息查看 首先服务器ip:192.168.8.120 服务器系统:Oracle Linux Server release 6.5 服务器主机名:oracle-learn 查看磁盘空间情况: [root@oracle-learn ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 32G 4.8G 26G

  • 在linux下升级软件包版本等方法详解

    Linux环境下,要想查看某个软件(package)是否安装. rpm包方式安装的,使用 rpm -qa | grep "软件或者包的名字". yum方式安装的, yum list installed | grep "软件或者包的名字". 升级软件包版本. 我们经常会遇到依赖其他版本包的情况(一般是更新的版本),这时候我们需要升级包. 1.卸载后安装新的包. 首先要根据文首提到的查看软件包是否安装的方式查看你是否安装了这个软件,若没有安装,找到路径后使用wget命令

  • 对Linux终端使用socks5代理的方法详解

    背景 github 上克隆/下载代码太慢 go get 安装第三方包太慢 any more - 安装proxychains ubuntu系统 $ sudo apt-get install proxychains-ng 配置proxychains $ sudo vim /etc/proxychains.conf 把配置文件中最后一行改为shadowsocks的本地ip跟端口 # /etc/proxychains.conf # 修改前 socks4 127.0.0.1 9095 # 修改后 sock

随机推荐