Nginx:一款高性能 Web 服务器,配置同时运行多个虚拟主机网站(Server Block)
admin
2025年7月30日 9:30
本文热度 101
什么是 Nginx 虚拟主机? 通俗来说,虚拟主机是一种技术,它允许你通过一台服务器(以及对应的 Nginx 实例),托管多个网站。Nginx 通过 Server Block 来实现这一功能。每个 Server Block 定义了一个独立的网站配置,比如域名、根目录、日志路径等。
配置虚拟主机的步骤 1.创建网站目录结构
为每个虚拟主机创建独立的目录,用于存放网站文件。假设需要配置两个网站 example1.com
和 example2.com
,运行以下命令:
sudo mkdir -p /var/www/example1.com sudo mkdir -p /var/www/example2.com
将简单的测试页面添加到目录中:
sudo sh -c 'echo "Welcome to example1.com!" > /var/www/example1.com/index.html' sudo sh -c 'echo "Welcome to example2.com!" > /var/www/example2.com/index.html'
2.编辑虚拟主机配置文件
在 /etc/nginx/sites-available/
目录下,为每个网站创建配置文件。例如,为 example1.com
创建 example1.conf
:
sudo vim /etc/nginx/sites-available/example1.conf
在配置文件中填写以下内容:
server { listen 80; server_name example1.com www.example1.com; root /var/www/example1.com; access_log /var/log/nginx/example1-access.log; error_log /var/log/nginx/example1-error.log; location / { index index.html; } }
为 example2.com
创建类似的文件 example2.conf
,更改对应的域名和根目录。
3.启用虚拟主机配置
Nginx 的虚拟主机配置需要从 sites-available
链接到 sites-enabled
目录。执行以下命令:
sudo ln -s /etc/nginx/sites-available/example1.conf /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/example2.conf /etc/nginx/sites-enabled/
测试配置语法是否正确:
sudo nginx -t
如果输出 syntax is ok
,说明配置无误。
4.重启 Nginx
最后,重新加载 Nginx 配置,让修改生效:
sudo systemctl restart nginx
5.测试虚拟主机
在浏览器中访问 example1.com
和 example2.com
,你应该能看到两个独立网站的测试页面。如果本地测试,可以将域名添加到 /etc/hosts
:
127.0.0.1 example1.com 127.0.0.1 example2.com
保存后,用浏览器访问 http://example1.com
。
虚拟主机是 Nginx 的核心功能之一。学会通过简单的配置文件快速部署多个网站,不仅可以提高运维效率,还能帮助你构建强大的负载均衡和反向代理解决方案。掌握这项技能后,你将在运维路上更进一步。
该文章在 2025/7/30 9:30:58 编辑过