安装配置nginx

安装编译环境:yum -y install pcre-devel openssl openssl-devel

拷贝nginx压缩文件到目标目录后,解压tar -zxvf nginx1.4.4.tar.gz

设置编译参数:./configure --prefix=/usr/local/nginx --with-http_stub_status_module      (/usr/local/nginx目录下运行)

编译:make

安装:make install

启动cd /usr/local/nginx/sbin/

./nginx

centos下安装nginx (yum安装)

编译Nginx的要求如下:

磁盘空间:需要保证有10MB以上的剩余磁盘空间。Nginx安装完毕后会占据4MB左右的磁盘空间,实际的磁盘空间需求会因编译设置和是否安装第三方模块而有所不同。

GCC编译器及相关工具:GCC全称为GNU Compiler Collection,  是GNU社区推出的功能强大、性能优越的用于编程开发的自由编译器,是GNU的代表作品之一,目前可以编译的语言包括:C、C++、Objective-C、Fortran、Java等。您必须确保您的操作系统安装有GCC编译器。

另外,您还必须安装Autoconf和Automake工具,它们用于自动创建功能完善的Makefile,当前大多数软件包都是用这一工具生成Makefile的,Nginx也不例外。在CentOS系统下,您可以使用yum命令安装GCC编译器及相关工具:

yum -y install gcc gcc-c++ autoconf

automake

模块依赖性:Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl库等。同样,如果是在CentOS系统下,我们可以使用yum命令安装或下载源码包编译安装这些模块依赖的库:

yum -y install zlib zlib-devel openssl

openssl--devel pcre pcre-devel

Nginx在Linux环境下可以通过编译源码的方式来安装,最简单的安装命令如下:

tar

zxvf nginx-版本号.tar.gz cd nginx-版本号 ./configure make make install

按照以上命令,Nginx将被默认安装到/usr/local/nginx目录下。您可以通过/configure --help命令查看Nginx可选择的编译选项。

编译选项举例如下:

--prefix=

Nginx安装路径。如果没有指定,默认为/usr/local/nginx

--sbin-path=   Nginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为/sbin/nginx

--conf-path=   在没有给定 –c 选项下默认的nginx.conf的路径。如果没有指定,默认为/conf/nginx.conf

--pid-path=     在nginx.conf中没有指定pid指令的情况下,默认的Nginx.pid的路径。如果没有指定,默认为/logs/nginx.pid

等等

Nginx的启动,停止,平滑重启

启动Nginx

启动Nginx,可以执行以下命令。假设Nginx安装在/usr/locaUnginx/目录中,那么启动Nginx的命令就是: /usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf 参数“-c”指定了配置文件的路径,如果不加“-c”参数,Nginx会默认加载其安装目录的conf子目录中的nginx.conf文件

Nginx的停止

Nginx的停止方法有很多种,一般通过发送系统信号给Nginx主进程的方式来停止Nginx。

我们可以通过ps命令来查找Nginx的主进程号:

ps–ef | grep nginx

从图中可以看到,1个Nginx进程的备注信息为“master process”,表示它为主进程,另外的1个进程备注信息为“worker process”,表示它们为子进程。32244为主进程号。

如果在nginx.conf配置文件中指定了pid文件存放的路径(例如:/usr/local/webserver/nginx/logs/nginx.pid;),该文件中存放的就是Nginx当前的主进程号。如果没有指定pid文件存放的路径,nginx.pid文件默认存放在Nginx安装目录的logs目录下。所以,我们也可以直接通过以下命令来完成,省下寻找Nginx主进程号的步骤:

kill -信号类型

`/usr/local/webserver/nginx/logs/nginx.pid`

(1)从容停止Nginx。

kill - QUIT Nginx主进程号  或者 kill -QUIT

`/usr/local/webserver/nginx/logs/nginx.pid`

(2)快速停止Nginx

kill - TERM Nginx主进程号 或者 kill -TERM

`/usr/local/webserver/nginx/logs/nginx.pid`

kill

- INT Nginx主进程号    或者 kill -INT

`/usr/local/webserver/nginx/logs/nginx.pid`

(3)强制停止所有Nginx进程

pkill–9

nginx

Nginx的平滑重启

如果改变了Nginx的配置文件(nginx conf),想重启Nginx,同样可以通过发送系统信号给Nginx主进程的方式来进行。不过,重启之前,要确认Nginx配置文件(nginx.conf)的语法是正确的,否则Nginx将不会加载新的配置文件。通过以下命令可以判断Nginx配置文件是否正确:

/usr/local/webserver/nginx/sbin/nginx–t -c /usr/local/webserver/nginx/conf/nginx.conf

如果配置文件不正确,屏幕将会提示配置文件的第几行出错:

[emerg]:unknown directive”abc“in /usr/local/webserver/nginx/conf/nginx.conf:55

configuration file

/usr/local/webserver/nginx/conf/nginx.conf test failed

如果配置文件正确,屏幕将提示以下两行信息:

the configuration file /usr/local/webserver/nginx/conf/nginx.conf  syntax

is OK

configuration file /usr/local/webserver/nginx/conf/nginx.conf  test is

successful

这时候,就可以平滑重启Nginx了。

kill -HUP Nginx主进程号 kill一HUP   `/usr/local/webserver/nginx/logs/nginx.pid`

当Nginx接收到HUP信号时,它会尝试先解析配置文件,如果成功,就应用新的配置文件(例如,重新打开日志文件或监听的套接字)。之后,Nginx运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务。所有客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,Nginx将继续使用旧的配置进行工作。

Nginx支持以下几种信号类型:

·TERM,INT快速关闭;

·QUIT从容关闭;

·HUP平滑重启,重新加载配置文件;

·USR1重新打开日志文件,在切割日志时用途较大;

·USR2平滑升级可执行程序;

·WINCH从容关闭工作进程。

Nginx的平滑升级

当需要将正在运行中的Nginx升级、添加,删除服务器模块时,可以在不中断服务的情况下,使用新版本、重编译的Nginx可执行程序替换旧版本的可执行程序。步骤如下:

(1)使用新的可执行程序替换旧的可执行程序,对于编译安装的Nginx,可以将新版本编译安装到旧版本的Nginx安装路径中。替换之前,您最好备份一下旧的可执行文件。

(2)发送以下指令:

kill–USR2 旧版本的nginx主进程号

(3)旧版本Nginx的主进程将重命名它的.pid文件为.oldbin(例如:/usr/local/webserver/nginx/logs/nginx.pid.oldbin),然后执行新版本的Nginx可执行程序,依次启动新的主进程和新的工作进程。

(4)此时,新、旧版本的Nginx实例会同时运行,共同处理输入的请求。要逐步停止旧版本的Nginx实例,你必须发送WINCH信号给旧的主进程,然后,它的工作进程就将开始从容关闭:

kill -WINCH 旧版本的Nginx主进程号

(5) 一段时间后,旧的工作进程(worker process)处理了所有已连接的请求后退出,仅由新的工作进程来处理输入的请求了:

(6)这时候,我们可以决定是使用新版本,还是恢复到旧版本:

kill–HUP     旧的主进程号:Nginx将在不重载配置文件的情况下启动它的工作进程; kill–QUIT    新的主进程号:从容关闭其工作进程(worker

process); kill–TERM   新的主进程号:强制退出; kill新的主进程号或旧的主进程号:如果因为某些原因新的工作进程不能退出,则向其发送kill信号。

新的主进程退出后,旧的主进程会移除.oldbin前缀,恢复为它的.pid文件,这样,一切就都恢复到升级之前了。如果尝试升级成功,而你也希望保留新的服务器时,可发送QUIT信号给旧的主进程,使其退出而只留下新的服务器运行:

(转)LINUX测试环境部署Redis(四)

安装配置Redis 第一部分:安装redis  希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: ...

LINUX测试环境部署manggo(六)

安装配置manggo 复制安装包mongodb-linux-x86_64-2.6.5.tgz到/usr/local/目录下,或者如果有网络可以直接使用wget命令下载安装包到/usr/local目录下 ...

LINUX测试环境部署mysql(三)

安装配置mysql 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 安 ...

Linux测试环境部署tomcat(二)

安装配置tomcat 1:在http://tomcat.apache.org/download-80.cgi下载最新安装包 2:安装tomcat 将apache-tomcat-8.0.21.tar.g ...

Linux测试环境部署jdk(一)

安装配置JDK yum install -y lrzsz  安装rz,方便xshell上传下载文件 Jdk: jdk-6u1-linux-i586 Tomcat: apache-tomcat-7.0. ...

Linux测试环境搭建的学习建议

随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...

Linux测试环境简单使用教程

0. 本blog 简单说明一下 Linux测试环境尤其是 CentOS测试环境的开发测试使用, 教程可能不会很长, 主要是入门. 0.1 Linux简介: Linux 的历史基本上不用阐述, linu ...

Hadoop 学习笔记 (八) hadoop2.2.0 测试环境部署 及两种启动方式

1基本流程步骤1:准备硬件(linux操作系统)步骤2:准备软件安装包,并安装基础软件(主要是JDK)步骤3:修改配置文件步骤4:分发hadoop步骤5:启动服务步骤6:验证是否启动成功!2硬件配置要 ...

(5.2)mysql高可用系列——测试环境部署

关键词环境部署: ############## 测试环境机器架构 #########[1]策划[1.1]linux服务器A组 8台 192.168.1.200~192.168.1.207,主机名db, ...