ubuntu安装nginx pagespeed
一、自动安装
使用最新稳定版本的ngx_pagespeed自动安装依赖项并构建最新的主线版nginx,请运行:
$ sudo bash <(curl -f -L -sS https://ngxpagespeed.com/install) --nginx-version latest
二、手动安装
1.安装依赖
$ sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev libxslt-dev libgd-dev libgeoip-dev openssl libssl-dev libperl-dev
2.下载ngx_pagespeed
$ NPS_VERSION=1.13.35.2-stable #版本号可以自选,官方提供的版本(https://www.modpagespeed.com/doc/release_notes)
$ cd
$ wget https://github.com/apache/incubator-pagespeed-ngx/archive/v${NPS_VERSION}.zip
$ unzip v${NPS_VERSION}.zip
$ nps_dir=$(find . -name "*pagespeed-ngx-${NPS_VERSION}" -type d)
$ cd "$nps_dir"
$ NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
$ NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
$ psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
$ [ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
$ wget ${psol_url}
$ tar -xzvf $(basename ${psol_url})
3. 下载nginx
$ NGINX_VERSION=1.14.0 #如果是在已安装nginx基础之上build,nginx版本需要和当前使用版本一致
$ cd
$ wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
$ tar -xvzf nginx-${NGINX_VERSION}.tar.gz
$ cd nginx-${NGINX_VERSION}/ $ NGINX_BIN='/usr/sbin/nginx'
$ NGINX_BUILD_CONF=`$NGINX_BIN -V >& >/dev/null | grep 'configure' --color | awk -F':' '{print $2;}'`
$ NGINX_BUILD_CONF="$NGINX_BUILD_CONF --add-dynamic-module=/home/ubuntu/incubator-pagespeed-ngx-1.13.35.2-stable"
如果本机已安装了nginx,在已有的基础上安装,则需要执行以下操作:
$ vi configure #默认prefix路径是/usr/local/nginx,可以修改为自己当前的nginx路径再编译,否则无法匹配so文件
通过nginx -V 找到configure的参数, 然后在末尾加上--add-dynamic-module=/home/ubuntu/incubator-pagespeed-ngx-1.13.35.2-stable开始编译
直接使用$NGINX_BUILD_CONF 变量会有问题,可以先通过nginx -V命令查看当前的编译变量,以下是自己使用的编译变量,请根据自己需要修改:
./configure --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-FIJPpj/nginx-1.14.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module --add-dynamic-module=/home/ubuntu/incubator-pagespeed-ngx-1.13.35.2-stable
初始安装:
$ ./configure --add-dynamic-module=/home/ubuntu/incubator-pagespeed-ngx-1.13.35.2-stable
configure执行完毕之后:
$ make
$ sudo make install
3.配置nginx
如果是初始安装nginx,则找到nginx安装路径(默认是在/usr/local/nginx)执行配置pagespeed即可。
如果存在nginx先备份原来的nginx执行文件以便恢复:
$ sudo cp /usr/sbin/nginx /tmp/nginx_bak # 备份旧的nginx文件
4.配置pagespeed
添加以下配置文件到/etc/nginx/nginx.conf文件中
load_module /usr/lib/nginx/modules/ngx_pagespeed.so; http{
......
pagespeed on;
pagespeed FileCachePath /var/cache/ngx_pagespeed/;
...... include /etc/nginx/ngx_pagespeed.conf;
}
创建pagespeed缓存目录
$ sudo mkdir /var/cache/ngx_pagespeed/
$ sudo chown root:root /var/cache/ngx_pagespeed/
创建pagespeed配置文件
$ sudo vi /etc/nginx/ngx_pagespeed.conf
#根据自己业务需要配置相关特性
pagespeed RewriteLevel PassThrough;
pagespeed FetchHttps enable;
pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters combine_javascript;
pagespeed EnableFilters combine_css;
pagespeed EnableFilters flatten_css_imports;
pagespeed EnableFilters insert_dns_prefetch;
pagespeed EnableFilters convert_jpeg_to_webp;
pagespeed EnableFilters convert_to_webp_lossless;
pagespeed EnableFilters convert_to_webp_animated;
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters rewrite_images;
pagespeed EnableFilters resize_rendered_image_dimensions;
pagespeed EnableFilters rewrite_javascript;
pagespeed EnableFilters move_css_to_head;
pagespeed EnableFilters defer_javascript; pagespeed EnableFilters inline_images;
pagespeed EnableFilters recompress_images; pagespeed EnableFilters rewrite_domains;
pagespeed DomainRewriteHyperlinks on;
将新生成的nginx文件拷贝到执行目录
$ cd /usr/share/nginx/sbin/ #初始化安装不必执行此条命令
$ sudo cp -f nginx /usr/sbin/nginx #初始化安装不必执行此条命令
$ sudo nginx -t
$ sudo nginx -s reload
ubuntu安装nginx pagespeed的更多相关文章
- ubuntu安装nginx踩坑
ubuntu安装nginx 安装nginx tar -zxvf nginx-1.15.5.tar.gz -C /usr/local/src 解压 cd /usr/local/src/nginx-1.1 ...
- ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library
ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library 须要安装pcre包. sudo apt-get upd ...
- Ubuntu安装Nginx+PHP7.0.4+MySQL5.6
安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wget http://nginx.org/keys/nginx_signing.key $ sudo apt-k ...
- Ubuntu 安装 Nginx 实现反向代理
安装Nginx依赖库(ubuntu平台) 最近域名通过了备案, 想着应用总不能带着端口号访问吧, 于是在网上踩了很多坑, 终于找到了一步直达的方法,起码这一次很顺利的实现了 安装gcc g++的依赖库 ...
- ubuntu安装nginx和设置网站https访问
安装nginx 在控制台 输入 sudo apt-get install nginx 等待安装成功之后.可以打开浏览器.输入你的域名或者ip地址会出现"Welcome to nginx!&q ...
- ubuntu安装Nginx
什么都不说了 直接干 一.安装Nginx 首先从Nginx的官网下载最新的稳定版本1.14.0:nginx 1.解压安装包 1.root@ubuntu:tar -zxf nginx-1.14.0.ta ...
- ubuntu 安装nginx, 出现 Unable to locate package
今天在初始化一台新的ubuntu 服务器时,敲上了 sudo apt-get install nginx 来安装nginx, 却发现提示: Reading package lists... Done ...
- ubuntu安装nginx及其默认目录结构
一. 安装包安装 1.1 安装Nginx $sudo apt-get install nginx Ubuntu安装之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经 ...
- Ubuntu 安装nginx
https://www.nginx.com/resources/admin-guide/load-balancer/ https://github.com/gplessis/dotdeb-nginx/ ...
随机推荐
- FreeNas搭建踩坑指南(三)
0x00 Dell R730 无法编辑阵列卡Raid FreeNas和Windows Server都做成了uefi启动,装之前删掉了数据盘配置,系统装好后重启发现无法进入阵列卡编辑 0x01 解决方案 ...
- 在VS 2017 下创建 Xamarin NuGet Package
最近在做一个Xamarin for android的项目,有个需求是一次可以从相册中选择多张图片,但是 android API<19 的版本还不支持一次选择多张图片,在网上找了一下,发现原生的组 ...
- 给萌新的Flexbox简易入门教程
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://www.sitepoint.com/flexbox-css-flexible-bo ...
- 基于Android的模拟点击探索
前言 压力测试中,一般会用到自动化测试.准备写一个APP,可以记录屏幕上的点击事件,然后通过shell命令来模拟自动执行.shell指令,比较容易实现.那么,关键的一步是获取点击的坐标.对于Andro ...
- Visual Studio插件开发基础
Visual Studio插件主要有两种:Add-in 和 VSX(Visual Studio eXtensibility) 两者区别可参考这篇文章:Visual Studio Extensions ...
- python-重载
重载概念 重载是对继承的父类方法进行重新定义.重载可以重新定义方法还可以重新定义运算符.因为通过继承的类不一定能满足当前类的需求.在当前类中只需要修改部分内容而达到自己的需求. 重载特点 减少代码量和 ...
- Go 定时任务
本文基于Golang Crontab 实现了一个Crontab Job Manager.更加容易使用,同时也能够满足更加复杂的场景. 仓储地址, 如果有用,欢迎点赞,欢迎讨论,欢迎找茬. 需求 在开发 ...
- shell脚本-正则、grep、sed、awk
----------------------------------------正则---------------------------------------- 基础正则 ^word ##搜索以w ...
- centos 7 进入图形界面
1 确保自己已经安装图形界面,如果没有请执行命令 yum groupinstall "GNOME Desktop" "Graphical Administration T ...
- Debate CodeForces - 1070F (贪心)
Elections in Berland are coming. There are only two candidates — Alice and Bob. The main Berland TV ...