当前位置:首页 > 服务器技术 > 正文

Nginx虚拟主机配置详解(手把手教你部署静态网站)

在现代Web开发中,Nginx虚拟主机 是一个非常实用的功能,它允许你在一台服务器上托管多个网站。本教程将从零开始,详细讲解如何使用 Nginx 配置虚拟主机来部署静态资源,即使你是完全的小白,也能轻松上手。

什么是 Nginx 虚拟主机?

虚拟主机(Virtual Host)是 Web 服务器的一种技术,可以让多个域名指向同一台服务器的不同网站目录。例如,你可以让 site1.com 指向 /var/www/site1,而 site2.com 指向 /var/www/site2,两者互不干扰。

准备工作

在开始之前,请确保你已经:

  • 拥有一台安装了 Linux 系统的服务器(如 Ubuntu、CentOS)
  • 已安装 Nginx(可通过 sudo apt install nginx 安装)
  • 拥有至少一个域名(或可修改本地 hosts 文件用于测试)
  • 准备好要部署的静态资源(HTML、CSS、JS、图片等)
Nginx虚拟主机配置详解(手把手教你部署静态网站) Nginx虚拟主机 静态资源部署 Web服务器配置 Nginx教程 第1张

步骤一:创建网站目录

假设我们要部署两个网站:example1.comexample2.com。首先为它们创建目录:

sudo mkdir -p /var/www/example1sudo mkdir -p /var/www/example2  

然后放入你的静态文件,比如 index.html

步骤二:编写 Nginx 虚拟主机配置文件

Nginx 的站点配置通常放在 /etc/nginx/sites-available/ 目录下。我们为每个站点创建一个配置文件:

sudo nano /etc/nginx/sites-available/example1  

在文件中写入以下内容:

server {    listen 80;    server_name example1.com www.example1.com;    root /var/www/example1;    index index.html;    location / {        try_files $uri $uri/ =404;    }}  

同样地,为 example2.com 创建类似的配置文件。

步骤三:启用站点

创建符号链接到 sites-enabled 目录以启用站点:

sudo ln -s /etc/nginx/sites-available/example1 /etc/nginx/sites-enabled/sudo ln -s /etc/nginx/sites-available/example2 /etc/nginx/sites-enabled/  

步骤四:测试并重载 Nginx

先检查配置是否正确:

sudo nginx -t  

如果显示 “syntax is ok”,说明配置无误。然后重载 Nginx:

sudo systemctl reload nginx  

步骤五:访问你的网站

如果你有真实域名并已解析到服务器 IP,直接在浏览器输入域名即可访问。如果是本地测试,可以编辑本地电脑的 hosts 文件(Windows 在 C:\Windows\System32\drivers\etc\hosts,Mac/Linux 在 /etc/hosts),添加:

192.168.1.100 example1.com192.168.1.100 example2.com  

192.168.1.100 替换为你的服务器 IP。

常见问题与优化建议

  • 403 Forbidden:检查目录权限,确保 Nginx 用户(通常是 www-datanginx)有读取权限。
  • 静态资源缓存:可在 location 块中添加 expires 1y; 来设置缓存,提升加载速度。
  • HTTPS 支持:建议后续使用 Let's Encrypt 免费证书开启 HTTPS,保障安全。

结语

通过本教程,你已经掌握了如何使用 Nginx 虚拟主机 部署多个静态网站。这项技能是搭建个人博客、企业官网或多项目开发环境的基础。希望这篇 Nginx教程 能帮助你迈出 Web 服务器配置的第一步!

关键词回顾:Nginx虚拟主机、静态资源部署、Web服务器配置、Nginx教程