Nginx安装

一、安装准备

首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

$ yum install gcc-c++
$ yum install pcre pcre-devel
$ yum install zlib zlib-devel
$ yum install openssl openssl--devel

二、安装Nginx

安装之前,最好检查一下是否已经安装有nginx

$ find -name nginx

如果系统已经安装了nginx,那么就先卸载

$ yum remove nginx

首先进入/usr/local目录

$ cd /usr/local

从官网下载最新版的nginx

$ wget http://nginx.org/download/nginx-1.7.4.tar.gz

解压nginx压缩包

$ tar -zxvf nginx-1.7.4.tar.gz

会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录

$ cd nginx-1.7.4

接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装

$ ./configure $默认安装在/usr/local/nginx
$ make
$ make install


如果没有报错,顺利完成后,最好看一下nginx的安装目录

$ whereis nginx


安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。

到此,使用CentOS安装nginx已经完成了,其实看看还是蛮简单的。

 

三、启动/停止nginx

启动:/usr/local/nginx/sbin/       ./nginx 

强制关闭:/usr/local/nginx/sbin/       ./nginx -s stop

重载配置(服务不会断开):/usr/local/nginx/sbin/       ./nginx -s reload

重启服务:service nginx restart

检查配置文件是否正确:./nginx -t

检查nginx版本信息:./nginx -v

./nginx -s quit:该命令会“优雅”地停止服务,首先会关闭监听端口,停止接受新的链接,然后把当前正在处理的链接全部处理完,最后再退出进程

========================================================

如果apache安装成为linux的服务的话,可以用以下命令操作:

service httpd start 启动

service httpd restart 重新启动

service httpd stop 停止服务

 

四、Nginx平滑升级

当Nginx服务升级到新的版本时,必须要将旧的二进制文件Nginx替换掉,通常情况下这是需要重启服务的,但Nginx支持不重启服务来完成新版本的平滑升级

升级时包括以下步骤:

1)通知正在运行的旧版本Nginx准备升级,通过向Master进程发送USR2信号可达到目的,例如:

  kill -s SIGUSR2 <nginx master pid>

  这时,运行中的nginx会将pid文件重命名,如将/usr/local/nginx/logs/nginx.pid重命名为/usr/local/nginx/logs/nginx.pid.oldbin,这样新的Nginx才有可能启动成功。

2)启动新版本的Nginx,可以使用以上介绍过的任意一种启动方法,这时通过ps命令可以发现新旧版本的Nginx在同时运行

3)通过kill命令向旧版本的master进程发送SIGQUIT信号,以“优雅”的方式关闭旧版本的Nginx。随后将只有新版本的Nginx服务运行,此时平滑升级完毕

 

五、Nginx和Apache的区别

在Apache上每个进程在一个时刻只处理一个请求,因此,如果希望Web服务器拥有并发处理的请求数更多,就要把Apache的进程或线程数设置得更多,通常会达到一台服务器

拥有几百个工作进程,这样大量的进程间切换将带来无谓的系统资源开销,而Nginx则不然,一个workder进程可以同时处理的请求数只受限于内存大小,而且在架构设计上,不

同的worder进程之间处理并发请求时几乎没有同步锁的限制,workder进程通常不会进入睡眠状态,因此,当Nginx上的进程数与CPU核心数相等时(最好每一个workder进程都

绑定特定的CPU核心),进程间切换的代码是最小的。

posted @ 2018-08-17 22:54  Mr_Echo  阅读(132)  评论(0编辑  收藏  举报