Nginx基于端口虚拟主机(手把手教你配置多个网站共用一台服务器)

V5主机测评

在使用 Nginx 部署 Web 服务时,你可能会遇到需要在同一台服务器上运行多个网站的情况。这时,Nginx 的虚拟主机功能就派上用场了。本文将详细介绍如何通过 基于端口的虚拟主机 来实现这一目标,即使你是完全的新手,也能轻松上手!

什么是基于端口的虚拟主机?

虚拟主机(Virtual Host)是 Web 服务器用来托管多个域名或网站的技术。Nginx 支持三种类型的虚拟主机:

  • 基于 IP 地址
  • 基于域名(最常见)
  • 基于端口(本文重点)

基于端口的虚拟主机是指:同一个 IP 地址,通过监听不同的端口号来区分不同的网站。例如:

  • http://192.168.1.100:80 → 网站 A
  • http://192.168.1.100:8080 → 网站 B
Nginx基于端口虚拟主机(手把手教你配置多个网站共用一台服务器)

准备工作

在开始之前,请确保你已安装 Nginx。如果没有,请先执行以下命令(以 Ubuntu/Debian 为例):

sudo apt updatesudo apt install nginx  

步骤一:创建两个网站目录

我们假设要部署两个简单的静态网站:

sudo mkdir -p /var/www/site1sudo mkdir -p /var/www/site2  

然后为每个站点创建一个简单的首页文件:

echo "<h2>欢迎访问网站 1</h2>" | sudo tee /var/www/site1/index.htmlecho "<h2>欢迎访问网站 2</h2>" | sudo tee /var/www/site2/index.html  

步骤二:配置 Nginx 虚拟主机

进入 Nginx 配置目录,通常位于 /etc/nginx/sites-available/。我们将创建两个配置文件:

1. 配置 site1(监听 80 端口)

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

写入以下内容:

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

2. 配置 site2(监听 8080 端口)

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

写入以下内容:

server {    listen 8080;    server_name localhost;    root /var/www/site2;    index index.html;    location / {        try_files $uri $uri/ =404;    }}  

步骤三:启用配置并重启 Nginx

创建软链接以启用站点:

sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/  

检查配置是否正确:

sudo nginx -t  

如果显示 syntax is oktest is successful,说明配置无误。

最后,重启 Nginx 使配置生效:

sudo systemctl restart nginx  

步骤四:测试访问

现在你可以通过浏览器访问以下地址:

注意:如果使用云服务器(如阿里云、腾讯云),请确保安全组已开放 8080 端口。

常见问题与注意事项

  • 端口冲突:确保所选端口未被其他程序占用。
  • 防火墙设置:Linux 防火墙(如 ufw)可能阻止非标准端口,需手动放行:
    sudo ufw allow 8080
  • SEO 友好性:虽然 Nginx端口虚拟主机 技术可行,但生产环境更推荐使用 基于域名的虚拟主机,因为用户更习惯访问标准端口(80/443)。

总结

通过本文,你已经学会了如何使用 Nginx 多站点配置 中的 基于端口的虚拟主机 功能。这项技术非常适合开发测试环境,或者在无法使用多个域名的情况下快速部署多个应用。掌握 Nginx服务器配置 是运维和开发人员的重要技能,希望这篇教程能为你打下坚实基础!

关键词回顾:Nginx端口虚拟主机, Nginx多站点配置, 基于端口的虚拟主机, Nginx服务器配置

文章版权声明:除非注明,否则均为V5主机测评网_性价比VPS_性价比云服务器_免费独立服务器原创文章,转载或复制请以超链接形式并注明出处。