七.图片共享
(一)简单共享图片(输入默认发布目录下的目录下的文件)
1.将之前的nginx关掉,并重新编译(因为需要增加新的模块)
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# ls
[root@server1 ~]# cd nginx-1.15.7
[root@server1 nginx-1.15.7]# make clean #重新编译之前要删除Makefile objs文件
[root@server1 nginx-1.15.7]# yum install -y /root/gd-devel-2.0.35-26.el7.x86_64.rpm
#添加图形动态模块
[root@server1 nginx-1.15.7]# ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_image_filter_module=dynamic
[root@server1 nginx-1.15.7]# make
2.将新的二进制文件替换成之前的二进制文件
[root@server1 nginx-1.15.7]# cd objs/
[root@server1 objs]# ls
[root@server1 objs]# cp nginx /usr/local/nginx/sbin/nginx
3.创建新的目录,并将图像模块放在目录下
[root@server1 objs]# mkdir /usr/local/nginx/modules
[root@server1 objs]# ls
[root@server1 objs]# cp ngx_http_image_filter_module.so /usr/local/nginx/modules
4.编写nginx配置文件
[root@server1 objs]# cd /usr/local/nginx/conf/
[root@server1 conf]# vim nginx.conf
配置文件的内容如下:
1 load_module modules/ngx_http_image_filter_module.so;
53 location /search/ {
54 image_filter resize 100 200; #100表示宽,200表示高
55 # limit_conn addr 1;
56 #limit_rate 50k;
57 #limit_req zone=one burst=5;
58 }
5. 开启nginx,并使nginx服务重启
[root@server1 conf]# systemctl start nginx
[root@server1 conf]# systemctl reload nginx
6.查看默认发布目录下的search目录下有图片
[root@server1 conf]# cd /usr/local/nginx/html/search/
[root@server1 search]# ls
7.在浏览器中输入网址http://172.25.66.1/search/vim.jpg,即默认发布目录下的图片,会发现可以成功显示
(二)复杂共享图片(只输入默认发布目录下的目录)
在上面的共享图片中我们可以得知,在浏览器中查询时必须得输入完整的路径,其中包括图片的名称,可是这样显然是不合理的,我们认为将图片都放置一个目录下,通过查看目录选择图片才是一种不错的方式
1.在浏览器中只输入默认发布目录下的目录时,会发现415报错
2.修改nginx配置文件并重启服务
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# systemctl reload nginx
配置文件下的内容如下:
53 location /search/ {
54 #image_filter resize 100 200;
55 autoindex on;
56 # limit_conn addr 1;
57 #limit_rate 50k;
58 #limit_req zone=one burst=5;
59 }
3.再次在浏览器中输入默认发布目录下的目录时,会发现此时可以对目录下的文件进行选择并查看,然后点击vim.jpg图片进行查看
(三)设置图片的到期时间
1.编辑nginx配置文件
[root@server1 conf]# vim nginx.conf
[root@server1 conf]# systemctl reload nginx
配置文件中的内容如下:
71 location ~ .*\.(jpg|png|css|js)?$ {
72 expires 30d;
73 }
2.在物理机中访问server1中的图片,会显示到期时间
[kiosk@foundation66 Desktop]$ curl -I 172.25.66.1/search/vim.jpg
[kiosk@foundation66 Desktop]$ date