Table of Contents
About NGINX’s 502’s road to pretending to fight monsters, the road to nginx502
Home Backend Development PHP Tutorial About NGINX's 502's road to pretending to fight monsters, nginx502's road_PHP tutorial

About NGINX's 502's road to pretending to fight monsters, nginx502's road_PHP tutorial

Jul 13, 2016 am 09:45 AM
nginx about of

About NGINX’s 502’s road to pretending to fight monsters, the road to nginx502

The reason for copying a section of nginx502 before writing a log is as follows from a certain website, but this is not It’s not the key point, the most important thing is to look at what the blogger is typing.

1. NGINX 502 error troubleshooting
The NGINX 502 Bad Gateway error is a problem with FastCGI, causing NGINX 502 errors are more likely. Combine some found online with 502 Bad Here is a list of issues and troubleshooting methods related to Gateway errors. Let’s start with FastCGI configuration:
1.Whether the FastCGI process has been started
2. Is the number of FastCGI worker processes not enough?
Run netstat -anpo | grep "php-cgi" | wc -l Determine whether it is close to the FastCGI process and close to the value set in the configuration file, indicating that the number of worker processes is set too few
3.FastCGI execution time is too long
Increase the following parameter values ​​according to actual conditions
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
4.FastCGI Buffer is not enough
nginxLike apache, it has front-end buffering restrictions and the buffering parameters can be adjusted
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
5.Proxy Buffer is not enough
If you use Proxying, adjust
proxy_buffer_size 16k;
proxy_buffers 4 16k;
See: http://www.server110.com
6.https forwarding configuration error
Correct configuration method
server_name www.mydomain.com;
location /myproj/repos {
set $fixed_destination $http_destination;
if ( $http_destination ~* ^https(.*)$ )
{
set $fixed_destination http$1;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Destination $fixed_destination;
proxy_pass http://subversion_hosts;
}
Of course, it also depends on what type of FastCGI you use in the backend. I have used php-fpm, and the traffic is about 400,000 PV (dynamic page) on a single machine. Now basically no 502 is encountered.

7.php script execution time is too long
Change the 0s to a time

~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gorgeous dividing line~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~

The problem encountered by the blogger is because there is a parameter in the code that is passed by reference, and then directly accesses 502. When the blogger sees this information, the first time he opens display_errors directly,

Then I wondered why when the error display was turned on, there was no 502, but some E_STRICT warnings. After rounds of debugging, there was still no way to find out the reason.

After having no choice, I checked the nginx error screenshot as follows. At that time, I thought that this was not an error reported by php fastcgi. Why did it appear in the error log of nginx? This does not feel very scientific, and I thought hard

After several rounds of painful and fruitless adjustments, I still feel powerless, so I can only call it a day.

As a lucky programmer, I didn't know that the error log file was not written in the local virtual machine environment after some troubleshooting. There was no problem with the configuration, but the error log was not written. (Please don’t complain, because bloggers usually The page directly displays errors and adds xdebug, so I think it doesn't matter. It's a good idea not to write about the things that concern me. ) The blogger’s keen eye and highly intelligent brain (bloggers in this era must be a bit more assertive) felt that it should be a problem with file permissions, and then decided to do something about it. chmod 777 superb skills, restarted php-fpm, tested the error code, and the error log file was still written as expected. Now that I think back to the morning's problem, I always wonder if the error warning output will be the same as the one written in the log. Sleep Then just do it naked, tail the error log, block the display, and play with the code. It doesn’t report 502 anymore. It runs perfectly. The error log is written to the log file as scheduled. It’s unscientific. Open the nginx error log and play again. I found out that nginx was gone. mistake. All right! I feel that the problem is that the 502 error is due to a permission issue with PHP's error log. There is no way to write it, and then it is thrown directly to cgi, so nginx gets a 502. As for why it was dumped to cgi, I don’t understand that. Don’t ask me. People who understand will follow. A few moves. Ouch, not bad. This pretentious journey is over. Thank you Tvb, thank you parents, thank you Blog Park.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1044010.htmlTechArticleAbout NGINX’s 502 road to pretending to fight monsters, the reason why nginx502 should copy a section of nginx502 before writing a log , I saw the following from a certain website, but this is not the point. The most important thing is to look at the blogger’s hand...
Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to allow external network access to tomcat server How to allow external network access to tomcat server Apr 21, 2024 am 07:22 AM

To allow the Tomcat server to access the external network, you need to: modify the Tomcat configuration file to allow external connections. Add a firewall rule to allow access to the Tomcat server port. Create a DNS record pointing the domain name to the Tomcat server public IP. Optional: Use a reverse proxy to improve security and performance. Optional: Set up HTTPS for increased security.

How to run thinkphp How to run thinkphp Apr 09, 2024 pm 05:39 PM

Steps to run ThinkPHP Framework locally: Download and unzip ThinkPHP Framework to a local directory. Create a virtual host (optional) pointing to the ThinkPHP root directory. Configure database connection parameters. Start the web server. Initialize the ThinkPHP application. Access the ThinkPHP application URL and run it.

Welcome to nginx!How to solve it? Welcome to nginx!How to solve it? Apr 17, 2024 am 05:12 AM

To solve the "Welcome to nginx!" error, you need to check the virtual host configuration, enable the virtual host, reload Nginx, if the virtual host configuration file cannot be found, create a default page and reload Nginx, then the error message will disappear and the website will be normal show.

How to register phpmyadmin How to register phpmyadmin Apr 07, 2024 pm 02:45 PM

To register for phpMyAdmin, you need to first create a MySQL user and grant permissions to it, then download, install and configure phpMyAdmin, and finally log in to phpMyAdmin to manage the database.

How to communicate between docker containers How to communicate between docker containers Apr 07, 2024 pm 06:24 PM

There are five methods for container communication in the Docker environment: shared network, Docker Compose, network proxy, shared volume, and message queue. Depending on your isolation and security needs, choose the most appropriate communication method, such as leveraging Docker Compose to simplify connections or using a network proxy to increase isolation.

How to deploy nodejs project to server How to deploy nodejs project to server Apr 21, 2024 am 04:40 AM

Server deployment steps for a Node.js project: Prepare the deployment environment: obtain server access, install Node.js, set up a Git repository. Build the application: Use npm run build to generate deployable code and dependencies. Upload code to the server: via Git or File Transfer Protocol. Install dependencies: SSH into the server and use npm install to install application dependencies. Start the application: Use a command such as node index.js to start the application, or use a process manager such as pm2. Configure a reverse proxy (optional): Use a reverse proxy such as Nginx or Apache to route traffic to your application

How to generate URL from html file How to generate URL from html file Apr 21, 2024 pm 12:57 PM

Converting an HTML file to a URL requires a web server, which involves the following steps: Obtain a web server. Set up a web server. Upload HTML file. Create a domain name. Route the request.

What to do if the installation of phpmyadmin fails What to do if the installation of phpmyadmin fails Apr 07, 2024 pm 03:15 PM

Troubleshooting steps for failed phpMyAdmin installation: Check system requirements (PHP version, MySQL version, web server); enable PHP extensions (mysqli, pdo_mysql, mbstring, token_get_all); check configuration file settings (host, port, username, password); Check file permissions (directory ownership, file permissions); check firewall settings (whitelist web server ports); view error logs (/var/log/apache2/error.log or /var/log/nginx/error.log); seek Technical support (phpMyAdmin

See all articles