分享最新优惠信息
购买主机更加划算

Debian 12安装Nginx服务器托管网站详细步骤

Nginx是一款非常流行的高性能Web服务器,它结合了反向代理、负载平衡、缓存等多种功能。根据配置方式,它可以充当HTTP/HTTPS服务器的反向代理和负载平衡器。

Nginx网络服务器具有处理数千个并发连接的强大能力,这使其成为速度最快的网络服务器,为全球一半以上的最繁忙网站提供支持,其中包括Netflix、DuckDuckGo和DropBox等。

在本教程中,小编将介绍Debian 12安装Nginx服务器以托管网站的过程步骤,同时包括为网站启用HTTPS的简单方法。

先决条件

在开始之前,请确保满足以下要求:

  • 一个装有Debian 12的服务器实例
  • 指向服务器的完全限定域名(FQDN)
  • 本示例使用的IP地址为192.168.122.27
  • 良好的网络连接

注意:本文教程旨在托管静态网页,如果需要访问动态网页,还需要安装PHP和MySQL等组件服务。

步骤1:更新Debian 12软件包存储库

首先需要将本地软件包存储库更新到最新版本,为此请以具有sudo权限的普通用户身份登录并运行以下命令:

sudo apt update -y

更新Debian 12软件包存储库

步骤2:在Debian 12上安装Nginx

由于Nginx存在于Debian的存储库中,因而可以轻松地使用Debian附带的apt包管理器来安装它:

sudo apt install nginx -y

在Debian上安装Nginx

如果没有遇到任何错误,则Nginx Web服务器已成功安装。在进行进一步配置之前,最好先验证Web服务器的状态。要检查Nginx的状态,请执行以下命令:

sudo systemctl status nginx

如果网络服务器启动并运行,将会看如下图所示的状态:

在Debian上检查Nginx状态

如果希望重新启动Nginx Web服务器,请运行以下命令:

sudo systemctl restart nginx

要停止Nginx,请输入以下命令:

sudo systemctl stop nginx

要启动Web服务器,请运行下面的命令:

sudo systemctl start nginx

配置Nginx Web服务器以在启动时启动:

sudo systemctl enable nginx

步骤3:配置防火墙以打开Nginx端口

成功安装并运行Nginx后,需要允许Web访问该服务,尤其是外部用户。如果启用了UFW防火墙,则需要允许通过防火墙进行HTTP和HTTPS访问。为了实现这一点,请执行命令:

sudo ufw allow 'Nginx HTTP'

接下来,重新加载防火墙以使更改生效:

sudo ufw reload

这样可以通过运行以下命令来验证HTTP是否被允许通过防火墙:

sudo ufw status

打开Nginx端口

从上面的示例图中,可以清楚地看到Nginx HTTP已被允许通过UFW防火墙。

步骤4:访问Nginx Web服务器

到这里已经完成了启动和运行Nginx的基本配置。如果要通过浏览器访问Web服务器,请服务服务器的IP地址,如下所示:

http://服务器IP地址
或者是
http://服务器域名

检查Nginx页面

这样可以确认Nginx已启动并正在运行。

步骤5:在Debian 12上配置Nginx服务器块

这是一个可选步骤,主要是当你想在Nginx Web服务器上托管多个域名时很有用。要实现此功能,需要有一个指向Debian服务器的域名。例如对于本文实例,将使用A记录指向服务器IP 192.168.122.27的域名。

当你将域名解析到你的服务器的IP地址时,域名很快就会指向你的Web服务器,如下图所示:

检查带有域名的Nginx 页面

现在让我们创建一个服务器块。

首先,为我们的域名创建一个目录,如下所示:

udo mkdir -p /var/www/html/idccoupon.com

然后按照如下所示分配所需的文件所有权:

sudo chown -R $USER: $ USER /var/www/html/idccoupon.com

接下来,为组和公共用户分配读取和执行权限,命令如下:

sudo chmod -R 755 /var/www/html/idccoupon.com

现在让我们使用vim文本编辑器创建一个简单的index.html示例网页:

sudo vim /var/www/html/idccoupon.com/index.html

在文件中添加一些示例内容,这将显示在浏览器中:

<html>
    <head>
        <title>Welcome to TecMint</title>
    </head>
    <body>
        <h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
    </body>
</html>

保存并退出编辑器

为了限时此内容,需要创建一个服务器块,让我们创建一个服务器块:

sudo vim /etc/nginx/sites-available/idccoupon.com

将以下内容复制并粘贴到服务器块文件中:

server {
        listen 80;
        listen [::]:80;

        root /var/www/html/idccoupon.com;
        index index.html index.htm index.nginx-debian.html;

        server_name idccoupon.com www.idccoupon.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

请务必使用你自己的域名替换idccoupon.com域名。

要激活或启用服务器块文件,请创建一个符号链接,命令如下:

sudo ln -s /etc/nginx/sites-available/idccoupon.com /etc/nginx/sites-enabled/

要验证Nginx中的所有设置是否配置正确,请运行以下命令:

sudo nginx -t

现在设置都完成了,最后重新启动Nginx即可:

sudo systemctl restart nginx

打开浏览器并刷新,如果一切顺利,浏览器应该会为你的服务器块网页提供服务,如下图所示:

在Debian12上检查Nginx服务器

步骤6:在Nginx上使用Let’s Encrypt启用HTTPS / SSL

要在Nginx启用HTTPS,需要安装一个Certbot工具,该工具会自动从Let’s Encrypt为域下载免费SSL证书:

sudo apt install certbot python3-certbot-nginx -y

运行Certbot获取证书并自动配置Nginx使用它:

sudo certbot --nginx -d idccoupon.com -d www.idccoupon.com

步骤7:自动更新Nginx的SSL证书

Let’s Encrypt证书有效期为90天,因此通过cron job设置自动续订非常重要:

sudo crontab -e

将以下行添加到crontab:

0 0 * * 0 /usr/bin/certbot renew --quiet

这将每周自动更新SSL证书,确保在90天到期之前完成更新。

小结

通过以上步骤设置,现在已经在Debian 12实例上安装Nginx,并且完成了域名绑定配置,这样就可以托管网站了。如果有这方面的设置需求,可以参考上述教程进行操作。

未经允许不得转载:惠主机 » Debian 12安装Nginx服务器托管网站详细步骤