在部署 WordPress 网站的服务器上,需要根据实际使用的服务开启相应的端口。以下是常见的必须或推荐开启的端口及其用途:
✅ 1. HTTP/HTTPS 端口(Web 访问)
- 端口 80 (HTTP):用于普通网页访问。
- 端口 443 (HTTPS):用于加密的 HTTPS 访问(推荐启用 SSL 后使用)。
如果你使用 Nginx、Apache 等 Web 服务器提供服务,必须开放这两个端口中的至少一个(建议同时支持 80 跳转到 443)。
✅ 2. MySQL/MariaDB 数据库端口(可选)
- 端口 3306:MySQL/MariaDB 默认通信端口。
⚠️ 注意:
- 如果数据库和 WordPress 在同一台服务器上(本地连接),不需要对外开放 3306 端口,应关闭外部访问以增强安全性。
- 只有当数据库位于独立服务器时,才需在防火墙中允许该端口,并限制 IP 白名单。
✅ 3. SSH 管理端口(远程管理)
- 端口 22 (SSH):用于通过 SSH 登录服务器进行维护。
建议:
- 修改默认端口(如改为 2222)可减少暴力破解尝试。
- 使用密钥登录而非密码,提升安全性。
✅ 4. FTP/SFTP 端口(文件传输,可选)
- FTP:
- 控制端口:21
- 数据端口:20 或被动模式端口范围(如 10000–10100)
- SFTP(基于 SSH):
- 使用 SSH 端口(默认 22)
推荐使用 SFTP 而非 FTP(更安全),若使用 SFTP,则无需额外开 FTP 端口。
✅ 5. SMTP 邮件端口(发送邮件)
WordPress 发送注册、找回密码等邮件时,可能需要连接外部 SMTP 服务:
- 端口 587(推荐,TLS/STARTTLS)
- 端口 465(SSL 加密,传统方式)
- 端口 25(原始 SMTP,常被封禁或限流)
说明:这些是出站端口(Outbound),服务器需能向外连接这些端口,而不是对外监听。
✅ 6. 其他可选服务端口
| 服务 | 端口 | 说明 |
|---|---|---|
| phpMyAdmin | 80 / 443 | 通过 Web 访问,不单独开新端口 |
| Redis | 6379 | 若用作对象缓存,建议本地连接,不对外暴露 |
| Memcached | 11211 | 同上,避免公网暴露 |
| Let’s Encrypt ACME 验证 | 80 或 443 | 申请免费 SSL 证书时需临时开放 |
🔒 安全建议总结
- 最小化开放端口:只开必要的端口(如 80, 443, 22)。
- 数据库不暴露公网:MySQL 应仅限本地或内网访问。
- 使用防火墙:配置
ufw、iptables或云服务商安全组规则。 - 定期更新:保持系统、PHP、WordPress 核心、插件主题更新。
📌 示例:典型生产环境开放端口
| 方向 | 协议 | 端口 | 用途 |
|---|---|---|---|
| 入站 | TCP | 80 | HTTP 流量 |
| 入站 | TCP | 443 | HTTPS 流量 |
| 入站 | TCP | 22(或自定义) | SSH 管理(建议限制 IP) |
| 出站 | TCP | 587 | 发送邮件(SMTP) |
| 出站 | TCP | 443 | 自动更新、插件下载等 |
✅ 总结:
部署 WordPress 所需的核心端口是 80(HTTP)、443(HTTPS)、22(SSH),其余端口按实际需求谨慎开启,并始终遵循“最小权限”原则保障安全。
如有使用 CDN(如 Cloudflare),还可隐藏源站 IP 并进一步限制访问来源。
CLOUD技术博