FreeBSD 启动后默认跑的是 sshd、syslogd、devd、cron 这类基础服务,真正对外提供业务的 Web、文件、数据库、虚拟化服务,通常要由管理员在 /etc/rc.conf 或 /usr/local/etc/rc.conf 里显式启用。 换句话说,问“FreeBSD 启了哪些服务器”,不能只看系统装了什么,而要看 rc 脚本启用了什么、端口在听什么。
FreeBSD服务器一般开哪些服务:默认启动项与查看方法
一台刚装好的 FreeBSD,登录后先别急着下结论,不同版本、不同安装选项、不同云镜像,默认启用的服务会有差异,比较稳妥的做法是直接查运行态,而不是背清单。
先用三条命令看清“启了哪些服务”
service -l:列出系统里可用的 rc 脚本,能看到 sshd、nginx、samba_server 等候选服务。service -e:列出当前已启用的服务,比翻配置文件直观。sockstat -4l -6l:查看 IPv4/IPv6 监听端口,能快速判断“到底开了哪些服务器”。sysrc -a | grep _enable:查看 rc.conf 里哪些服务被设为YES,适合排查“为什么重启后没起来”。ps aux:看进程,但进程存在不等于 rc 托管,结合service -e更准。
业内专家指出,FreeBSD 的服务管理核心是 rc 体系,/etc/rc.conf 管系统自带服务,/usr/local/etc/rc.conf 管 ports/pkg 安装的服务,两条路径分开,排障时不要只看一处,默认情况下,常见的基础服务包括:
| 服务名 | 作用 | 常见监听端口 | 默认状态说明 |
|---|---|---|---|
| sshd | 远程登录 | 22 | 多数安装场景会启用 |
| syslogd | 系统日志 | 514/udp | 基础服务,通常启用 |
| devd | 设备事件守护 | 无固定端口 | 基础服务,通常启用 |
| cron | 定时任务 | 无监听端口 | 基础服务,通常启用 |
| ntpd 或 chronyd | 时间同步 | 123/udp | 视配置启用 |
| sendmail | 本地邮件投递 | 25 | 新版本默认策略有变化,以 rc.conf 为准 |
这张表只说明“常见”,不代表每台机器都一模一样,云厂商镜像可能预装 cloud-init 类组件;托管商可能默认开邮件服务;最小化安装可能连 sshd 都要手动开,先查再改,是 FreeBSD 运维的基本习惯。
默认服务和业务服务要分开看
基础服务负责“机器能管、能登录、能记日志”,业务服务负责“对外提供能力”。22 端口有 sshd,不等于这台机器就是 Web 服务器;80/443 有 nginx,才说明 Web 服务被启用了。 所以排查顺序建议是:
- 先
service -e看启用项。 - 再
sockstat -4l -6l看监听端口。 - 对照
/etc/rc.conf和/usr/local/etc/rc.conf。 - 最后看业务进程日志,
/var/log/nginx/error.log或service nginx status。
FreeBSD做Web服务器需要开启哪些服务
这是最常见的场景,FreeBSD 做 Web 服务器,不是“开一个服务就完事”,而是按链路启用,典型组合是 nginx 或 apache24 负责 HTTP,php-fpm 处理动态脚本,数据库负责数据,redis 可选做缓存。
Web 链路的启用步骤
以 nginx + php-fpm + MariaDB 为例,安装后分别在 rc.conf 中启用:
sysrc nginx_enable="YES" sysrc php_fpm_enable="YES" sysrc mysql_enable="YES" service nginx start service php-fpm start service mysql-server start
检查监听端口时,80 和 443 应该由 nginx 监听,9000 常见于 php-fpm,3306 是数据库端口,80 没起来,先看 service nginx status,再看 nginx -t 配置语法,最后看 /var/log/nginx/error.log,不要一上来就重装,FreeBSD 的报错通常写得比较直接。
数据库和缓存服务的取舍
- MariaDB/MySQL:适合需要关系型数据库的站点,启用后注意只监听内网地址,别把 3306 直接暴露公网。
- PostgreSQL:不少 FreeBSD 运维更偏好它,端口 5432,同样要配合 pf 或 ipfw 限制来源。
- Redis:端口 6379,做缓存时启用,配置
bind 127.0.0.1比裸奔更稳妥。 - PHP-FPM:端口 9000,要和 nginx 的 fastcgi_pass 对上,否则会出现 502。
这里自然带出一个成本问题:FreeBSD云服务器多少钱一个月,不能只看 CPU 和内存,Web 服务开得多,数据库和缓存吃内存,带宽和快照也会影响账单,近年来不少国内服务商按月计费,入门配置和带数据库的配置价差明显,选型时先列清楚要启用的服务,再倒推内存和磁盘,比先买低配再升级更省事。
FreeBSD文件服务器配置哪些服务
文件服务器是 FreeBSD 的传统强项,这里要区分“给 Windows 用”“给 Unix/Linux 用”“给公网用”三种场景,启用的服务完全不同。
Samba、NFS 和 FTP 的启用路径
- Samba:给 Windows 客户端共享文件,服务名常见为
samba_server,启用命令是sysrc samba_server_enable="YES",启动后检查 139/445 端口。 - NFS:给 Unix/Linux 客户端挂载,需要启用
nfsd和rpcbind,相关端口包括 2049 和 rpcbind 的动态端口,防火墙要放行对应范围。 - FTP:传统场景才用,服务名如
proftpd或pure-ftpd。21 端口是控制通道,被动模式还要放行数据端口段。 - rsync:做同步和备份时常启用
rsyncd,端口 873,建议限制 IP 并配合认证。
行业共识认为,文件服务的安全重点是“最小暴露”,Samba 只在内网开 445,NFS 只允许固定客户端网段,FTP 能不用就不用,优先走 SFTP,FreeBSD 的 pf 防火墙配置不复杂,规则写清楚比事后排查更省时间。
启用后怎么确认真的在工作
service -e | grep -E 'samba|nfs|proftpd' sockstat -4l -6l | grep -E '445|2049|21'
service -e 有服务,但端口没监听,常见原因是配置文件写错、目录权限不对、绑定了错误地址,先看 service <name> status,再看 /var/log/messages 和对应服务日志。服务启用不等于业务可用,端口监听和客户端实测要分开验证。
国内FreeBSD服务器部署常见服务与排障习惯
国内环境里,FreeBSD 常见于网络设备周边、私有云、文件共享、反向代理和轻量虚拟化,部署时除了业务服务,还要关注时区、软件源、防火墙和合规要求。/etc/rc.conf 里建议显式写清楚启用了什么,不要依赖“默认就这样”。
常见服务组合与排查顺序
- 反向代理:nginx 或 haproxy,监听 80/443,后端指向内网应用。
- 文件共享:Samba 或 NFS,按客户端类型二选一,不要同时开一堆协议。
- 虚拟化:bhyve 启虚拟机,jail 启隔离容器,相关服务按需启用,别把管理端口暴露公网。
- 监控:zabbix_agentd 或 nrpe,端口按监控端要求放行。
- 时间同步:ntpd 或 chronyd,端口 123/udp,时间不准会影响日志和证书。
排障时记住一个顺序:先看 service -e,再看 sockstat,然后看 rc.conf,最后看日志,这个顺序能解决大部分“FreeBSD 到底启了哪些服务器”的疑问。核心结论是:FreeBSD 不会替你自动开业务服务,启用了什么、监听了什么,才算数。 把 rc.conf 当成服务清单来维护,比临时 service start 更可靠。
FreeBSD启了哪些服务器:Q&A速查
FreeBSD 默认会开启 Web 服务器吗?
不会,默认安装通常不会启用 nginx 或 apache24,/etc/rc.conf 里没有对应 _enable="YES" 项,需要先安装软件包,再用 sysrc nginx_enable="YES" 启用,service nginx start。
怎么判断 FreeBSD 上启了哪些服务器而不是只装了软件?
用 service -e 看已启用的 rc 服务,用 sockstat -4l -6l 看实际监听端口,再用 sysrc -a | grep _enable 对照配置,三者交叉验证,比只看已安装软件包准确。
FreeBSD 启了哪些服务器后,为什么重启就没了?
常见原因是只执行了 service xxx start,没有写进 rc.conf,FreeBSD 的 rc 体系以配置为准,临时启动不会持久化,把 xxx_enable="YES" 写进 /etc/rc.conf 或 /usr/local/etc/rc.conf,再重启验证即可。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/788217.html


