Apache2多虚拟主机怎么配?一机多站保姆级教程,Apache2多虚拟主机配置指南,保姆级一机多站教程
各位刚入坑的服务器小白,是不是经常遇到这种尴尬?明明买了台配置不错的云服务器,结果只能挂一个网站,看着闲置的资源干瞪眼?今天咱们就来解锁Apache2的隐藏技能——多虚拟主机配置,让你一台服务器变出N个"分身",省下大把银子!
一、虚拟主机三件套:端口、IP、域名
先打个比方:服务器就像个快递分拣站,虚拟主机就是不同的分拣通道。常见的分流方式有三种:
- 端口分流:类似快递柜的不同格口(比如6060、7070端口)
- IP分流:好比给快递站开多个大门(不同IP地址)
- 域名分流:最常用的方式,就像给每个包裹贴不同标签(域名)
这里有个避坑重点:新手建议用域名分流,既不用买多个IP,也不用记复杂端口,性价比最高。
二、手把手实战:域名分流配置

步骤1:建窝下蛋
在终端输入这些命令,给每个网站安个家:
bash复制sudo mkdir -p /var/www/狗蛋博客 # 创建网站目录sudo chown -R www-data:www-data /var/www/狗蛋博客 # 设置权限sudo chmod -R 755 /var/www/狗蛋博客 # 开放访问权限
小贴士:目录名别用中文!这里只是演示,实际用英文更稳妥。
步骤2:写户口本
新建配置文件,比如给"狗蛋博客"建档:
bash复制sudo nano /etc/apache2/sites-available/goudan.conf
粘贴这个模板(注意替换你的域名和目录):
apache复制
ServerAdmin 狗蛋@163.comServerName www.狗蛋博客.comDocumentRoot /var/www/狗蛋博客ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined
避坑重点:ServerName必须和域名完全一致,大小写敏感!
步骤3:激活户口
执行这两条命令让配置生效:
bash复制sudo a2ensite goudan.conf # 启用配置sudo systemctl reload apache2 # 重启服务
这时候在浏览器输入你的域名,应该就能看到网站啦!
三、三大配置法对比表
配置方式 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
端口分流 | 内部测试、临时站点 | 无需域名/IP | 访问要带端口号 |
IP分流 | 企业级独立业务 | 资源完全隔离 | 需要多个IP成本高 |
域名分流 | 个人/中小企业 | 成本低、管理方便 | 需要域名解析支持 |
血泪教训:之前帮客户用IP分流,结果忘记续费IP地址,导致三个网站集体宕机!所以新手还是先从域名分流玩起。
四、自问自答时间
Q:配置完为啥访问显示默认页?
A:八成是没禁用默认站点!执行这个命令:
bash复制sudo a2dissite 000-default.conf # 关闭默认站点sudo systemctl reload apache2 # 再次重启
Q:想用HTTPS安全连接咋整?
A:Certbot工具一键搞定:
bash复制sudo certbot --apache -d www.狗蛋博客.com # 自动申请SSL证书
完成后会自动生成带SSL的虚拟主机配置。
Q:能在一个配置里管多个域名吗?
A:当然!在ServerName后面加ServerAlias:
apache复制ServerAlias 狗蛋.com 备用域名.com
这样三个域名都能访问同一个网站。
五、小编私房建议
搞了五年服务器运维,总结三个保命法则:
- 配置备份:改文件前先
cp httpd.conf httpd.conf.bak
,手 *** 党必备 - 日志监控:定期看error.log,比算命先生还能预知故障
- 渐进式配置:新手别贪多,先配一个站测试,成功后再加
最后说句大实话:现在宝塔面板之类的工具也能图形化配置虚拟主机,但懂命令行才是真本事。就像开车,自动挡虽然方便,手动挡关键时刻能救命!