在 CentOS 上“绑定多域名”通常指两件事之一:
下面分别说明,最常用的是 第 1 种(虚拟主机方式)。
先把多个域名都解析到服务器公网 IP:
a.com → 1.2.3.4
b.com → 1.2.3.4
yum install -y nginx
systemctl enable nginx
systemctl start nginx
vi /etc/nginx/conf.d/a.conf
server {
listen 80;
server_name a.com www.a.com;
root /var/www/a;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
vi /etc/nginx/conf.d/b.conf
server {
listen 80;
server_name b.com www.b.com;
root /var/www/b;
index index.html;
}
mkdir -p /var/www/a /var/www/b
echo "a.com" > /var/www/a/index.html
echo "b.com" > /var/www/b/index.html
nginx -t
systemctl reload nginx
✅ 现在访问 a.com 和 b.com 会显示不同内容。
yum install -y httpd
systemctl enable httpd
systemctl start httpd
vi /etc/httpd/conf.d/a.conf
<VirtualHost *:80>
ServerName a.com
DocumentRoot /var/www/a
</VirtualHost>
<VirtualHost *:80>
ServerName b.com
DocumentRoot /var/www/b
</VirtualHost>
mkdir -p /var/www/a /var/www/b
systemctl reload httpd
如果你必须一个域名对应一个 IP:
# 添加第二个 IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
IPADDR=1.2.3.5
NETMASK=255.255.255.0
ONBOOT=yes
systemctl restart network
然后在 Nginx 中:
listen 1.2.3.4:80;
listen 1.2.3.5:80;
certbotcertbot --nginx -d a.com -d b.com
✅ 推荐方式:
一个 IP + Nginx/Apache 虚拟主机 + 多域名解析
如果你告诉我:
我可以给你一份可直接用的配置文件。