<commit_before>---
layout: post
title: Nginx使用image-filter模块生成缩略图
date:   2017-10-03 11:31:58
categories: [tools]
---

## Nginx使用image-filter模块生成缩略图

1、nginx安装步骤可参考<a href="/linux/tools/2016/05/12/nginx-linux-install.html">Linux环境下安装nginx</a>，默认安装是没有image-filter模块的，我们需要动态增加此模块；
{% highlight ruby %}
先安装好image-filter模块所需的依赖
yum install gd-devel -y
到nginx的目录执行命令完成配置
./configure --prefix=/usr/local/nginx-1.14.2 --conf-path=/usr/local/nginx-1.14.2/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_image_filter_module  --with-pcre
配置成功后执行编译(注意不需要执行安装 make install)
make
编译成功后将文件覆盖到安装目录下
cp objs/nginx /usr/local/nginx-1.14.2/sbin/
使用以下命令可查看应用的模块
./nginx -V
{% endhighlight %}

2、配置nginx.conf，在server中增加如下配置
{% highlight ruby %}
    location ~* /(.*)_(\d+)x(\d+)\.(jpg|gif|png)$ {
        root html;
        set $name $1;
        set $w $2;<commit_msg>'mixfate'<commit_after>---
layout: post
title: Nginx使用image-filter模块生成缩略图
date:   2017-10-03 11:31:58
categories: [tools]
---

## Nginx使用image-filter模块生成缩略图

1、nginx安装步骤可参考<a href="/linux/tools/2016/05/12/nginx-linux-install.html">Linux环境下安装nginx</a>，默认安装是没有image-filter模块的，我们需要动态增加此模块；
{% highlight ruby %}
先安装好image-filter模块所需的依赖
yum install gd-devel -y
到nginx的目录执行命令完成配置
./configure --prefix=/usr/local/nginx-1.14.2 --conf-path=/usr/local/nginx-1.14.2/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_image_filter_module  --with-pcre
配置成功后执行编译(注意不需要执行安装 make install)
make
编译成功后将文件覆盖到安装目录下
cp objs/nginx /usr/local/nginx-1.14.2/sbin/
使用以下命令可查看应用的模块
./nginx -V
{% endhighlight %}

2、配置nginx.conf，在server中增加如下配置完成图片缩放处理
{% highlight ruby %}
    location ~* /(.*)_(\d+)x(\d+)\.(jpg|gif|png)$ {
        root html;
        set $name $1;
        set $w $2;
{'fraction_non_alphanumeric': 0.1626848691695108, 'fraction_numerical': 0.04323094425483504, 'mean_word_length': 4.098550724637681, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4257821', 'n_tokens_mistral': 934, 'n_tokens_neox': 939, 'n_words': 105}