Nginx 服务器块相当于 Apache 虚拟主机。 它使用户可以灵活地在同一台服务器上托管多个网站。 这是一种具有成本效益的托管网站的方法,而不是设置不同的服务器并为不同的域配置它们。
在本演练中,我们将演示 Nginx 服务器块的配置。 之后,我们将向您展示如何使用 Let’s Encrypt SSL 来保护网络服务器,这是一个免费的 SSL。
先决条件
在继续之前,请确保已安装 Nginx。 我们有一个全面的教程,通过在 CentOS 8 上安装 l Nginx。另外,确认您的域名指向您的虚拟服务器的公共 IP 地址。 为确保这一点,请前往您的域名供应商并将 A 记录配置为指向服务器的 IP。
在这里,IP 地址指向名为的域 linuxtechgeek.info 我们将在本指南中使用它。
步骤 1:为域创建文档根
我们将首先为我们的域创建一个目录,用于存储网站的文件。 因此,请运行以下命令来完成此操作。
$ sudo mkdir -p /var/www/linuxtechgeek.info/html
出于演示目的,我们将创建一个示例 索引.html 文件。
$ sudo vim /var/www/linuxtechgeek.info/html/index.html
粘贴以下 HTML 行。
<html> <head> <title>Welcome to my domain.info</title> </head> <body> <h1>Hey fellaz!!.The server block is working.</h1> </body> </html>
当然,您可以根据自己的喜好随意编辑正文中的内容。 接下来,配置域目录的所有权以避免任何权限故障。
$ sudo chown -R nginx /var/www/linuxtechgeek.info/
并设置权限,如图所示。
$ sudo chmod -R 755 /var/www/linuxtechgeek.info/
伟大的! 现在让我们配置服务器块文件。
步骤 2:创建 Nginx 服务器块文件
我们将在 Nginx 服务器块文件中配置 /etc/nginx/conf.d 目录如下。
$ sudo vim /etc/nginx/conf.d/linuxtechgeek.info.conf
粘贴以下配置
server { listen 80; server_name linuxtechgeek.info www.linuxtechgeek.info; root /var/www/linuxtechgeek.info/html; index index.php index.html index.htm; access_log/var/log/nginx/linuxtechgeek.info.access.log; error_log /var/log/nginx/linuxtechgeek.info.error.log; }
Save 并退出。 完成后,验证所有配置是否正确。
$ sudo nginx -t
从输出来看,一切看起来都很好。 要应用所做的所有更改,请重新启动 Nginx 网络服务器。
$ sudo systemctl restart nginx
并确保它正在运行。
$ sudo systemctl status nginx
现在浏览您的网站,您将被定向到您的服务器块 index.html 文件。
https://domain-name.come
第 3 步:使用 Let’s Encyrpt SSL 保护 Nginx
我们的服务器块已经设置好了,但是网络服务器还没有加密。 使用 SSL 证书加密站点对于保护发送到 Web 服务器和从 Web 服务器发送的信息至关重要。 SSL 证书还将提高您网站的 Google 排名并促进与客户的互动。
Let’s Encrypt 是一个免费的全球 CA(证书颁发机构),它允许用户使用免费的 SSL / TLS 证书获取和保护他们的站点。 我们将安装 Certbot,它将自动安装来自 Let’s Encrypt 的免费 SSL 证书。
$ sudo dnf install certbot python3-certbot-nginx
安装后,运行cerbot如下安装Let’s Encrypt SSL证书
$ sudo certbox --nginx
按照提示进行操作。
步骤 3:管理证书续订
Let’s Encrypt 证书的有效期最长为 90 天。 但是,将在到期前 20 天向您发送通知,并从 10 天到最后一天向您发送更多通知。
您可以使用以下命令手动更新证书:
$ sudo certbot renew
要自动更新,请创建一个新的 cron 作业。
$ crontab -e
附加此行并保存更改。
0 0 * * * /usr/bin/certbot renew > /dev/null 2>&1
就是这样! 这就是您如何配置 Nginx 服务器块并使用 Let’s Encrypt SSL 保护您的 Web 服务器的方法。