如何在 CentOS 7 / RHEL 7 上安装和使用 Nginx
Nginx [engine x] 是一款免费开源的高性能 Web 服务器。它还可以充当反向代理服务器。本页介绍如何在 CentOS 7 或 RHEL 7 上安装 Nginx 服务器并配置静态网站。
如何在 CentOS 7 或 RHEL 7 上安装 Nginx
在 RHEL 7 或 CentOS Linux 7 上安装 Nginx weber 服务器的步骤如下:
- 使用 ssh 命令登录到您的云服务器或裸机服务器:
ssh user@cloud-server-ip - 使用文本编辑器(例如 vim 命令)创建名为 /etc/yum.repos.d/nginx.repo 的文件 sudo vi /etc/yum.repos.d/nginx.repo
- 使用yum 命令安装 nginx 包:
sudo yum update
sudo yum install nginx
让我们详细了解所有步骤、命令和配置。
步骤 1 – 为CentOS 7配置 Nginx repo
运行命令:
$ vi /etc/yum.repos.d/nginx.repo
对于 CentOS 7.x,附加以下内容:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1
要在 vi 中保存并退出文件,请按Esc,然后按和Enter。
关于为RHEL 7配置 Nginx repo 的说明
使用 vim/vi/joe 文本编辑器创建或编辑文件:
$ vi /etc/yum.repos.d/nginx.repo
为 RHEL(Red Hat Enterprise Linux)版本 7.x 附加以下内容:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/rhel/7/$basearch/ gpgcheck=0 enabled=1
第 2 步 - 在CentOS 7上安装 Nginx
要安装最新的稳定 nginx 服务器,请运行以下yum 命令:
$ sudo yum install nginx
在RHEL 7上安装 Nginx
在您的 RHEL 7.x 服务器上输入以下yum 命令:
$ sudo yum install nginx
步骤 3 - 启动/停止/重启 nginx 服务器
首先通过运行 systemctl 命令启用 nginx 服务,以便它在服务器启动时启动:
$ sudo systemctl enable nginx
示例输出:
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
启动Nginx命令
$ sudo systemctl start nginx
停止 Nginx 命令
$ sudo systemctl stop nginx
重启Nginx命令
$ sudo systemctl restart nginx
查找Nginx服务器状态命令
$ sudo systemctl status nginx
示例输出:
* nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-01-18 21:45:54 UTC; 8s ago Docs: http://nginx.org/en/docs/ Process: 656 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 657 (nginx) CGroup: /system.slice/nginx.service ??657 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf ??658 nginx: worker process Jan 18 21:45:54 cenots7-theosin systemd[1]: Starting nginx - high performance web server... Jan 18 21:45:54 cenots7-theosin systemd[1]: Started nginx - high performance web server.
步骤 4 – 使用firewall-cmd 打开端口 80 和 443
您必须使用firewall-cmd 命令打开并启用端口 80 和 443 :
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload
第 5 步 - 测试
使用 ss 命令验证端口 80 或 443 是否打开:
$ sudo ss -tulpn
示例输出:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 *:60139 *:* users:(("dhclient",pid=242,fd=20)) udp UNCONN 0 0 *:68 *:* users:(("dhclient",pid=242,fd=6)) udp UNCONN 0 0 :::34050 :::* users:(("dhclient",pid=242,fd=21)) tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=696,fd=6),("nginx",pid=695,fd=6))
如果您不知道服务器的 IP 地址,请运行以下ip 命令:
$ ip a
示例输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:16:3e:ac:ba:1e brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.21.136.134/24 brd 10.21.136.255 scope global dynamic eth0 valid_lft 3348sec preferred_lft 3348sec inet6 fe80::216:3eff:feac:ba1e/64 scope link valid_lft forever preferred_lft forever
所以我的 IP 地址是 10.21.136.134。打开 Web 浏览器并输入 IP 地址:
http://10.21.136.134
您也可以使用 curl 命令通过 cli 获取相同的信息:
$ curl -I http://10.21.136.13
$ curl http://10.21.136.13
第 6 步 - 配置 Nginx 服务器
- 配置目录 - /etc/nginx/
- 主/全局配置文件 - /etc/nginx/nginx.conf
- 端口 80 http 配置文件 – /etc/nginx/conf.d/default
- Nginx 开放的 TCP 端口 - 80 (HTTP)、443 (HTTPS)
- 文档根目录 – /usr/share/nginx/html
要编辑文件,请使用文本编辑器(例如 vi)
$ sudo vi /etc/nginx/conf.d/default
您可以将 html/css/js 和图像上传或复制到 /usr/share/nginx/html/
使用 rsync 命令或 rsync 命令从本地桌面复制到远程服务器:
在本系列的下一部分中,我将向您展示如何在 CentOS 7/RHEL 7 上安装最新版本的 PHP 7.xx。
$ cd /usr/share/nginx/html/
$ sudo cp /backups/theos.in/*.html .
$ sudo cp /backups/theos.in/*.css .
$ rsync ~/projects/static/theos.in/* root@10.21.136.134:/usr/share/nginx/html/
- 如何在 CentOS 7 / RHEL 7 上安装和使用 Nginx
- 如何在 CentOS 7/RHEL 7 上安装 PHP 7.2
- 如何在 CentOS 7 上使用 Let's Encrypt 配置 Nginx