CentOS 6.3(64) ---> Nginx

    
    本系列教程介绍在Linux(CentOS 6.3)上安装Nginx-1.5.4的全过程。第一篇,介绍Nginx-1.5.4安装所需要的系统环境,即一切相关组件,如gcc、pcre、openssl、zlib等。
    开发环境是在 VMware 10.x 上 安装 CentOS-6.3(64)  basic server 模式,有些工具没有,需要自己安装。

安装GCC编译软件

    GCC,即为GNU编译器集合。这是源码安装Nginx-1.5.4必备的组件,否则源码将无法编译。我们先简单测试一下当前系统有没有安装gcc。在Shell窗口直接输入gcc,如果提示“gcc: no input file”则表示gcc已经安装了。如果出现bash提示,gcc命令找不到,那表示gcc未安装。当然其它的软件是否安装也可以通过类似的方式来检测。如果当前是新装的CentOS,还可以使用rpm命令来检查gcc是否安装,命令为:rpm -qa | grep gcc,运行结果如下:
[root@localhost ~]# rpm -qa | grep gcc
libgcc-4.1.2-54.el5
gcc-4.1.2-54.el5
这个提示表明已经安装了gcc-4.1.2-54.el5版本。如果没有安装gcc,可以通过yum来安装:
yum install gcc

安装PCRE组件

    PCRE是Perl Compatible Regular Expression的缩写,是一个Perl的正则表达式模块。Nginx的Rewrite模块和HTTP核心模块都会用到PCRE的正则表达式语法,所以这个必须安装。安装时需要安装pcre和pcre-devel两个包,pcre包提供编译版本的库,而pcre-devel提供开发阶段的头文件和编译项目的源代码。
yum install pcre pcre-devel
# 或者
yum install pcre*

安装zlib库

    zlib库提供gzip压缩的功能。很多Web服务器,如IIS、Apache都提供gzip的功能,所以Nginx也能不例外。安装的时候同样安装zlib和zlib-devel两个包。
yum install zlib zlib-devel

安装openssl

    openssl这个大家可能都听说过了,是一个非常常用的提供安全套接层(SSL v2.0/v3.0)和传输层安全(TLS v1)协议的组件。在Nginx中,如果需要搭建安全网站(即https开头的网站),则需要用到openssl功能,所以我们也先把它装上来。在安装时,也是同时安装openssl和openssl-devel两个包。
yum install openssl openssl-devel

    我们已经安装了所有Nginx所需的组件。通过安装这些组件,我们可以对Nginx有一个初步的了解。也许有人会说,我们可以直接使用yum来安装Nginx,这些东西就不用手工一个个去安装了。是的,没有错,但我们后面是要用源码的方式去安装Nginx,所以先还是认真的把环境弄好吧。
  

---------------------------------------华丽的分割线----------------------------------------- 

安装 Nginx

    按照鸟哥(VBird)使用源码安装软件的思路,我们将Tarball文件下载到/usr/local/src/目录下。
    这个是从Nginx官网(www.nginx.net或www.nginx.org上下载时看到链接)。

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://nginx.org/download/nginx-1.5.4.tar.gz

解压缩nginx-1.5.4.tar.gz

     接下来将nginx-1.5.4.tar.gz解压到当前目录,即/usr/local/src/目录,解压后将生成一个nginx-1.5.4目录
[root@localhost src]# tar -zxvf nginx-1.5.4.tar.gz

配置Nginx-1.5.4

     进入到nginx-1.5.4目录,运行./configure,进行编译前的配置。这个命令可以带很多参数,其中一个最重要的是安装路径 --prefix,我们将它设置为/usr/lcoal/nginx-1.5.4。为什么这个安装目录要带个版本号呢?因为我考虑到后面如果要升级Nginx,那我还可以编译安装一个nginx-1.5.5什么的。同时我可以做一个符号链接nginx,让它指向nginx-1.5.4,等Nginx升级后,我再将它指向nginx-1.5.5,这样岂不是看起来更完美?!
     其它的参数可以使用 ./configure --help 命令来查看,根据需要进行指定。
[root@localhost src]# cd nginx-1.5.4
[root@localhost nginx-1.5.4]# ./configure --prefix=/usr/local/nginx-1.5.4

编译Nginx-1.5.4

     编译很简单,就是直接执行一下这个目录下的make脚本。虽然命令很简单,但make的过程是很漫长的。
[root@localhost nginx-1.5.4]# make

安装Nginx-1.5.4

     只要编译成功,安装也是很容易的,就是直接执行一下这个目录下的make install命令。make install应该是一闪而过的结束掉。
[root@localhost nginx-1.5.4]# make install

运行Nginx-1.5.4

root@localhost local]# ls
bin  etc  games  include  lib  libexec  nginx-1.5.4  sbin  share  src
[root@localhost local]# cd nginx-1.5.4/
[root@localhost nginx-1.5.4]# ls
conf  html  logs  sbin
[root@localhost nginx-1.5.4]# cd sbin/
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# nginx
-bash: nginx: command not found
[root@localhost sbin]# ./nginx

如果没有出现任何错误,表现nginx已经成功执行起来了。然后我们看看进程:

[root@localhost sbin]# ps -aux | grep nginx
使用ps进程查看工具会发现如下两条记录:
root     31470  0.0  0.0   4128   524 ?        Ss   11:19   0:00 nginx: master process ./nginx
nobody   31471  0.0  0.0   4300   856 ?        S    11:19   0:00 nginx: worker process

再使用netstat端口查看工具,会发现如下记录:
[root@localhost sbin]# netstat -antp
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      31470/nginx    


Nginx的启动、关闭与重启

    Nginx对进程的控制能力非常强大,可以通过信号指令控制进程。常用的信号有:

  1. QUIT,表处理完当前请求后,关闭进程。
  2. HUP,表示重新加载配置,也就是关闭原有的进程,并开启新的工作进程。此操作不会中断用户的访问请求,因此可以通过此信号平滑的重启Nginx。
  3. USR1,用于Nginx的日志切换,也就是重新打开一个日志文件,例如每天要生成一个新的日志文件时,可以使用这个信号来控制。 
  4. USR2,用于平滑升级可执行程序。
  5. WINCH ,从容关闭工作进程。

#Nginx的平滑重启
kill -HUP ‘cat /opt/nginx/logs/nginx.pid‘ 

来自 洪哥笔记 ,再此谢谢。

你可能感兴趣的:(nginx,安装)