In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-09 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)05/31 Report--
This article mainly explains "nginx Tips 500Internal Server Error errors how to solve", the content of the article is simple and clear, easy to learn and understand, the following please follow the editor's ideas slowly in depth, together to study and learn "nginx Tips 500Internal Server Error errors how to solve" it!
In the case of high concurrent connections, nginx is a good alternative to apache servers. Nginx can also be used as a 7-tier load balancing server. According to the test results, nginx 0.6.31 + php 5.2.6 (fastcgi) can withstand more than 30, 000 concurrent connections, which is 10 times that of apache in the same environment.
But a lot of people make 500s when using nginx, and from the point of view of my use, a large part of the reason is that the file opening handle is too small.
Use this command under linux to increase the handle to the file opened by the process.
Ulimit-shn 51200
The default is only 1000. You can't see it when the number of links is small. This method can effectively prevent 500 errors.
When visiting the website today, I occasionally encounter a 500 internal server error error page.
After checking the relevant data, we think that the access is too large and the process of the system kernel is limited.
The answers are as follows:
$ulimit-n
11095
The program is limited to 11095 files. The ulimit command sets the number of file descriptors a process can have.
It seems that there is too much concurrency in the simulation, so you need to adjust the number of concurrency settings for nginx.conf. (the memory of my configuration host is 2.8g CPU.)
The copy code is as follows:
Vi / etc/nginx/nginx.conf
Events {
Worker_connections 1024
}
Adjust to
The copy code is as follows:
Events {
Worker_connections 10240
}
There will still be the above problems, use the
[root@qimutian nginx] # cat / proc/sys/fs/file-max
8192
Maximum number of files that can be opened in the file system
[root@qimutian nginx] # ulimit-n
1024
The program is limited to 1024 files.
Use [root@qimutian nginx] # ulimit-n 8192 to adjust
Or permanently adjust the number of open files can be added at the end of the startup file / etc/rc.d/rc.local (add fs.file-max=8192 at the end of / etc/sysctl.conf)
Ulimit-n 8192
Adjust the number of centos5 file openings
After using ulimit-a, it is found that open files cannot exceed 1024 by default. Yesterday, there was a 500th error during the stress test. For details, please see
500 internal server error appears in nginx
When I got up in the morning to take a look, I found that it was adjusted in the following ways.
Method 1 (permanent adjustment)
Vi / etc/security/limits.conf
Add at the end of the document:
* soft nofile 8192
* hard nofile 20480
At the same time, add at the end of vi / etc/sysctl.conf
Fs.file-max=8192
Reboot, the number of views using ulimit-n is already 8192
Method 2 (temporary)
Enter ulimit-n 8192 directly into the terminal and press enter to ok.
500 internal server error error add:
1. The hard disk space is full
Use df-k to see if the hard drive is full. 500 errors can be solved by cleaning up hard disk space. Nginx if access log is enabled, it is best to turn off access log if it is not needed. Access log takes up a lot of hard disk space.
2. Nginx configuration file error
This does not mean syntax errors. Nginx will prompt when it starts if there is a syntax error in the configuration file. When configuring rewrite, some rules will cause 500 errors if they are not handled properly. Please check your rewrite rules carefully. If some variables in the configuration file are not set properly, there will also be a 500 error, such as referencing a variable with no value.
3. If none of the above problems exist, it may be that the number of concurrency in the simulation is too large, so you need to adjust the number of concurrency settings in nginx.conf.
The solution is:
1 Open the / etc/security/limits.conf file and add two sentences
The copy code is as follows:
* soft nofile 65535
* hard nofile 65535
2 Open / etc/nginx/nginx.conf
Add a line under worker_processes
The copy code is as follows:
Worker_rlimit_nofile 65535
3 restart nginx and reload settings
The copy code is as follows:
Kill-9 `ps-ef | grep php | grep-v grep | awk'{print $2}'`
/ usr/bin/spawn-fcgi-a 127.0.0.1-p 9000-c 100-u www-data-f / usr/bin/php-cgi
Killall-hup nginx
After rebooting, look at the error log of nginx, and there are no errors reported.
4. There may be a database problem. I didn't find any problems in the nginx log php log. Finally, I found that the database could not be accessed, and the problem was solved after correction.
Thank you for your reading, the above is the content of "nginx Tip 500Internal Server Error error how to solve". After the study of this article, I believe you have a deeper understanding of how to solve this problem with nginx Tip 500Internal Server Error error. The specific use of the situation also needs to be verified in practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.