WEB开发网
开发学院服务器WEB服务器Nginx 升级nginx到1.2.0 阅读

升级nginx到1.2.0

 2012-05-15 10:52:27 来源:WEB开发网   
核心提示: 首先下载最新源码文件 nginx-1.2.0.tar.gz 解压 tar -zxvf nginx-1.2.0.tar.gz 同目录下产生同名文件夹 cd nginx-1.2.0.tar.gz 察看原来的配置 /usr/local/nginx/sbin/nginx -V 注意是大写的Vnginx version: n

 首先下载最新源码文件 nginx-1.2.0.tar.gz

 解压 tar -zxvf  nginx-1.2.0.tar.gz 同目录下产生同名文件夹
 cd nginx-1.2.0.tar.gz
 
察看原来的配置 /usr/local/nginx/sbin/nginx -V 注意是大写的V
nginx version: nginx/0.7.6.x
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
TLS SNI support disabled
configure arguments: --prefix=/usr/local/nginx  --with-http_ssl_module --with-http_stub_status_module 
拷贝你的红色字体的安装配置参数
安装配置:
cd nginx-1.2.0
# ./configure --prefix=/usr/local/nginx  --with-http_ssl_module --with-http_stub_status_module
 
中途提示缺少pcre配置,图省事,直接yum安装
yum -y install pcre-devel
yum -y install pcre-devel openssl openssl-devel
 
然后make但是不要make install
编译完,在objs目录下有一个nginx执行文件,备份下原来老的nginx文件:
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
复制新文件
cp objs/nginx /usr/local/nginx/sbin/nginx
检测一下是否正常读取配置文件
/usr/local/nginx/sbin/nginx -t 
 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
 
 
显示没有问题。
 
执行命令完成升级: make upgrade 会有如下输出
 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
 kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
 sleep 1
 test -f /usr/local/nginx/logs/nginx.pid.oldbin
 kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
 
检查版本是否已经更新:/usr/local/nginx/sbin/nginx -V
 nginx version: nginx/1.2.0
TLS SNI support disabled
还有一行是你的编译参数
至此,升级完成.
 
我在升级过程中make报错
编译时候出现错误提示:
 objs/src/http/ngx_http_request.o: In function `ngx_http_ssl_servername':
  ngx_http_request.c:(.text+0xba7): undefined reference to `SSL_get_servername'
 ngx_http_request.c:(.text+0xc5b): undefined reference to `SSL_set_SSL_CTX'
 
原因是升级了openssl
 解决办法:
./configure --prefix=/usr/local/nginx  --with-http_ssl_module --with-http_stub_status_module --with-openssl=这里执行openssl的源码包的地址,不是安装路径

Tags:升级 nginx

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接