nginx 動態縮略圖配置記錄

最近公司商城的圖片嚴重影響到了網站的正常訪問,爲了儘快解決這個問題,採用 圖片動態生成的處理方式。這裏用到了nginx的 http_image_filter_module 模塊,安裝nginx的時候須要配置上   --with-http_image_filter_modulehtml

同時,把原來放在項目跟目錄下的圖片經過 rsync + inotify 配置 對圖片進行同步,同步到圖片服務器nginx

 

nginx 配置:bash

    server {
        listen       80;
        server_name  static.xxxx.com;

	location ~* /uploads/(.*)_(\d+)x(\d+)\.(jpeg|jpg|png|gif)$ {
            root   /home/wwwroot;    
            set $h $2;
	    set $w $3;
	    if ($h = '0'){
	    	rewrite /uploads/(.*)_(\d+)x(\d+)\.(jpeg|jpg|gif|png)$ /uploads/$1.$4 last;
	    }
	    
	    if ($w = '0') {
	    	rewrite /uploads/(.*)_(\d+)x(\d+)\.(jpeg|jpg|gif|png)$ /uploads/$1.$4 last;
	    }
		
	    
	    #生成縮略圖
	    image_filter resize $h $w;
	    image_filter_buffer 5M;
       
	    error_page 415 /uploads/nopicture.png;

	    try_files /uploads/$1.$4 /uploads/nopicture.jpg;
        }
	
	location ~* /uploads/(.*)$ {
		root /home/wwwroot;
	}	

        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        #access_log  /home/wwwlogs/static.cwbbc.com.log  access;
    }

  

錯誤解決:服務器

我遇到的狀況是,經過域名訪問 uploads 目錄下少數圖片 出現 403錯誤,查看nginx error.log 以下網站

[error] 1326#0: *8 open() "/home/wwwroot/uploads/2018/0126/eeae48c7a3c6edd7085d75f63afc497b.jpg" failed (13: Permission denied), client: 125.80.130.229, server: static.cwbbc.com, request: "GET /uploads/2018/0126/eeae48c7a3c6edd7085d75f63afc497b.jpg HTTP/1.1", host: "static.xxxx.com"

  

貌似是權限的問題,百度以後 說是 nginx的啓動用戶和運行用戶不一致致使的 權限錯誤。server

修改 nginx.conf 裏面的 user 配置,個人配置默認是關閉的,沒有設置啓動用戶,如此打開就是了htm

#user nobody;  
user  root;

  

重啓nginxblog

原來是這個問題圖片

相關文章
相關標籤/搜索