T086ѧϰ�� | վ��ѧԺ | �����ĵ� | ���� | Ъ���� | IP��ַ��ѯ | �������� | ���ջ��� | �����ֵ� | ���ù��� | ������Ϣ��ѯ

������һ��nginx+php�Ż�������Ѫ��

�� ���ߣ����� ����ʱ�䣺2014-09-04 | ���壺�� �� С��
[����]ǰЩ��һ��Nginx+PHP��Ŀ���ߺ��������������⣬���Ǵ��������֣���Ϊ���벢����������д�ģ����Ծ�����ϵͳ�������ֿ����ܷ���һЩ���������Ż������ȣ��ҷ��ַ�����Backlog���ù�С������ͨ��ss������ѯSend-Q��ȷ...

ǰЩ��һ��Nginx+PHP��Ŀ���ߺ��������������⣬���Ǵ��������֣���Ϊ���벢����������д�ģ����Ծ�����ϵͳ�������ֿ����ܷ���һЩ���������Ż���

���ȣ��ҷ��ַ�����Backlog���ù�С������ͨ��ss������ѯSend-Q��ȷ�ϣ�

shell> ss -ln
Recv-Q Send-Q    Local Address:Port      Peer Address:Port
0      511                   *:80                   *:*
0      128           127.0.0.1:9000                 *:*

���Կ�����Nginx��Backlog��511��PHP��Backlog��128���ڸ߲���ʱ�׳�Ϊƿ��������TCP���е���ϸ���ܣ��Ƽ��Ķ���TCP queue ��һЩ�����������⣬��������Ȥ�Ŀ��Թ�עһ����Linux��ȫ���������������г��������μ����ġ�

���Σ��ҷ��ַ����Ľ��������ù��٣�Nginx�Ľ�������˵��ͨ��worker_processesָ�����ƣ�����CPU�������þ����ˣ������汾���Ļ�������ֱ�����ó�auto��PHP�Ľ��������ö��ٺ��ʣ���û��һ���̶��Ĵ𰸣������ڴ������Ļ�����һ��ѡ����̬ģʽ�������ý�����Ϊ1024������Ȼ����Ƭ������Ϊ������Խ��Խ�ã���Ȼ���Ȼ������⡣

����PHP��������Ȩ�⣬�ҽ��������Ķ��������ϣ�

�������ϵķ��������ڲ��Ի���ʵʩʱ��һ�ж��dz�˳������������ʽ����ʵʩʱ�����ױ������ˣ������Ż�PHP��һ�������������Ż�Nginx����������崻����Ͻ��ع���Nginx���Ż���������Ȼû��������������㱼��������Ѳ����޸�Backlog�Ѳ���ϵͳ�Ļ��ˣ����ܹ��������ηų����У��������������������ˣ�

ת˲֮�侭����Ī�������Ĵ󱯴�ϲ�����˻�������������������������֮��һ�ж������ˣ��������Դ��ݵIJ���������ԭ������ʵ������־���Ѿ�������������

setuid(99) failed (11: Resource temporarily unavailable)

ԭ����������Դ���㣡ȷ��һ�µ������ĸ��û���

shell> grep -w 99 /etc/passwd
nobody:x:99:99:Nobody:/:/sbin/nologin

ǡ��Nginx��PHP���ӽ��̶���ͨ��nobody�û������ģ����������ͳ��������ˣ�����Ϊʲô���Ի�����������ʽ�����쳣�أ�ԭ�����������ڲ���ϵͳ�İ汾�ϣ���Ȼ����ϵͳ����CentOS�������Ի����İ汾��5.X����ʽ�����İ汾��6.X����Ҫ�������°��IJ���ϵͳ������һ�������û��������������ļ���ȱʡ������1024��

shell> cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024

Ҳ����˵���κ��û�����ֻ������1024�����̡������У���������PHP�����ڽ������϶࣬һ���Ӿ��ù������е���Դ�����������Nginxʱ��ʧ���޷����⡣

����Ϊʲô������������һ�п��������������أ���������˳�����ɵģ�

shell> ls /etc/rc3.d/ | grep -E 'nginx|php'
S55nginx
S84php-fpm

Ҳ����˵����������������Nginx����PHP����������Nginx�Ľ��������٣����������ɹ�������PHP����ʱ����Ȼ���ǻᴥ��������ֵ�����󲿷ֽ��̶��ܹ������ɹ���ֻ���ٲ��ֽ�������ʧ�ܣ����Դӱ����Ͽ���������Ϊ�ɹ��ˡ�

���������Ż�������Ѫ����������δ�������Լ����Ķ�ulimit����֮nproc������

ԭ�ģ�http://huoding.com/2014/08/13/367

  • ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
  • �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
������ѯ Health Check Gulangyu
© 2017 T086ѧϰ�� - T086.com(ԭitlearner.com)
RunTime:6.08ms QueryTime:7