zl程序教程

您现在的位置是:首页 >  其他

当前栏目

在 Linux 上安装 Nginx 搭建属于自己的 Web 服务器

2023-03-14 11:24:16 时间

 本指南将帮助您在各种 Linux 发行版上安装 Nginx,您将了解重要的 Nginx 配置文件和目录。

由于其性能和易用性,Nginx 是最受欢迎的 Web 服务器。它是一个免费和开源的高性能 HTTP 服务器。除了Web 服务器功能,Nginx 还可以充当反向代理和负载均衡器。

按照以下步骤将向您展示如何在 Ubuntu、Debian、CentOS、Rocky Linux、AlmaLinux 等各种 Linux 发行版上安装 Nginx,并测试其功能。

此外,如果您想知道如何使用免费的 Let's Encrypt SSL 证书来保护您的 Nginx,我建议您阅读我们的指南Let's Encrypt:使用 Certbot 获取免费的 SSL 证书(见 https://www.linuxmi.com/lets-encrypt-certbot-ssl.html )。

目录

  •  1. 安装 Nginx
    •  1.1 在 Ubuntu 或 Debian 上安装 Nginx
    •  1.2 在 CentOS 7 上安装 Nginx
    •  1.3 在 CentOS 8、Rocky Linux 或 AlmaLinux 上安装 Nginx
  •  2.检查Nginx服务状态
  •  3. Nginx 配置文件和目录
    •   3.1 服务器配置文件
    •   3.2 Nginx 日志
    •   3.3 默认公共 Web 目录
  •  结论

1. 安装 Nginx

在开始之前,您应该拥有一个具有sudo特权的常规非 root 用户。

1.1 在 Ubuntu 或 Debian 上安装 Nginx

Nginx 在默认的Ubuntu和Debian存储库中可用,因此您可以使用apt 包管理工具轻松安装它 。

让我们首先确保您的系统是最新的: 

  1. sudo apt update 

之后,您可以安装 Nginx: 

  1. sudo apt install nginx 

1.2 在 CentOS 7 上安装 Nginx

在 CentOS 7 上,Nginx 包在EPEL(企业 Linux 的额外包)存储库中可用。如果你还没有安装它,你可以输入: 

  1. sudo yum install epel-release 

现在您可以继续安装 Nginx: 

  1. sudo yum install nginx 

请按y ,然后 按 Enter 接受 EPEL GPG 键。

安装完成后,启用并启动 Nginx 服务: 

  1. sudo systemctl enable nginx  
  2. sudo systemctl start nginx 

最后,您需要同时打开 HTTP (80) 和HTTPS (443)端口。 

  1. sudo firewall-cmd --permanent --zone=public --add-service=http  
  2. sudo firewall-cmd --permanent --zone=public --add-service=https  
  3. sudo firewall-cmd --reload 

1.3 在 CentOS 8、Rocky Linux 或 AlmaLinux 上安装 Nginx

为了安装 Nginx,我们将使用 dnf 包管理器,它是CentOS 8、Rocky Linux和AlmaLinux上的默认包管理器。

首先,更新所有可用的包: 

  1. [linuxmi@localhost www.linuxmi.com]$ sudo dnf upgrade 

更新完成后,运行以下命令安装Nginx: 

  1. [linuxmi@localhost www.linuxmi.com]$ sudo dnf install nginx 

图片 安装完成后,启用并启动 Nginx 服务: 

  1. [linuxmi@localhost www.linuxmi.com]$ sudo systemctl enable nginx  
  2. Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.  
  3. [linuxmi@localhost www.linuxmi.com]$ sudo systemctl start nginx 

要允许 防火墙上的HTTP (80) 和 HTTPS (443)流量,请执行以下命令: 

  1. sudo firewall-cmd --permanent --zone=public --add-service=http  
  2. sudo firewall-cmd --permanent --zone=public --add-service=https  
  3. sudo firewall-cmd --reload 

2.检查Nginx服务状态

要确认 Nginx Web 服务器正在运行,请执行以下命令: 

  1. [linuxmi@localhost www.linuxmi.com]$ sudo systemctl status nginx 

输出如下: 

  1. ● nginx.service - The nginx HTTP and reverse proxy server  
  2.    Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor prese>  
  3.    Active: active (running) since Sun 2021-12-12 20:37:40 EST; 1min 18s ago  
  4.   Process: 3715 ExecStart=/usr/sbin/nginx (code=exitedstatus=0/SUCCESS)  
  5.   Process: 3713 ExecStartPre=/usr/sbin/nginx -t (code=exitedstatus=0/SUCCESS)  
  6.   Process: 3712 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status>  
  7.  Main PID: 3717 (nginx)  
  8.     Tasks: 2 (limit: 23372)  
  9.    Memory: 6.5M  
  10.    CGroup: /system.slice/nginx.service  
  11.            ├─3717 nginx: master process /usr/sbin/nginx  
  12.            └─3718 nginx: worker process 

从上面显示的输出中,您可以得出结论,Nginx 服务已启动并正在运行。

此外,您可以访问默认的 Nginx 登录页面,通过导航到您服务器的 IP 地址来确认 Web 服务器运行正常。

这将显示默认的 Nginx 登陆页面,表明一切正常。

 

3. Nginx 配置文件和目录

现在 Nginx 已安装,您应该注意一些重要的文件夹和位置。

3.1 服务器配置文件

  •  /etc/nginx: 包含所有 Nginx 配置文件的主目录。
  •  /etc/nginx/nginx.conf: 主要的 Nginx 配置文件。
  •  /etc/nginx/sites-available: 定义单个网站的目录。请记住,Nginx 不会使用在此目录中找到的配置文件,除非它们链接到该 /etc/nginx/sites-enabled 目录。
  •  /etc/nginx/sites-enabled:由 Nginx 主动服务的网站列表。

要激活网站以便将它们链接到 /etc/nginx/sites-enable 目录,请使用下面显示的命令创建网站配置的符号链接: 

  1. sudo ln -s /etc/nginx/sites-available/mydomain.com.conf /etc/nginx/sites-enabled/ 

当然,您需要替换 mydomain.com.conf 为您的 VirtualHost.conf文件。

3.2 Nginx 日志

Nginx 日志文件(access.log 和 error.log)位于该 /var/log/nginx/目录中。

  •  access.log:对您的 Web 服务器的每个请求都记录在此日志文件中。
  •  error.log:Nginx 中生成的任何错误的日志。当您的服务器未按预期运行时,您将在这里进行故障排除。

3.3 默认公共 Web 目录

默认情况下,Nginx在其基本配置文件中设置了默认文档根目录。创建虚拟主机或服务器块时,Web 服务器会在这些配置文件中指定的文档根目录中查找网站文件。

  •  /var/www/html:在 Ubuntu 和 Debian 上,Nginx 将其文档存储在这里。
  •  /usr/share/nginx/html:在 CentOS、Rocky Linux 和 Alma Linux 上,默认的 Nginx 网页位于此处。

结论

在本教程中,您学习了如何在各种 Linux 发行版上安装 Nginx。现在由您决定要为用户提供哪些内容。