CentOS6.3无缝升级nginx最新版

先交代一下本次升级的环境

系统:centos6.3 64位

nginx 安装位置: /usr/local/nginx(不同的主机安装位置不同,使用以下代码时请注意做必要的替换)

手动安装的时候要替换你的安装位置,其中 /usr/local/nginx 是nginx的安装目录Shell

首先备份你原有的nginx

tar -zcvf nginx.tar.gz /usr/local/nginx/.

然后远程下载最新稳定版的 nginx

wget http://nginx.org/download/nginx-1.5.7.tar.gz

查看Nginx最新的版本号:http://nginx.org/en/download.html

将下载好的文件解压缩:

tar -zxvf nginx-1.5.7.tar.gz

解压后得到目录 nginx-1.5.7,进入该目录

cd nginx-1.5.7

接下来我们需要编译 nginx 的源码,在编译之前确保你的主机安装了必须的编译工具

yum install gcc openssl-devel pcre-devel zlib-devel

如果你不清楚编译时的选项,可以参考现有 nginx 的编译选项,查看方法

/usr/local/nginx/sbin/nginx -V
得到结果如下
nginx version: nginx/1.5.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) 
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_uwsgi_module --without-http_scgi_module

其中 configure arguments 就是当前运行的 nginx 编译时的命令,找到这些命令后我们开始编译新的 nginx

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_uwsgi_module --without-http_scgi_module && make

编译完成后,在当前目录的 objs 目录下就是我们需要的 nginx 可执行文件了,只需覆盖即可完成升级。在覆盖老版本的 nginx 之前,首先将其重命名以免无法覆盖

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

然后将新编译好的 nginx 复制到 nginx 的目录中

cp objs/nginx /usr/local/nginx/sbin/nginx

最后重启 nginx 完成升级

/usr/local/nginx/sbin/nginx -s reload

使用上面介绍过的命令查看 nginx 版本,显示为 1.5.7。

评论列表

此文章还没有评论。