
运维牛B ! 一个Nginx跑了10个网站
2025年08月20日 21:01
以下文章来源于开源运维 ,作者开源运维
开源运维 在网站运维中,Nginx 是一款高性能且灵活的 Web 服务器。如果你需要在一台服务器上同时运行多个网站,配置虚拟主机(Server Block)是必备技能。这篇文章将手把手教你在 Linux 系统中使用 Nginx 配置虚拟主机,条理清晰,通俗易懂。 通俗来说,虚拟主机是一种技术,它允许你通过一台服务器(以及对应的 Nginx 实例),托管多个网站。Nginx 通过 Server Block 来实现这一功能。每个 Server Block 定义了一个独立的网站配置,比如域名、根目录、日志路径等。 1.创建网站目录结构 为每个虚拟主机创建独立的目录,用于存放网站文件。假设需要配置两个网站 将简单的测试页面添加到目录中: 2.编辑虚拟主机配置文件 在 在配置文件中填写以下内容: 为 3.启用虚拟主机配置 Nginx 的虚拟主机配置需要从 测试配置语法是否正确: 如果输出 4.重启 Nginx 最后,重新加载 Nginx 配置,让修改生效: 5.测试虚拟主机 在浏览器中访问 保存后,用浏览器访问 虚拟主机是 Nginx 的核心功能之一。学会通过简单的配置文件快速部署多个网站,不仅可以提高运维效率,还能帮助你构建强大的负载均衡和反向代理解决方案。掌握这项技能后,你将在运维路上更进一步。什么是 Nginx 虚拟主机?
配置虚拟主机的步骤
example1.com
和 example2.com
,运行以下命令:sudo mkdir -p /var/www/example1.com
sudo mkdir -p /var/www/example2.comsudo 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'/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
,更改对应的域名和根目录。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
,说明配置无误。sudo systemctl restart nginx
example1.com
和 example2.com
,你应该能看到两个独立网站的测试页面。如果本地测试,可以将域名添加到 /etc/hosts
:127.0.0.1 example1.com
127.0.0.1 example2.comhttp://example1.com
。