मुझे लगातार 504 गेटवे त्रुटियां मिल रही हैं जब मेरी PHP स्क्रिप्ट 60 सेकंड से अधिक समय तक चलने की आवश्यकता है।504 गेटवे टाइम-आउट मीडिया मंदिर
मैं एक समर्पित सर्वर पर मीडिया मंदिर पर हूं। मैंने मीडिया मंदिर से संपर्क किया है और वे सहायक रहे हैं लेकिन उनके किसी भी सुझाव के लिए मेरे लिए काम नहीं लग रहा है, मुझे इस फाइल को संपादित करने के लिए कहा गया था।
/etc/httpd/conf.d/fcgid.conf
मैं करने के लिए
नीचेLoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>
FcgidIPCDir /var/run/mod_fcgid/sock
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
FcgidIdleTimeout 300
FcgidMaxRequestLen 1073741824
FcgidProcessLifeTime 10000
FcgidMaxProcesses 64
FcgidMaxProcessesPerClass 15
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 600
FcgidIOTimeout 600
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 600
</IfModule>
तो
मैं के रूप में मैं कर सकता हूँ के रूप में ज्यादा अधिकतम सब कुछ करने की कोशिश की है, जो इस परीक्षण करने के लिए मैं कर रहा हूँ बस नीचे दिए गए समारोह को चला रहा है।
function test504(){
@set_time_limit(0);
sleep(60);
echo "true";
}
नींद 60 सेकंड नीचे किसी भी कीमत पर काम करेंगे सच लौटने लेकिन 60 पर मैं 504 प्रवेश द्वार त्रुटि मिलती है।
मेरे phpinfo(); आउटपुट
max_execution_time 600
max_input_time 180
मैं इस fastcgi_connect_timeout बढ़ाने पर कुछ पोस्ट को देखा है लेकिन जहां मीडिया मंदिर पर इस खोजने के लिए पता नहीं है।
किसी को भी मदद कर सकता हूँ धन्यवाद
अपडेट अभी CANT ठीक इस
समर्थन मैं मैं nginx.conf संपादित करने की आवश्यकता कहा गया है के साथ बातचीत कर के बाद? और इस पोस्ट http://blog.secaserver.com/2011/10/nginx-gateway-time-out/
करने के लिए निर्देशित नहीं कर सकते मेरी होस्टिंग पर कोई भी मान ठीक किया गया था। client_header_timeout client_body_timeout send_timeout fastcgi_read_timeout
मेरी nginx.conf फ़ाइल इस
#error_log /var/log/nginx/error.log info;
#pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 120;
#tcp_nodelay on;
#gzip on;
#gzip_disable "MSIE [1-6]\.(?!.*SV1)";
server_tokens off;
include /etc/nginx/conf.d/*.conf;
}
यह मुझे पागल किसी भी सुझाव गाड़ी चला रहा है की तरह लग रहा ???
अद्यतन मैं के बाद सिर में दर्द के बहुत सारे कैसे मैं इस यहाँ तय पर एक ब्लॉग पोस्ट जोड़ा यह अंत में सॉर्ट पाने में कामयाब रहे। http://devsforrest.com/116/boost-settings-on-media-temple-for-maximum-settings
आशा इस किसी
मुझे लगता है कि यह एक नई सेटिंग है क्योंकि मुझे अपने पुराने सर्वरों में कभी समस्या नहीं हुई है, लेकिन मेरे पास एक नया सर्वर चालू है और इसमें भाग गया। आपकी पोस्ट ने वास्तव में बहुत मदद की। मेरा ऐप अपाचे मॉड्यूल मोड में चल रहा है और यह अभी भी समस्या को हल करता है। वास्तव में सहायक! – David
अरे @ user1503606 - आपका अंतिम अपडेट काम करता है! इसे अपने उत्तर के रूप में पोस्ट करें और समाधान खोजने के लिए क्रेडिट प्राप्त करें। – squarecandy
मैं आपको 200 से अधिक के लिए स्क्रिप्ट चलाने की आवश्यकता को हटाने के लिए अपने एप्लिकेशन को दोबारा करने के लिए सुझाव देता हूं। आपको पृष्ठभूमि में कुछ भारी तर्क को स्थानांतरित करने की आवश्यकता होगी। निम्न में से किसी भी तकनीक का उपयोग करने में आपकी सहायता के लिए: AJAX, संदेश कतार, memcache, ध्वज फ़ाइलें। –