Nginx在CentOS上进行安装

jopen 10年前

Nginx在CentOS下进行安装的一些总结,从官网先将源码包wget到服务器,通过一些nginx的配置、编译,最后进行服务的注册,将脚本放入/etc/init.d,可以使用System V,service指令来控制nginx。

下载源码包

到nginx官网进行下载,可以直接在服务器上wget拉取,http://nginx.org/en/download.html,选择Stable version的版本

先决条件

nginx的编译需要几个先决条件,GCC, PCRE, zlib, OpenSSL

GCC用于对nginx进行编译,http://zh.wikipedia.org/wiki/GCC,执行gcc来测试是否已经安装gcc,安装指令:

yum install gcc

PCRE是nginx的Rewrite等核心模块需要正则表达式的支持,http://www.pcre.org/

yum install pcre pcre-devel

zlib提供压缩算法,http://zh.wikipedia.org/wiki/Zlib

yum install zlib zlib-devel

OpenSSL就不解释了,开源SSL/TLS模块

yum install openssl openssl-devel

模块配置

nginx很多module,核心模块都是默认开启,比如Gzip、Rewrite等,需要选择性配置开启与关闭,官方的模块说明 http://wiki.nginx.org/Modules

暂时我只需要启用Https访问方式,并事先为nginx注册一个独立的用户,比如用户www,通过configure来进行配置

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module

进行编译

make 

编译后,进行安装,自动将一些文件拷贝到配置的一些特定目录中

make install

可以通过向nginx的二进制执行文件发送一些参数,返回一些信息,比如返回nginx的版本信息和手动启用的模块信息

<prefix>/sbin/nginx -V    ## nginx version: nginx/1.4.6  ## built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)   ## TLS SNI support enabled  ## configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module

注册系统服务,System V脚本

脚本 http://www.rackspace.com/knowledge_center/article/centos-adding-an-nginx-init-script

在/etc/init.d/中建立一个文件nginx,配置它的可执行权限chmod +x ./nginx,将脚本中的一些与prefix相关的路径根据自己的情况进行修改。

chkconfig nginx on 

这样随着系统启动,nginx就能自动启动了,以后就可以通过service来管理nginx了,比如service nginx stop


来自:http://nfplayer.com/archives/nginx-install-centos/