有没有想过如何在不使用虚拟机或复杂设置的情况下在同一台服务器上托管多个网站? Nginx 虚拟主机正是您要找的。
本指南将介绍如何使用 Nginx Web 服务器在 Ubuntu 上配置虚拟 Web 主机。 Nginx 是一个高性能的 Web 和反向代理服务器。 它是轻量级、跨平台和开源的。
什么是虚拟主机?
虚拟主机是一种在单个物理服务器或虚拟机上运行或托管具有不同域名的多个网站的方法。
虚拟主机被网站托管公司广泛使用,以实现规模经济并迎合多个客户,而无需在专用服务器资源或硬件上花费太多。
如果您曾经使用过共享主机,那么它很可能是在幕后发挥作用的虚拟主机。
第 1 步:安装 Nginx 服务器
如果您没有安装 Nginx,这里是您如何使用 APT 在 Ubuntu 上快速安装它的方法。
首先,根据配置的源更新包信息:
sudo apt update
然后,按如下方式安装 Nginx:
sudo apt install nginx
测试 Nginx
使用 systemctl 命令启动 Nginx 服务。
sudo systemctl start nginx
在您的网络浏览器中,转到 https://本地主机:80 确认Nginx是否安装成功。 如果是,您的浏览器将显示类似于下面的页面。
第 2 步:创建和配置网站
默认情况下,Nginx 服务的网站运行在 80 端口,并存储在 /var/www/html 目录。
要配置虚拟主机,建议您将每个单独的网站放在不同的目录中,以便更好地安全和管理。
在下面创建一个目录 / 无功 / 万维网 / 目录。 你可以命名 虚拟主机 但可以随意使用您选择的任何有意义的名称。 为此,请导航到 / 无功 / 万维网 使用 cd 命令打开目录。
cd /var/www
接下来,创建网站目录如下:
mkdir -p VirtualHost
创建一个 索引.html 目录中的文件,使用以下命令:
cd /VirtualHost
touch index.html
打开 索引.html 使用您喜欢的文本编辑器创建文件,并向其中添加以下代码行:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Nginx: Web & Reverse proxy server</title>
</head>
<body>
<h1>Welcome to Nginx</h1>
<p>I've just configured a virtual host using Nginx web server on Linux</p>
</body>
</html>
Save 和 close 文件。
步骤 3:配置虚拟主机
您可以在 Nginx 配置文件中找到 /etc/nginx 目录。 配置虚拟主机,首先在站点创建一个虚拟主机配置文件 /etc/nginx/sites-enabled 目录。
cd /etc/nginx/sites-enabled
我们将文件命名为 虚拟主机 但可以随意使用您选择的任何有意义的名称。
touch virtual_host
打开刚刚创建的文件,即 虚拟主机, 使用您最喜欢的文本编辑器并将以下代码行粘贴到其中:
server {
listen 81;
listen [::]:81;
server_name my.virtualhost.com;
root /var/www/VirtualHost;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Save 和 close 文件。
以下是解释文件中的一些重要配置:
- 听: 指定 Nginx 应该在 81 端口为网站提供服务,即 https://localhost:81。
- 服务器名称:您可以给它任何名称,因为此时您没有使用任何真正的域。 我已经命名我的 my.virtualhost.com.
- 根: 这是网站的位置。 在这种情况下, /var/www/虚拟主机 目录。
- 指数: 指定网站的起始页,即 索引.html.
第 4 步:为网站提供服务
重新启动 Nginx 服务器以保存您所做的更改。
sudo systemctl restart nginx
您可以通过运行以下命令来检查 Nginx 服务器的状态:
sudo systemctl status nginx
如果一切正常,请导航到 URL https://本地主机:81, 在您的网络浏览器中。
现在您的服务器上有两个网站,一个在端口 81 上运行,另一个在端口 80 上运行。
在 Linux 上构建和托管您的第一个网站
本指南向您展示了如何使用 Nginx Web 服务器在 Ubuntu 上托管多个网站。 网站开发是目前最抢手的工程技能之一,所以今天就用 PHP 开始您的 Web 开发之旅吧。