某台vps上的nginx版本nginx/0.6.32,够老了,升级到0.7.67系列也不过瘾了,呵呵,干脆直接升级最新稳定版0.8.52.
升级过程记录一下
首先当然是下载源码,因为现在还没有nginx 0.8.52的deb源
- wget http://nginx.org/download/nginx-0.8.52.tar.gz
tar zxvf nginx-0.8.52.tar.gz
cd nginx-0.8.52
- 愿意改版本信息的可以去修改
编辑“src/core/nginx.h”
随意修改 以下字段
#define NGINX_VERSION
#define NGINX_VER
- 关闭debug模式,据说可以减少nginx文件的大小
编辑“auto/cc/gcc”:
找到这行,注释掉以下代码:
#CFLAGS="$CFLAGS -g"
- 开始编译,但千万不要"make install":
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
make- make时提示缺失 prec 库
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=
option.那就安装呗,呵呵 apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
- 备份原来的 nginx 文件
mv /usr/sbin/nginx /usr/sbin/nginx.old- 复制编译好的 nginx 文件到/usr/sbin/nginx
cp objs/nginx /usr/sbin/nginx
- 检测nginx文件配置 nginx -t
- 测试成功,则直接重启nginx
/etc/init.d/nginx restart
后记,实在是很少编译,结果好几个目录路径缺失,只好手工补上了。汗:-)
文章评论
# 复制编译好的 nginx 文件到/usr/sbin/nginx
cp objs/nginx /usr/sbin/nginx
----------------------------------------
为什么要这样做而不是直接make install?
@photon 因为前面是网上的那种lnmp一键安装包装的,比较乱,不敢直接安装替换。其实我很少编译的,习惯了deb包。哈哈。
I really like your topic and appreciate your work.it is so interesting for me because it provides nice infos so I' bookmarked it.thank you for sharing this topic.