如何在rhel和centos中安装nginx

时间:2020-03-21 11:48:00  来源:igfitidea点击:

apache和nginxi的主要区别是什么。

在这篇文章中,我们将了解如何安装nginx包。我们将在Red Hat Enterprise linux中执行此安装教程(在Centos中配置它完全相同)。

建议我们在yum配置文件路径中启用“epel”repo,以便通过yum package manger安装nginx包。

在Red Hat Enterprise Linux&Centos中安装Nginx

步骤1:启用nginx包的EPELRepo

EPEL代表enterpriselinux的另外包。我们可以通过转到下面的URL为yum包管理启用此存储库。

RHEL5/CentOs5 EpelRepo
http://ftp.riken.jp/Linux/fedora/epel/5/i386/repoview/epel-release.html
RHEL6/CentOs5 EpelRepo
http://mirror.nus.edu.sg/Fedora/epel/6/i386/repoview/epel-release.html

安装epel repo包以启用epel repo。

我们还可以将nginx存储库添加到yum配置文件中进行安装。但是由于epel提供了大量的依赖包集合,我建议从epel安装。

Nginx存储库可以通过添加官方站点Nginx Yum Repo中提到的url来启用

步骤2通过yum安装nginx

通过yum安装nginx只有1条命令。可以做如下操作。

[root@theitroad ~]# yum install nginx                                                                              

Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package nginx.i386 0:0.8.55-2.el5 set to be updated
--> Processing Dependency: libGeoIP.so.1 for package: nginx
--> Running transaction check
---> Package GeoIP.i386 0:1.4.8-1.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch            Version                 Repository       Size
================================================================================
Installing:
 nginx            i386            0.8.55-2.el5            epel            390 k
Installing for dependencies:
 GeoIP            i386            1.4.8-1.el5             epel            781 k

Transaction Summary
================================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 1.1 M
Is this ok [y/N]:

如果在通过yum安装时遇到依赖问题,可以通过在中搜索依赖包或者库文件(扩展名为.so)来解决该问题pkgs.org然后通过rpm命令为操作系统版本下载并安装该软件包。

使用源代码安装Nginx:

首先从这里下载源程序包
http://nginx.org/download/nginx-1.2.4.tar.gz

现在用下面的命令解压包。

[root@theitroad ~]# tar -xvf nginx-1.2.4.tar.gz

现在我们将拥有一个名为nginx-1.2.4的目录.targz在解压缩.gz包文件的位置。

/usr/local/nginx是nginx的默认安装目录。

现在让我们进入我们解压的目录。

[root@theitroad nginx-1.2.4]# ls
auto     CHANGES.ru  configure  html     man     src
CHANGES  conf        contrib    LICENSE  README

现在让我们用./configure命令配置nginx安装。这个./configure命令有许多可用的选项,如下所示。

--prefix重写/usr/local/nginx的默认安装路径

--sbin path此选项可用于指定nginx命令路径。

--pid路径pid文件路径;与/var/run中的文件类似/

--http log path我们可以使用此选项指定日志文件路径。

有了以上提到的选项,我既可以提到文件的路径,也可以提到文件名。

[root@theitroad nginx-1.2.4]# ./configure --prefix=/home/sarath/--pid-path=/etc/nginx/nginx.pid --http-log-path=/var/log/nginx_access_log --with-pcre=/etc/nginx/pcre --with-zlib=/etc/nginx/zlib

说明:包含的--with pcre选项i设置了pcre库的路径,nginx使用这个库重写规则。以及其中使用的正则表达式。--with zlib选项是必需的,因为nginx需要压缩库。这些软件包需要下载http://www.pcre.org/以及http://www.zlib.net/在我们保密的地方打开拉链

如果在nginx安装中不需要这些功能,那么可以通过下面的选项忽略这些功能,而不使用这些功能进行配置,如下所示。

[root@theitroad nginx-1.2.4]# ./configure --prefix=/home/sarath/--pid-path=/etc/nginx/nginx.pid --http-log-path=/var/log/nginx_access_log --without-http_rewrite_module --without-http_gzip_module

现在我们将编译我们选择的选项。通过make命令。

[root@theitroad nginx-1.2.4]# make

现在让我们安装它。

[root@theitroad nginx-1.2.4]# make install

你已经从源程序包安装了nginx。现在让我们用下面的命令启动nginx。

[root@theitroad ~]# /home/sarath/sbin/nginx

我已经把它安装在/home/sarath中,这就是我使用这个路径开始的原因nginx.让我们通过以下命令确认nginx是否正在运行。

[root@theitroad ~]# lsof -i :80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE NODE NAME
nginx   5850   root    6u  IPv4  52188       TCP *:http (LISTEN)
nginx   5890 nobody    6u  IPv4  52188       TCP *:http (LISTEN)

也可以通过下面的命令。

[root@theitroad ~]# ps aux | grep nginx
root      5850  0.0  0.1   2600   984 ?        Ss   10:00   0:00 nginx: master process /home/sarath/sbin/nginx
nobody    5890  0.0  0.1   2748   896 ?        S    10:01   0:00 nginx: worker process

现在让我们看看并比较一下这是否是我们在安装配置选项--pid路径选项中提到的文件中写入的pid。

[root@theitroad ~]# cat /etc/nginx/nginx.pid
5850