介绍

Nginx 是一种流行的高性能 Web 服务器。本教程将教你如何在 CentOS 7 服务器上安装和启动 Nginx。

先决条件

本教程中的步骤需要具有特权的非root用户。sudo请参阅我们的 CentOS 7 初始服务器设置教程,了解如何设置此用户。

第 1 步 — 添加 EPEL 软件存储库

要添加 CentOS 7 EPEL 存储库,首先通过 SSH 连接到您的 CentOS 7 机器,然后使用yum命令安装扩展包存储库:

sudo yum install epel-release

系统将提示您验证是否要安装该软件。y然后键入ENTER以继续。

接下来,您将安装实际的nginx软件包。

第 2 步 — 安装 Nginx

现在 EPEL 存储库已安装在您的服务器上,使用以下yum命令安装 Nginx:

sudo yum install nginx

再次,对验证提示回答是,然后 Nginx 将完成安装。

第 3 步 — 启动 Nginx

Nginx 安装后不会自动启动。要让 Nginx 运行,请使用以下systemctl命令:

sudo systemctl start nginx

您可以使用以下命令检查服务的状态systemctl status:

sudo systemctl status nginx
Output
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-01-24 20:14:24 UTC; 5s ago
  Process: 1898 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 1896 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 1895 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 1900 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1900 nginx: master process /usr/sbin/nginx
           └─1901 nginx: worker process

Jan 24 20:14:24 centos-updates systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 24 20:14:24 centos-updates nginx[1896]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 24 20:14:24 centos-updates nginx[1896]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 24 20:14:24 centos-updates systemd[1]: Started The nginx HTTP and reverse proxy server.

服务应该是active。

如果您正在运行防火墙,请运行以下命令以允许 HTTP 和 HTTPS 流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

您可以通过在 Web 浏览器中访问服务器的公共 IP 地址来立即进行抽查,以验证一切是否按计划进行:

http://server_domain_name_or_IP/

您将看到默认的 CentOS 7 Nginx 网页,用于提供信息和测试目的。它应该看起来像这样:
centos-7-nginx

如果您看到此页面,那么您的 Web 服务器现在已正确安装。

注意:要查找服务器的公共 IP 地址,请键入以下命令查找计算机上的网络接口:

ip addr
Output
1. lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

. . .
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

. . .

根据服务器上可用的硬件,您可能会在此处看到许多接口。接口是本地环lo回接口,不是我们想要的。在我们上面的例子中,eth0接口就是我们想要的。

获得接口名称后,您可以运行以下命令来显示服务器的公共 IP 地址。替换您在上面找到的接口名称:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

在继续之前,您可能希望在系统启动时启用 Nginx。为此,请输入以下命令:

sudo systemctl enable nginx

Nginx 现在已安装并正在运行。

第 4 步 - 探索和配置 Nginx

如果你想通过 Nginx 开始为你自己的页面或应用程序提供服务,你需要知道 Nginx 配置文件和默认服务器根目录的位置。

默认服务器根目录

默认的服务器根目录是/usr/share/nginx/html. 放置在那里的文件将在您的网络服务器上提供。此位置在 Nginx 附带的默认服务器块配置文件中指定,该文件位于/etc/nginx/conf.d/default.conf.

服务器块配置

任何额外的服务器块,在 Apache 中称为虚拟主机,都可以通过在/etc/nginx/conf.d. 以该目录结尾的文件.conf将在 Nginx 启动时加载。

Nginx 全局配置

主要的 Nginx 配置文件位于/etc/nginx/nginx.conf. 在这里您可以更改设置,例如运行 Nginx 守护进程的用户,以及 Nginx 运行时产生的工作进程的数量等。

结论

在 CentOS 7 服务器上安装 Nginx 后,您可以继续在 CentOS 7 上安装完整的 LEMP 堆栈