2014-12-05 52 views
1

我們在Debian根運行的Magento CE 1.8具有以下配置:Magento的CE 1.8:光油不會吹掃網址

Nginx --> Varnish 3.0 --> Apache  

我們已經安裝了「的PageSpeed搭載光油」 -extension(但它不是我們在其他服務器上遇到了同樣的問題)

現在問題: 如果我們更改某些產品,刪除產品或其他東西,Varnish將不會清除這些URL(我認爲是這樣)。 編輯產品時,我得到504網關超時。 如果我重新啓動清漆服務,一切正常 - 但我們無法通過magento後端觸發清除。

所以我檢查檢查deamon_opts我的/ etc /默認/清漆文件:

DAEMON_OPTS="-a :8080 \ 
     -T localhost:6081 \ 
     -f /etc/varnish/default.vcl \ 
     -S /etc/varnish/secret \ 
     -s malloc,4G"  

這不是默認的清漆的配置,因爲nginx的清漆前使用端口80因此清漆8080和Apache 80再次(只在內部)。

光油管理端口是6081,這也保存在PageSpeed-Extension中。 好吧,讓我們來看看default.vcl(部分):

backend default { 
.host = "127.0.0.1"; 
.port = "80"; 
} 

//我覺得這是好的,讓我們來看看ACL吹掃,使Magento的清洗網址:

acl purge { 
"localhost"; 
"127.0.0.1"; 
} 

//的VCL-東西有些線路//現在發現在清除 「子vcl_recv」:

# purge request 
if (req.request == "PURGE") { 
    if (!client.ip ~ purge) { 
     error 405 "Not allowed."; 
    } 
    ban("obj.http.X-Purge-Host ~ " + req.http.X-Purge-Host + " && obj.http.X-Purge-URL ~ " + req.http.X-Purge-Regex + " && obj.http.Content-Type ~ " + req.http.X-Purge-Content-Type); 
    error 200 "Purged."; 
} 

好了,現在問題的詳細信息。自從我查了一些類似「超時」(15秒後)之類的日誌以來,我已經有一段時間了,但是我忘記了我使用了哪種工具。如果我想在Magento後端編輯產品,則會發生此問題。我點擊保存並加載並加載和加載。然後我在我的瀏覽器中得到504 Gateway Time-Out

varnishlog說(在修改產品的那一刻)

0 CLI   - Rd ping 
0 CLI   - Wr 200 19 PONG 1417774882 1.0 
0 CLI   - Rd ping 
0 CLI   - Wr 200 19 PONG 1417774885 1.0 
0 CLI   - Rd ping 
0 CLI   - Wr 200 19 PONG 1417774963 1.0 
0 CLI   - Rd ping 
0 CLI   - Wr 200 19 PONG 1417774966 1.0 
0 CLI   - Rd ping 
0 CLI   - Wr 200 19 PONG 1417774969 1.0 
14 BackendClose b default 
18 BackendOpen b default 127.0.0.1 34992 127.0.0.1 80 

這在我看來,Magento的後端不能觸發清洗過程。在日誌(具有超時的日誌)中是應該清除的URL。我認爲在magento和清漆(CLI)之間存在某種連接 - 失敗

如何解決特定問題? 是否有任何工具,命令或技巧? 我不知道是什麼問題。

預先感謝您!

+0

Magento的1.8.1及以上版本默認情況下不與光油緩存兼容。我會推薦使用Redis來代替。同時Nginx - > Varnish 3.0 - > Apache配置似乎有點荒謬。它應該是Varnish 3.0 - > Nginx - >沒有Apache的PHP-FPM。在您的特定情況下,請查看本指南以獲取正確的Varnish 3.0配置文件。 HTTPS://www.ashsmith。io/2012/12 /創建更快的magento-store-part-one-server-setup/ – Cninroh 2014-12-05 11:35:42

+0

你好,Nginx-> varnish - > apache運行良好,沒有理由改變這一點。 我們在運行Magento CE 1.7的另一臺機器上遇到同樣的問題!所以我認爲它沒有Magento問題。 Varnish正在運行,商店超快!Redis是清漆的替代品,它可能是memcached的替代品。我們需要清漆運行。 幾天前,我在你的鏈接中測試了vcl的。大部分文件與我的vcl相似。它是相同的擴展名。 – krebsmann 2014-12-05 11:51:47

+0

nginx和varnish都可以作爲後臺服務的代理。你當前的實現是使用nginx作爲代理。你有沒有爲Nginx指定proxy_pass? http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass – Cninroh 2014-12-05 12:01:49

回答

0

這個命令將清除所有的URL

varnishadm「禁令req.url〜/」