使用Nginx创建基于端口的虚拟主机 (nginx 基于端口的虚拟主机)

如何

在Web服务器中,虚拟主机是一种常见的技术,它允许在单个服务器上托管多个网站。这种技术可以大大减少服务器数量,提高资源使用效率。通常,虚拟主机是基于主机名进行区分的,这意味着它们使用不同的域名进行访问。然而,在某些情况下,您可能需要根据端口而不是主机名来创建虚拟主机。在这篇文章中,我们将介绍如何。

步骤一:安装Nginx

Nginx是创建虚拟主机的流行Web服务器之一。在开始构建基于端口的虚拟主机之前,您需要先安装Nginx。在Linux上安装Nginx非常简单,您只需要运行以下命令:

“`shell

sudo apt-get update

sudo apt-get install nginx

“`

这将安装最新版本的Nginx并将其添加到系统的启动项中。

步骤二:创建虚拟主机配置文件

在Nginx中,虚拟主机配置文件存储在/sites-enabled目录中。在创建虚拟主机之前,您需要创建一个新的配置文件。在/etc/nginx/sites-avlable目录中创建一个名为mydomn的新文件:

“`shell

sudo nano /etc/nginx/sites-avlable/mydomn

“`

在编辑器中输入以下代码:

“`nginx

server {

listen 8080;

server_name example.com;

root /var/www/mydomn;

}

“`

此代码片段指示Nginx监听端口8080,然后将所有从域名example.com发来的请求路由到/var/www/mydomn目录中。

步骤三:启用虚拟主机配置

要启用新创建的虚拟主机配置文件,请将其符号链接到/sites-enabled目录中:

“`shell

sudo ln -s /etc/nginx/sites-avlable/mydomn /etc/nginx/sites-enabled/

“`

现在,您可以通过使用curl或您的Web浏览器来测试Nginx是否已成功配置:

“`shell

curl http://example.com:8080

“`

这将向您返回/var/www/mydomn目录中包含的任何内容。

步骤四:配置SSL

在使用基于端口的虚拟主机之前,您可能需要配置SSL,以确保数据在传输过程中是安全的。要配置SSL,请首先安装Certbot:

“`shell

sudo apt-get update

sudo apt-get install certbot python3-certbot-nginx

“`

接下来,在Nginx配置中添加以下代码以启用SSL:

“`nginx

server {

listen 8080;

server_name example.com;

root /var/www/mydomn;

# SSL Configuration

ssl_certificate /etc/letsencrypt/live/example.com/fullchn.pem;

ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

# Redirect HTTP to HTTPS

if ($scheme != “https”) {

return 301 https://$server_name$request_uri;

}

}

“`

当您启用SSL后,您会注意到端口已更改为443。这是默认的SSL端口。

步骤五:重启Nginx

安装了新的虚拟主机并配置了SSL之后,您需要重启Nginx才能使更改生效。在Linux上,您可以通过以下命令来实现这一点:

“`shell

sudo systemctl restart nginx

“`

这将重启Nginx并使您的更改生效。

结论

的步骤比创建基于主机名的虚拟主机更为简单。它可以允许您轻松地将多个网站托管在同一台服务器上,同时确保它们的数据传输安全。如果您已经准备好创建一个基于端口的虚拟主机,请按照上述步骤进行操作。


数据运维技术 » 使用Nginx创建基于端口的虚拟主机 (nginx 基于端口的虚拟主机)