Home >Backend Development >PHP Problem >What is the problem with php502?

What is the problem with php502?

王林
王林Original
2019-10-17 15:38:423172browse

What is the problem with php502?

The reason why the server appears 502 is that the connection has timed out. We sent a request to the server. Because the server currently has too many connections, the server cannot give a normal response, resulting in such an error.

So if your server has a very large concurrency, you can only add more machines first, and then optimize in the following ways to achieve better results; but if you have a small concurrency but get 502, it can generally be attributed to a configuration problem. , script timeout problem.

1. The number of php-fpm processes is not enough

Use netstat -napo | grep "php-fpm" | wc -l to check the current number of fastcgi processes. If the number is close to the upper limit configured in conf, you need to increase the number of processes.

But you can’t increase it endlessly. You can adjust the number of php-fpm sub-processes to 100 or more according to the server memory. On a server with 4G memory, 200 is enough.

2. Increase the number of files opened by the Linux kernel

You can use these commands (must be the root account)

echo 'ulimit -HSn 65536'>> /etc/profile
echo 'ulimit -HSn 65536'>> /etc/rc.local
source /etc/profile

3. Script execution time timeout

If the script waits for a long time without returning for some reason, resulting in new requests not being processed, you can appropriately adjust the following configuration.

nginx.conf The main contents are as follows:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

php-fpm.conf If the contents are as follows:

request_terminate_timeout =10s

4. The cache setting is relatively small

Modify or add configuration to nginx.conf

proxy_buffer_size 64k;
proxy_buffers  512k;
proxy_busy_buffers_size 128k;

Recommended tutorial: PHP video tutorial

The above is the detailed content of What is the problem with php502?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:php ignore errorsNext article:php ignore errors