我们的征途是星辰大海

My Conquest Is the Sea of Stars

nginx升级0.8.52

某台vps上的nginx版本nginx/0.6.32,够老了,升级到0.7.67系列也不过瘾了,呵呵,干脆直接升级最新稳定版0.8.52.

升级过程记录一下

首先当然是下载源码,因为现在还没有nginx 0.8.52的deb源

  1. wget http://nginx.org/download/nginx-0.8.52.tar.gz
  2. tar zxvf nginx-0.8.52.tar.gz

    cd nginx-0.8.52

  3. 愿意改版本信息的可以去修改
  4. 编辑“src/core/nginx.h”

    随意修改 以下字段

    #define NGINX_VERSION

    #define NGINX_VER

  5. 关闭debug模式,据说可以减少nginx文件的大小
  6. 编辑“auto/cc/gcc”:

    找到这行,注释掉以下代码:

    #CFLAGS=”$CFLAGS -g”

  7. 开始编译,但千万不要”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
  8. make时提示缺失 prec
  9. ./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

  10. 备份原来的 nginx 文件
    mv /usr/sbin/nginx /usr/sbin/nginx.old
  11. 复制编译好的 nginx 文件到/usr/sbin/nginx
  12. cp objs/nginx /usr/sbin/nginx

  13. 检测nginx文件配置 nginx -t
  14. 测试成功,则直接重启nginx
    /etc/init.d/nginx restart

后记,实在是很少编译,结果好几个目录路径缺失,只好手工补上了。汗:-)

点赞
  1. photon说道:

    # 复制编译好的 nginx 文件到/usr/sbin/nginx

    cp objs/nginx /usr/sbin/nginx
    ----------------------------------------

    为什么要这样做而不是直接make install?

    1. wanjie说道:

      因为前面是网上的那种lnmp一键安装包装的,比较乱,不敢直接安装替换。其实我很少编译的,习惯了deb包。哈哈。

  2. adsense tricks说道:

    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.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据