[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