在CentOS 7上安装带有Ngx_pagespeed的nginx
Anne655
・6 分钟阅读
介绍
ngx pagespeed是一个开放源码的nginx模块,它可以加速站点,并且减少页面加载时间,它通过重写网页来减少延迟和带宽,NGXpagespeed还提供许多优化过滤器,用于优化各种文件如CSS HTML PNG和JPG。
前提条件
- 运行CentOS 7.的新部署实例
- 一个sudo用户 ,
步骤1:更新系统
在你的CentOS服务器实例上安装任何软件包之前,建议你更新系统,使用sudo用户登录,并运行以下命令来更新系统。
sudo yum -y update
sudo reboot
系统重启后,再次作为sudo用户登录,然后继续下一步。
步骤2:下载依赖项
要使用ngx pagespeed,我们必须从源代码编译nginx,为此,我们需要通过运行以下命令下载一些软件。
sudo yum -y install gcc-c++ pcre-devel zlib-devel make unzip
接下来,我们需要下载nginx和ngx pagespeed的源代码。 在撰写本文时,最新的稳定版本是Nginx 1.12.0,最新的ngx pagespeed版本是1.12.34.2.
NPS_VERSION=1.12.34.2
NGINX_VERSION=1.12.0
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
wget https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VERSION}-beta.zip
提取下载的软件包。
tar -xvzf nginx-${NGINX_VERSION}.tar.gz
unzip v${NPS_VERSION}-beta.zip
步骤3:下载PageSpeed优化库
编译Nginx需要PageSpeed优化库(psol ),使用以下命令在ngx-pagespeed源目录中下载,并且提取它们。
cd ngx_pagespeed-${NPS_VERSION}-beta
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.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})
cd ..
步骤4:配置和编译Nginx
现在可以使用pagespeed模块编译Nginx源代码,转到Nginx源代码的目录。
cd nginx-${NGINX_VERSION}
使用以下命令配置源代码。
./configure --add-module=$HOME/ngx_pagespeed-${NPS_VERSION}-beta --user=nobody --group=nobody --pid-path=/var/run/nginx.pid ${PS_NGX_EXTRA_FLAGS}
配置完成后,使用以下命令编译Nginx :
sudo make
这可能需要几分钟时间,之后,你可以继续使用以下命令安装软件:
sudo make install
现在Nginx已安装在目录/usr/local/nginx
中,为方便起见,我们可以创建以下符号链接:
sudo ln -s /usr/local/nginx/conf/ /etc/nginx
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
步骤5:创建启动脚本
为了能够停止和启动Nginx,你必须手动创建启动脚本,Nginx在这里提供了一个模板 ,复制模板内容,并使用诸如nano之类的文本编辑器将它插入到/etc/init.d/nginx
文件中,同时为文件设置正确的权限。
sudo nano /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
你现在可以启动,然后使用以下命令将它添加到默认运行级别(Nginx将与你的实例一起启动和停止):
sudo service nginx start
sudo systemctl enable nginx
步骤6启用NGX页面速度
要启用ngx pagespeed,首先要创建一个缓存目录,并将它所有权分配给Nginx
sudo mkdir -p /var/ngx_pagespeed_cache
sudo chown -R nobody:nobody /var/ngx_pagespeed_cache
打开/etc/nginx/nginx.conf
文件:
sudo nano /etc/nginx/nginx.conf
在服务器块中添加以下行:
##
# Pagespeed main settings
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Ensure requests for pagespeed optimized resources go to the pagespeed
# handler and no extraneous headers get set.
location ~".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" { add_header""""; }
location ~"^/ngx_pagespeed_static/" { }
location ~"^/ngx_pagespeed_beacon" { }
最后,重新启动Nginx以使更改生效:
sudo systemctl restart nginx
步骤6:测试
要检查服务器上是否正确安装了NGX pagespeed,请运行以下命令:
curl -I -p http://localhost| grep X-Page-Speed
输出应该是这样的:
X-Page-Speed: 1.12.34.2-0
Ngx-pagespeed现已安装在您的服务器上。