温馨提示×

centos nginx多站点管理技巧

小樊
131
2025-02-13 09:28:07
栏目: 智能运维

在CentOS上使用Nginx管理多个站点可以通过以下几种方法实现:

1. 基于域名的虚拟主机配置

通过为每个站点创建单独的配置文件,并在Nginx的主配置文件中包含这些文件来实现多站点管理。

步骤如下

  1. 创建站点目录

    sudo mkdir -p /var/www/site1.com/public_html sudo mkdir -p /var/www/site2.com/public_html 
  2. 设置权限

    sudo chown -R www-data:www-data /var/www/site1.com/public_html sudo chown -R www-data:www-data /var/www/site2.com/public_html sudo chmod -R 755 /var/www 
  3. 编辑Nginx配置文件

    /etc/nginx/sites-available/ 目录下创建两个配置文件,例如 site1.comsite2.com

    # site1.com configuration server { listen 80; server_name site1.com www.site1.com; root /var/www/site1.com/public_html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } # site2.com configuration server { listen 80; server_name site2.com www.site2.com; root /var/www/site2.com/public_html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } 
  4. 启用配置文件

    创建好配置文件后,需要将其链接到 /etc/nginx/sites-enabled/ 目录下:

    sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/ 
  5. 测试配置并重启Nginx

    sudo nginx -t sudo systemctl restart nginx 

2. 使用NginxUI进行界面化管理

NginxUI是一个基于Web的工具,可以方便地进行Nginx站点和配置的管理。

步骤如下

  1. 安装NginxUI

    docker run -dit \ --name=nginx-ui \ --restart=always \ -e TZ=Asia/Shanghai \ -v /mnt/user/appdata/nginx:/etc/nginx \ -v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \ -v /var/www:/var/www \ -p 8080:80 \ -p 8443:443 \ uzi/nginx-ui:latest 
  2. 通过网站管理功能添加新站点

    • 在NginxUI的“站点管理”界面中点击“添加站点”,填写站点配置信息。
    • 配置好后,点击“下一步”完成配置。

3. 高级配置:负载均衡

Nginx还支持负载均衡功能,可以将请求分发到多个后端服务器。

示例配置

upstream backend { server 容器A的IP:端口; server 容器B的IP:端口; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 

4. 多域名指向同一index.html文件

在某些场景下,可能需要将多个域名指向同一个index.html文件,例如品牌保护或测试环境。

配置示例

server { listen 80; server_name example.com www.example.com; location / { root /var/www/html; index index.html; } } server { listen 80; server_name another-example.com www.another-example.com; location / { root /var/www/html; index index.html; } } 

5. 使用Docker进行简化管理

可以使用Docker来简化Nginx的安装和管理。

示例

docker run -d \ --name nginx \ -p 80:80 \ -v /path/to/your/nginx/config:/etc/nginx \ nginx 

通过以上方法,可以有效地在CentOS上使用Nginx管理多个站点,实现高效、灵活的管理和配置。[1,2,3,4,5,6,7,8,9,10,11]

0