centos

centos nginx多站点配置示例

小樊
43
2025-05-10 23:21:30
栏目: 智能运维

在CentOS上配置Nginx以支持多个站点是一个常见的任务。以下是一个基本的示例,展示了如何配置Nginx以支持两个不同的站点。

前提条件

  1. 已经安装了Nginx。
  2. 有两个不同的域名或子域名指向你的服务器IP地址。

步骤

1. 安装Nginx

如果你还没有安装Nginx,可以使用以下命令进行安装:

sudo yum install epel-release
sudo yum install nginx

2. 配置防火墙

确保防火墙允许HTTP和HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

3. 创建站点配置文件

/etc/nginx/conf.d/目录下创建两个新的配置文件,例如site1.confsite2.conf

site1.conf
server {
    listen 80;
    server_name example1.com www.example1.com;

    root /var/www/site1;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}
site2.conf
server {
    listen 80;
    server_name example2.com www.example2.com;

    root /var/www/site2;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

4. 创建站点目录

/var/www/目录下创建两个新的目录,分别用于存放两个站点的文件:

sudo mkdir -p /var/www/site1
sudo mkdir -p /var/www/site2

5. 添加站点文件

在每个站点目录中添加一些基本的HTML文件以进行测试。

/var/www/site1/index.html
<!DOCTYPE html>
<html>
<head>
    <title>Site 1</title>
</head>
<body>
    <h1>Welcome to Site 1</h1>
</body>
</html>
/var/www/site2/index.html
<!DOCTYPE html>
<html>
<head>
    <title>Site 2</title>
</head>
<body>
    <h1>Welcome to Site 2</h1>
</body>
</html>

6. 测试配置并重启Nginx

在重新加载Nginx之前,先测试配置文件是否有语法错误:

sudo nginx -t

如果没有错误,重新加载Nginx以应用新的配置:

sudo systemctl reload nginx

7. 更新DNS记录

确保你的域名解析(DNS)记录指向你的服务器IP地址。例如:

验证

打开浏览器并访问 http://example1.comhttp://example2.com,你应该能够看到各自的站点内容。

HTTPS配置(可选)

如果你希望为站点启用HTTPS,可以使用Let’s Encrypt免费证书,并使用Certbot来自动化证书的申请和续期过程。

sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d example1.com -d www.example1.com
sudo certbot --nginx -d example2.com -d www.example2.com

按照提示完成证书的申请和配置。

通过以上步骤,你应该能够在CentOS上成功配置Nginx以支持多个站点。

0
看了该问题的人还看了