Apache2中ServerName指令用于指定服务器响应的域名或IP地址。可通过全局配置文件或虚拟主机配置文件设置,需与实际域名一致。多站点时每个虚拟主机应有独立ServerName,启用SSL也需配置。设置不当会导致警告或访问错误。
Apache2配置中ServerName设置方法
时间:2026-07-17
浏览:494
文章目录
在Apache2的日常配置中,ServerName是一个基础但至关重要的指令。简单来说,它用于告诉Apache服务器以哪个域名或IP地址来响应请求。如果设置不当,轻则导致服务启动时弹出警告,重则可能让用户访问到错误的站点。下面直接介绍具体操作方法。

方法一:通过全局配置文件设置
这是最直接的方式,适用于服务器上只运行一个站点的情况,或者希望为所有未明确指定域名的虚拟主机设置一个默认值。
先找到主配置文件。不同Linux发行版的位置略有差异,但大多数情况下,它位于
/etc/apache2/apache2.conf或/etc/httpd/conf/httpd.conf。打开文件后,找到或直接添加
ServerName指令。注意,该指令应放在块之外,属于全局生效的配置。
典型的写法如下:
ServerName www.example.com:80
前半部分是域名,后半部分:80指定了Apache监听的HTTP端口(如果使用HTTPS,端口通常为443)。
- 保存文件,退出编辑器。
- 重启Apache服务使配置生效。命令视系统版本而定,现代版本通常使用:
sudo systemctl restart apache2
如果是老系统,可能会使用:
sudo service apache2 restart
方法二:在虚拟主机配置文件里精确设置
如果服务器上托管了多个网站,每个站点都应拥有自己的虚拟主机配置,其中ServerName是区分它们的核心标识。这是生产环境中更常见的做法。
进入虚拟主机配置目录,通常是
/etc/apache2/sites-available/。如果需要创建新的配置文件,例如为example.com创建,可以执行:sudo nano /etc/apache2/sites-available/example.com.conf在
块内,添加ServerName指令。一个完整的虚拟主机配置片段如下:ServerName www.example.com DocumentRoot /var/www/html/example.com ... 配置文件写好之后,需要启用它,Apache才能识别:
sudo a2ensite example.com.conf如果默认站点
000-default.conf不再需要,可以禁用它,避免潜在的冲突:sudo a2dissite 000-default.conf同样,完成所有修改后,记得重启Apache服务。
几个需要留意的细节
务必保证
ServerName的值与实际使用的域名或IP地址完全一致。多一个点、少一个字母,都可能造成访问异常。如果网站启用了SSL/TLS(现在基本是标配),在对应的443端口虚拟主机里,同样需要设置
ServerName和ServerAlias,同时配置好SSL证书。这一步经常被忽略,可能导致HTTPS访问时出现证书警告。生产环境下,强烈建议使用完整域名(例如
www.example.com而不是仅仅example)。这不仅能避免很多潜在的路由问题,也有利于后续的安全策略管理。
按照这些步骤操作,ServerName的配置应该不会有问题。它虽然只是一个简单的参数,但确实决定了Apache能否正确、有序地处理来自不同域名的请求。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。