首页 分类三文章正文

Nginx搭建多站点的优雅实践指南

分类三 2025年01月21日 07:10 27 admin

随着互联网的快速发展,一个服务器上部署多个网站已经成为了一种常见的需求,Nginx作为一款高性能的Web服务器和反向代理服务器,因其轻量级、稳定性高和配置灵活等特点,成为了搭建多站点的首选工具,本文将为您详细介绍如何在Nginx上搭建多个网站,让您轻松实现网站的集群部署。

Nginx搭建多站点的优势

1、资源利用率高:通过Nginx可以实现多个网站共享同一台服务器,降低硬件成本。

2、负载均衡:Nginx支持负载均衡功能,可分散访问压力,提高网站访问速度。

3、安全性高:Nginx具有丰富的安全模块,如SSL、HTTP Basic Auth等,可提高网站安全性。

4、易于配置:Nginx的配置文件结构清晰,易于理解和修改。

Nginx搭建多站点的准备工作

1、安装Nginx:在服务器上安装Nginx,可通过以下命令进行安装(以CentOS为例):

   yum install nginx

2、添加域名解析:在域名解析服务商处为每个网站添加对应的域名解析记录。

3、准备网站内容:将每个网站的HTML、CSS、JavaScript等文件上传到服务器上的相应目录。

Nginx搭建多站点的配置方法

1、编辑Nginx配置文件:Nginx的配置文件位于/etc/nginx/nginx.conf,默认情况下,每个站点都需要创建一个独立的配置文件。

2、配置反向代理:以下是一个简单的反向代理配置示例:

   server {
       listen       80;
       server_name  www.example.com;
       root   /usr/share/nginx/html/example;
       index  index.html index.htm;
       location / {
           proxy_pass http://localhost:8080;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
   }

在上述配置中,server_name指定了网站的域名,root指定了网站内容的存放路径,location /部分配置了反向代理。

3、配置SSL证书:若需要启用HTTPS,需要为每个网站配置SSL证书,以下是一个简单的SSL配置示例:

   server {
       listen       443 ssl;
       server_name  www.example.com;
       ssl_certificate /etc/nginx/ssl/example.crt;
       ssl_certificate_key /etc/nginx/ssl/example.key;
       ssl_session_timeout  1d;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
       ssl_prefer_server_ciphers on;
       ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
       ssl_ecdh_curve secp384r1;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx/ssl/example.crt;
       ssl_prefer_server_ciphers on;
       ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
       ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
       ssl_ecdh_curve secp384r1;
       ssl_session_cache shared:SSL:50m;
       ssl_session_tickets off;
       ssl_stapling on;
       ssl_stapling_verify on;
       ssl_trusted_certificate /etc/nginx

上海衡基裕网络科技有限公司,网络热门最火问答,网络技术服务,技术服务,技术开发,技术交流,如何创建一个网站?初学者的分步指南.com博客www.yqtbyy.com 备案号:沪ICP备2023039794号 上海衡基裕网络科技有限公司发布内容仅供参考 如有侵权请联系删除QQ:597817868