Skip to content

Latest commit

 

History

History
386 lines (258 loc) · 9.61 KB

PreForkSimple.pod

File metadata and controls

386 lines (258 loc) · 9.61 KB

NAME

Net::Server::PreForkSimple - Net::Server��勉����若�純����ŝ����

网�荀�

use Net::Server::PreForkSimple;
@ISA = qw(Net::Server::PreFork);

sub process_request {
   #...��潟�若��...
}

__PACKAGE__->run();

茯㋛�

��障��紮�������Net::Server���POD���茯㏍�障����������������勉�≪�吾�ャ�若�˨� �����若�純����ŝ�����(personality)��������ŝ�����Net::Server��勖�≦宍 鐚���泣����壔�í�刻����с��������

�����勉�泣�若����壚����や札筝���勉����若�����bind������������������ max_servers�����勐�������㏍�祉�鴻��fork�����������泣�若����壠幻�� max_servers�����勉�壔�í�ゃ�≪�潟����ŝ�壔����鴻�����������篁���������������������� 篆�荐若��������絖������㏍�祉�鴻�壔�����������max_requests�����勉�壔�í�ゃ�≪�潟�� �・膓������☎����������������勉�帥�ゃ����壔�≪�壔�祉�鴻�勖����������泣�ゃ����̹�í���� �����������泣�若����☎����勉��������max_server�����勉����㏍�祉�鴻��膓㊥����с�������� 鐚�茲���違����若�����������篁���������������˨�������í�˨�����flock���篏帥�c� 絖������㏍�祉�鴻����翫�����������鐚�

��泣�潟����˨�潟�若��

Net::Server��勉�泣�潟����˨�ŝ�鴻����������с�勉��������

��潟����潟����í�ゃ�潟�������勐����

�����若�鴻����ŝ��Net::Server��壔�í�鴻�勉�潟����潟����í�ゃ�喝����違����������⓾�� Net::Server::PreFork��壔�������ゃ����勤┃絎���������í�<�若�帥����˨�����

Key               Value                   Default
max_servers       \d+                     50
max_requests      \d+                     1000

serialize         (flock|semaphore|pipe)  undef
# multi_port���Solaris��с�勛�翫��������flock�����������í�˨��
lock_file         "filename"              POSIX::tmpnam

check_for_dead    \d+                     30

max_dequeue       \d+                     undef
check_for_dequeue \d+                     undef
max_servers

���紮������括境���������絖���泣�若����勖��紊ф�違��dequeue�����㏍�祉�鴻�˨� ��ñ����������ŝ�����

max_requests

絖������㏍�祉�鴻��腟�篋���������障��������篆<�������壔�í�ゃ�≪�潟���・膓���違��

serialize

��泣�若�����絖������㏍�祉�鴻�勖・膓������翫�����(serialize)�����������í�����羆冴�������� ��ŝ����激�с�潟��undef���flock���semaphore�����ŝ��������pipe�����������í�˨���� undef���multi_port��泣�若��筝����������������Solaris��у��茵������������泣�若��筝� ��с�壔����������í�˨�����flock��˨�ŝ�����flock��ŝ����激�с�潟�壔��lock_file 鐚�緇�菴逸����ф��絎���������������<�ゃ�˨��絲障�����flock��勖��篁���������㏍����壔�� ��ñ�����������semaphore��ŝ����激�с�潟��IPC::Semaphore鐚�Bennett Todd鐚���� 篏帥�c�⓾����������ゃ����勉�泣�潟����˨�潟�若�����筝������⓾��������pipe��ŝ����激�с�潟� pipe筝���ц˛��粋昭�����������˨����c�〠❶��勉����勉����御�����������flock��ŝ����激�с� ��壩����������≪�с��筝���鴻��pipe��ŝ����激�с�潟�壩�����������荵純����������� 鐚���純�宴�������勐��篁������壔�í�ゃ�≪�潟���・膓���勤˛��粋昭��帥����勰����˨����㏍�祉�鴻�� die�����⓾����障�c����翫�����flock��壔����㏍����壔��茹i�ゃ����������������с�������� - ���������semaphore���pipe��с�壔�с����ŝ��������������鐚�

lock_file

flock��˨��������篁���勛�翫�������т戎��������<�ゃ����������������˨�������� 絖������㏍�祉�拷����ч�g�����������篁������翫����������������������í�˨����с� 筝���������ŝ����<�ゃ�������������������������������������í�˨����ゃ��篏睡����������� ��翫�����lock_file��壔�泣�若�������������������������ゃ�����������

check_for_dead

荀ŝ����㏍�祉�鴻�̥�ャ�����������絖������㏍�祉�鴻��罩祉����с����障�c�������í�������� �����с����壔�������障�с�勐����≧�������勛����違��

max_dequeue

dequeue��☎�����紮����������紊ф�違����������ゃ��0���undef���筝���������ŝ����� dequeue��☎����奝��紮���������ŝ�����絎�茵������⓾�����dequeue��☎����勖�違� check_for_dead紊���違��綽������⓾����с����壔�����������

check_for_dequeue

dequeue��☎�����fork off��������障�с��緇�罘�������腱���違�� ��������壔�<�若�˨�㏍�ャ�若�勉�������ʃ��膣������������宴�� dequeue��☎�����篏睡����������������������ゃ��undef���筝���������������� dequeue�����㏍�祉�鴻�奝��紮���������ŝ�����

荐㊤�������<�ゃ�

Net::Server::PreFork��壔�泣�若����勉����í�<�若�帥��茯㏍�粋昭����������� 荐㊤�������<�ゃ�˨����ñ�������������������с��������荐㊤�������<�ゃ�˨�勖�後���� ���膣���ŝ�㏍�若����ゃ�勛����������潟�<�潟����◐Ã��純�夌�∴��������������

#-------------- file test.conf --------------

### ��泣�若�������
max_servers   80

max_requests  1000

### 紊���眼��������user���group
user        somebody
group       everybody

### ��㏍�違��荐���蚊��������鐚�
log_file    /var/log/server.log
log_level   3
pid_file    /tmp/server.pid

### ��≪�壔�祉�鴻�潟�潟����㏍�若�
allow       .+\.(net|com)
allow       domain\.com
deny        a.+

### ��������壔�違�í�⓾�潟����у��茵����������鐚�
background  1

### bind�����������若��
host        127.0.0.1
port        localhost:20204
port        20205

### ���綣����������������鐚�
# reverse_lookups on

#-------------- file test.conf --------------

��☎����勖�����

��☎����勖��������loop罧級����障��Net::Server�����������с�������� �����勖����鴻��max_servers�����勉����㏍�祉�鴻��fork��������〠・膓�緇�罘��� ��ャ�����絖������㏍�祉�鴻���・膓����������篁������������������壔�í�ゃ�≪�潟����勐�☎����� 腟����������������exit��������������������勖����宴�虁Κ�����㏍�祉�鴻�˩賢膓������������� ��������˨�����荀ŝ����㏍�祉�鴻�虁申莊<�����絽吾��max_servers�����勐����泣�若�� ���絎�茵���������⓾��������������篆�荐若��������

HOOKS

PreForkSimple��泣�若����壠�堺�㋘�壔�í�鴻�с�����Net::Server��勖��箴������� hook��˩札筝���勉����勉��篁���������������� Net::Server��������с��

$self->child_init_hook()

������hook��壔��荀ŝ����㏍�祉�鴻�����絖������㏍�祉�鴻��fork�����������翫����с�������ゃ�� �����勐�������㏍�祉�鴻���・膓����������篁����紮������������̥�榊������������������� chroot��������勌����勉�祉�㏍�ャ�ŝ����f��罧泣��菴遵����������������������潟����⓾�������� �����勖����鴻�с�������⓾��perl��≪�吾�ャ�若�˨����ñ����������������������˨����� �櫝�純�ŝ�祉�������í�勐�掩����<�≪�ŝ��篏帥�����������

$self->child_finish_hook()

������hook��壔��絖������㏍�祉�鴻��exit���������������荀ŝ����㏍�祉�鴻�˩����������翫���� ��榊�������������������壔�㏍�井����宴�勌��絖������������勌��筝���㋜����ŝ�壔�ŝ�若�潟�≪�������� �����潟����⓾��������

$self->run_dequeue()

������hook��壔��check_for_dequeue��勉�祉�������c�潟�違����宴� ��若�喝�冴�����������

TO DO

Net::Server��������с��

篏����

Paul T. Seamons paul@seamons.com

茗�莨�

See Net::Server

������

篁ヤ����������с����〠⓲���������

Net::Server::Fork, Net::Server::INET, Net::Server::PreFork, Net::Server::MultiType, Net::Server::Single Net::Server::SIG Net::Server::Daemonize Net::Server::Proto