如何在CentOS 7/RHEL 7上安装和使用Nginx

时间:2020-01-09 10:39:17  来源:igfitidea点击:

如何使用CLI在CentOS 7或RHEL 7服务器上安装和配置最新版本的Nginx Web服务器并托管静态站点?

Nginx [engine x]是免费的开源高性能Web服务器。
它还充当反向代理服务器。

本教程将学习如何在CentOS 7或RHEL 7上安装Nginx服务器以及如何配置静态网站。

如何在CentOS 7或RHEL 7上安装Nginx

在RHEL 7或CentOS Linux 7上安装Nginx Weber服务器的过程如下:

  • 使用文本编辑器(例如vim命令`sudo vi /etc/yum.repos.d/nginx.repo")创建名为/etc/yum.repos.d/nginx.repo的文件。
  • 使用yum命令安装nginx软件包:sudo yum updatesudo yum install nginx

让我们详细了解所有步骤,命令和配置。

步骤1为CentOS 7配置Nginx存储库

运行命令:

$ 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键,然后按:x和Enter键。

有关为RHEL 7配置Nginx存储库的说明

使用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

在vi中保存并关闭文件。

步骤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

步骤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。
打开浏览器并输入IP地址:

http://10.21.136.134

您还可以使用cli命令使用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 80(HTTP),443(HTTPS)打开的TCP端口
  • 文档根目录/usr/share/nginx/html

要编辑文件,请使用文本编辑器,例如vi

$ sudo vi /etc/nginx/conf.d/default

您可以将html/css/js和镜像上传或复制到/usr/share/nginx/html /

$ cd /usr/share/nginx/html/
$ sudo cp /backups/theitroad.com/*.html .
$ sudo cp /backups/theitroad.com/*.css .

使用rsync命令或rsync命令从本地桌面复制到远程服务器:

$ rsync ~/projects/static/theitroad.com/* [email protected]:/usr/share/nginx/html/

在系列的下一部分中,我将向您展示如何在CentOS 7/RHEL 7上安装最新版本的PHP7.x.x。