CWP7如何設置延長timeout limit?解決Nginx 504 Gateway錯誤

當我們在CWP7.pro 服務器上的WordPress時,使用WordPress外掛ChatGPT AI Power: Complete AI Pack時,出現以下錯誤提示消息It appears that your web server has some kind of timeout limit.”,這意味著CWP 網關沒有收到來自上游服務器或應用程序的及時響應。

CWP7如何設置延長timeout limit?

CWP7免費版只需修改以下2個設置即可:

  1. 修改代理設置的超時值
  2. 更改default_socket_timeout

1、修改代理設置的超時值

編輯 /etc/nginx/proxy.inc 文件,將以下timeout值修改為600 ▼

proxy_connect_timeout 600s;
proxy_send_timeout 600;
proxy_read_timeout 600;

2、更改default_socket_timeout

CWP控制面板左側點擊→ PHP Settings → PHP.ini Configuration ▼

CWP7如何設置延長timeout limit?解決Nginx 504 Gateway錯誤

或者編輯 /usr/local/php/php.ini 文件,搜尋”default_socket_timeout“,修改為600 ▼

default_socket_timeout 600

CWP7 Pro專業付費版,還需再修改配置文件

如果使用CWP7 Pro專業付費版的,可能還需要更改PHP-FPM 配置:

1、默認位置:

/opt/alt/php-fpm72/usr/etc/
/opt/alt/php-fpm72/usr/etc/php-fpm.d/
/opt/alt/php-fpm72/usr/etc/php-fpm.d/users/

2、新增以下值cwpsvc.conf檔:

# vi /opt/alt/php-fpm72/usr/etc/php-fpm.d/cwpsvc.conf

[cwpsvc]listen = /opt/alt/php-fpm72/usr/var/sockets/cwpsvc.sock
listen.owner = cwpsvc
listen.group = cwpsvc
listen.mode = 0640
user = cwpsvc
group = cwpsvc

;request_slowlog_timeout = 5s
;slowlog = /opt/alt/php-fpm72/usr/var/log/php-fpm-slowlog-cwpsvc.log
listen.allowed_clients = 127.0.0.1

pm = ondemand
pm.max_children = 1000
pm.process_idle_timeout = 300s
;listen.backlog = -1
request_terminate_timeout = 300s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

env[HOSTNAME] = $HOSTNAME
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

3、新增以下值nobody.conf 檔案:

# vi /opt/alt/php-fpm72/usr/etc/php-fpm.d/users/nobody.conf

[nobody]listen = /opt/alt/php-fpm72/usr/var/sockets/nobody.sock
listen.allowed_clients = 127.0.0.1

listen.owner = nobody
listen.group = nobody
listen.mode = 0660
user = nobody
group = nobody

;request_slowlog_timeout = 15s
;slowlog = /opt/alt/php-fpm72/usr/var/log/php-fpm-slowlog-nobody.log

pm = ondemand
pm.max_children = 1000
pm.max_requests = 6000
pm.process_idle_timeout = 300s

;listen.backlog = -1
request_terminate_timeout = 300s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

env[HOSTNAME] = $HOSTNAME
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
env[PATH] = /usr/local/bin:/usr/bin:/bin

4、更改以下內容:

# vi /opt/alt/php-fpm72/usr/etc/php-fpm.d/users/datahead.conf

[datahead]listen = /opt/alt/php-fpm72/usr/var/sockets/datahead.sock
listen.allowed_clients = 127.0.0.1

;listen.owner = "datahead"
listen.group = "nobody"
listen.mode = 0660
user = "datahead"
group = "datahead"

;request_slowlog_timeout = 15s
;slowlog = /opt/alt/php-fpm72/usr/var/log/php-fpm-slowlog-datahead.log

pm = ondemand
pm.max_children = 1000
pm.max_requests = 4000
pm.process_idle_timeout = 300s

;listen.backlog = -1
request_terminate_timeout = 300s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes

env[HOSTNAME] = $HOSTNAME
env[TMP] = /home/datahead/tmp
env[TMPDIR] = /home/datahead/tmp
env[TEMP] = /home/datahead/tmp
env[PATH] = /usr/local/bin:/usr/bin:/bin
  • 注意:僅更改僅標記為藍色的值。

現在讓我們在Nginx 虛擬主機配置中,添加fastcgi_read_timeout變量。

如果你使用PHP-FPM 託管然後添加(你可以使用600s):

# vi /etc/nginx/conf.d/vhosts/datahead.biz.ssl.conf

fastcgi_pass unix:/opt/alt/php-fpm72/usr/var/sockets/datahead.sock;
fastcgi_index index.php;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
include /etc/nginx/fastcgi_params;

如果你使用PHP-CGI ,那麼使用它的nginx.conf文件:

# Proxy settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
fastcgi_send_timeout 600s;
fastcgi_read_timeout 600s;
proxy_buffers 32 4k;

如果你使用PHP 選擇器2:

# sed -i 's,^upload_max_filesize =.*$,upload_max_filesize = 4096M,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^post_max_size =.*$,post_max_size = 4146M,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^memory_limit =.*$,memory_limit = 5120M,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^max_input_time =.*$,max_input_time = 300,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^max_execution_time =.*$,max_execution_time = 300,' /opt/alt/php72/usr/php/php.ini

# sed -i 's,^; max_input_vars =.*$,max_input_vars = 5000,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^max_file_uploads =.*$,max_file_uploads = 50,' /opt/alt/php72/usr/php/php.ini

# sed -i 's,^allow_url_fopen =.*$,allow_url_fopen = On,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^allow_url_include =.*$,allow_url_include = Off,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^short_open_tag =.*$,short_open_tag = Off,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^;date.timezone =.*$,date.timezone = Asia/Dhaka,' /opt/alt/php72/usr/php/php.ini

# sed -i 's,^display_errors =.*$,display_errors = Off,' /opt/alt/php72/usr/php/php.ini
# sed -i 's,^expose_php =.*$,expose_php = Off,' /opt/alt/php72/usr/php/php.ini
  • 至此,問題應該解決了。

希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《CWP7如何設置延長timeout limit?解決Nginx 504 Gateway錯誤》,對您有幫助。

歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-30321.html

歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!

🔔 率先在頻道置頂目錄獲取寶貴的《ChatGPT 內容行銷AI 工具使用指南》! 🌟
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!

 

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標註

滾動到頂部