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

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

 本指南将帮助您在各种 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。现在由您决定要为用户提供哪些内容。 

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2021-02-05 05:29:51

服务器GitGogs

2016-10-19 08:36:51

2010-03-03 15:49:38

Linux Oracl

2009-06-27 21:35:50

Linux服务器

2017-08-03 10:36:08

UbuntuCertbotNGINX

2010-07-15 09:04:50

2021-11-24 08:00:00

服务器Web系统

2010-10-29 14:04:49

2011-01-14 12:02:50

Linux影音

2009-07-01 14:34:03

2009-02-18 13:43:00

2017-05-16 14:47:23

2014-07-15 09:44:07

Linux Web服务Nginx

2009-07-28 19:18:44

物理服务器VMware ESXi服务器虚拟化

2013-05-30 09:25:43

2021-01-29 14:41:43

Nginx直播服务器rtmp

2010-02-04 13:19:41

Linux Nginx

2011-07-07 15:43:51

服务器安装

2015-01-27 10:16:27

Ubuntu Jetty 9

2016-08-10 16:28:00

WebURLHTTP
点赞
收藏

51CTO技术栈公众号