在 Linux 系统中,“打开监听”通常指的是让某个服务(如 Web 服务器、数据库、SSH 等)开始监听特定的网络端口,以便接收外部连接请求。
以下是几种常见场景和方法,帮助你实现“打开监听”:
检查当前正在监听的端口
使用以下命令查看哪些服务正在监听哪些端口:
# 查看 TCP 监听端口 sudo netstat -tuln # 或者使用 ss 命令(推荐,更快) sudo ss -tuln # 查看特定端口是否被监听 sudo ss -tuln | grep :80
参数说明:
-t:TCP 协议-u:UDP 协议-l:仅显示监听状态的套接字-n:以数字形式显示地址和端口
启动监听服务的常见方法
启动 Web 服务器(如 Nginx)
# 启动 Nginx sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx # 检查状态 sudo systemctl status nginx
Nginx 默认监听 80(HTTP)和 443(HTTPS)端口。
启动 SSH 服务(监听 22 端口)
sudo systemctl start sshd sudo systemctl enable sshd
启动 MySQL/MariaDB
sudo systemctl start mysqld # CentOS/RHEL sudo systemctl start mysql # Ubuntu/Debian sudo systemctl enable mysqld
MySQL 默认监听 3306 端口。
启动自定义 Python/Node.js 服务监听端口
一个简单的 Python HTTP 服务器监听 8080 端口:
python3 -m http.server 8080
或 Node.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Worldn');
});
server.listen(8080, '0.0.0.0', () => {
console.log('Server listening on port 8080');
});
运行后,服务将监听 0.0.0:8080,即所有网络接口。
防火墙设置(允许外部访问)
即使服务在监听,如果防火墙阻止了端口,外部也无法访问。
使用 ufw(Ubuntu/Debian)
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 22/tcp sudo ufw enable # 启用防火墙
使用 firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload
使用 iptables(通用)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables-save
验证监听是否生效
# 查看本地是否监听 sudo ss -tuln | grep :80 # 从本机测试 curl http://localhost:80 # 从其他机器测试 curl http://<服务器IP>:80
注意事项
- 权限问题:监听 1024 以下端口需要 root 权限。
- 绑定地址:
-
0.0.0:监听所有网络接口(包括公网和内网) 0.0.1:仅监听本地回环接口(仅本机可访问)- 具体 IP:仅监听指定网卡
-
- 安全建议:
- 不要随意开放高危端口(如 3306、6379)到公网
- 使用强密码和密钥认证
- 定期更新服务软件
| 步骤 | 命令/操作 |
|---|---|
| 检查监听 | sudo ss -tuln |
| 启动服务 | sudo systemctl start <服务名> |
| 设置开机自启 | sudo systemctl enable <服务名> |
| 开放防火墙 | sudo ufw allow <端口>/tcp |
| 验证监听 | curl http://localhost:<端口> |
如果你有具体的服务或端口需求,可以提供更多细节,我可以给出更精确的配置命令。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/477884.html



