在Amazon Linux AMI release 2016.09的Nginx上遇到困难
在Amazon Linux 2016.09中,使用yum安装的Nginx版本已更新至1.10.1。
请参考https://aws.amazon.com/jp/amazon-linux-ami/2016.09-release-notes/。
在1.9.11版本中,Nginx加入了动态加载模块的功能,并将一些模块改为动态加载方式。
参考链接: https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/
./configure --with-http_geoip_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-mail=dynamic \
--with-stream=dynamic \
--with-http_xslt_module=dynamic
如果以前使用 `http_image_filter_module` 进行图像转换等操作,现在使用原有的 `nginx.conf` 配置文件却没有该模块的话,会出现错误提示。
Starting nginx: nginx: [emerg] unknown directive "image_filter" in /etc/nginx/sites-enabled/hoge:1
当使用yum命令检查yum的nginx相关软件包时,发现存在需要动态加载的模块,因此需要使用yum命令安装所需的模块。
$ yum list | grep nginx
nginx.x86_64 1:1.10.1-1.28.amzn1 @amzn-main
collectd-nginx.x86_64 5.4.1-1.11.amzn1 amzn-main
munin-nginx.noarch 2.0.20-1.37.amzn1 amzn-main
nginx-all-modules.x86_64 1:1.10.1-1.28.amzn1 amzn-main
nginx-filesystem.noarch 1.10.1-1.el6 epel
nginx-mod-http-geoip.x86_64 1:1.10.1-1.28.amzn1 amzn-main
nginx-mod-http-image-filter.x86_64 1:1.10.1-1.28.amzn1 amzn-main
nginx-mod-http-perl.x86_64 1:1.10.1-1.28.amzn1 amzn-main
nginx-mod-http-xslt-filter.x86_64 1:1.10.1-1.28.amzn1 amzn-main
nginx-mod-mail.x86_64 1:1.10.1-1.28.amzn1 amzn-main
nginx-mod-stream.x86_64 1:1.10.1-1.28.amzn1 amzn-main
$ sudo yum install nginx-mod-http-image-filter
另外,在nginx.conf中添加模块加载的指令,这样在nginx启动时就会被加载。(最好是在nginx.conf的开头加上)
include /usr/share/nginx/modules/mod-http-image-filter.conf;