先交代一下本次升级的环境
系统: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。
本文转载自《快乐飞扬博客》http://www.klfy.net
转载请注明:有客帮 » CentOS6.3无缝升级Nginx最新版