Directadmin平滑升级nginx版本,添加nginx–http–concat模块
作者:@ouyang 发布时间:2016年02月20日 阅读: 2,854 分类:学习笔记
[root@server ~]#nginx -V //查看Nginx安装信息以及目录 nginx version: nginx/1.8.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --user=nginx --group=nginx --prefix=/usr --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-ipv6 --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_dav_module --with-cc-opt=''-D FD_SETSIZE=32768''
下载nginx-http-concat模块以及nginx最新版本
[root@server ~]# git clone git://github.com/alibaba/nginx-http-concat.git //下载nginx-http-concat模块 [root@server ~]# mv nginx–http–concat/ /usr/local/src/nginx-http-concat //将模块移动到指定目录 [root@server ~]# wget http://nginx.org/download/nginx-1.9.11.tar.gz //下载最新nginx版本 [root@server ~]# tar zxvf nginx-1.9.11.tar.gz //解压 [root@server ~]# cd nginx-1.9.11 //进入nginx最新目录
这里需要修改一下nginx-http-concat的ngx_http_concat_module.c文件,因为nginx最新的js类别已经修改成application/javascript。所以需要将ngx_http_concat_module.c里的application/x-javascript修改成application/javascript。不然js无法合并,并会提示400错误。
[root@server nginx-1.9.11]# vi /usr/local/src/nginx-http-concat/ngx_http_concat_module.c 找到 ngx_string("application/x-javascript") 将其修改为 ngx_string("application/javascript") :wq //保存
现在可以进行编译了,将nginx-http-concat一起与nginx编译。
[root@server nginx-1.9.11]# ./configure --user=nginx --group=nginx --prefix=/usr --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-ipv6 --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_dav_module --with-cc-opt="-D FD_SETSIZE=32768" --add-module=/usr/local/src/nginx-http-concat make
make以后进入objs
[root@server nginx-1.9.11]# cd ./objs [root@server objs]# mv /usr/sbin/nginx /usr/sbin/nginx.old //移动1.8版本nginx为nginx.old [root@server objs]# cp nginx /usr/sbin/nginx //将刚编译的1.9.11的nginx复制原地址。
这个时候基本就升级完成了。
[root@server objs]# nginx -V nginx version: nginx/1.9.11 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/usr --user=nginx --group=nginx --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-ipv6 --without-mail_imap_module --without-mail_smtp_module --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_dav_module --with-cc-opt='-D FD_SETSIZE=32768' --add-module=/usr/local/src/nginx-http-concat
这时候看到nginx版本升级到指定版本,并且看到nginx-http-concat已经成功编译进去。
但还没有完成,我们还需要在nginx.conf里面进行配置。
举例:
server { listen 120.0.0.1:80; server_name ouyang.wang www.ouyang.wang ; access_log /var/log/nginx/domains/ouyang.wang.log; access_log /var/log/nginx/domains/ouyang.wang.bytes bytes; error_log /var/log/nginx/domains/ouyang.wang.error.log; root /home/domains/ouyang.wang/public_html; index index.htm index.html index.php; include /usr/local/directadmin/data/users/news/nginx_php.conf; location / { concat on; concat_max_files 20; concat_unique off; //允许不同类型文件合并 } include /etc/nginx/webapps.conf; }
只需要将下列加入server里即可。
location / { concat on; concat_max_files 20; concat_unique off; }
参数说明:
# nginx_concat_module 开关 concat on; # 最大合并文件数 # concat_max_files 10; # 允许不同类型文件合并 # concat_unique off; # 允许合并的文件类型,多个以逗号分隔。如:application/javascript, text/css # concat_types application/javascript, text/css;
配置保存完成后,启动nginx即可。
systemctl reload nginx.service
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!