如何在rhel和centos中安装nginx
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