如何在CentOS7上安装Nginx
介绍
Nginx 是一种流行的高性能 Web 服务器。 本教程将教你如何在 CentOS 7 服务器上安装和启动 Nginx。
先决条件
本教程中的步骤需要具有 sudo
权限的非 root 用户。 请参阅我们的 Initial Server Setup with 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 网页,用于提供信息和测试目的。 它应该看起来像这样:
如果您看到此页面,那么您的 Web 服务器现在已正确安装。
注意: 要查找服务器的公共 IP 地址,请键入以下命令查找计算机上的网络接口:
ip addr
Output1. 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 堆栈。