Apache 2.x �⥸�塼�� mod_cgidso

��ħ

���̤� CGI �ϼ¹ԥե������ fork(), exec() ���ƸƤӽФ��ޤ����� ���Υ⥸�塼��Ǥ϶�ͭ���֥������Ȥ� dlopen(), dlsym() ���ƸƤӽФ��ޤ��� ��¤Ū�ˤϡ�Apache �⥸�塼��Τ�������ƥ�Ľ�����ʬ��ʬΥ�����̥ե�����Ȥ��� httpd �Ȥ���³��ʬ�򤳤Υ⥸�塼�뤬�������ķ��ˤʤäƤ��ޤ���

�Ȥ��ä����åȤ�����ޤ���

# ����ΰ�̣�Ǥ� CGI �Ȥϰۤʤ�Τǡ��⥸�塼��̾�� "cgi" �����äƤ���Τ� ���������ȸ����Ф��������ΤǤ����������Ϥ��ޤ꿼���ͤ��ʤ��褦��......

���Υ⥸�塼��ϥޥ������å� MPM ���б����Ƥ��ޤ���

�� 2ch CGI ���̲� �� ��󥿥륵���� BIG-server.com ���ץ���󥵡��ӥ� �����Ѥ���ĺ���Ƥ��ޤ� ��

�ϥ�ɥ�

dso-script

���Υϥ�ɥ餬������Ƥ�줿�ե����뤬�ꥯ�����Ȥ����ȡ� ���Υե�����Ϥ��Υ⥸�塼��ˤ�äƽ�������ޤ���

������:

<IfModule mod_cgidso.c>
    AddHandler dso-script so
</IfModule>

���Υ⥸�塼�뤫��ƤӽФ���붦ͭ���֥������ȤΥ���������: dso-example.c

��ͭ���֥������ȤΥӥ�ɤˤ� apxs ��Ȥ��Τ��Ǥ��ñ�Ǥ���

apxs -c source.c [source2.c source3.c ...]

�ˤ�� .libs/source.so ����������ޤ���

���Υ⥸�塼�뤫��ƤӽФ���붦ͭ���֥������Ȥ˴ؤ���������

  • ���̤� CGI �Ȱۤʤꡤhttpd �ץ�������Ʊ�������֤Ǽ¹Ԥ��졤 ������λ���˥ץ������Ͻ�λ���ޤ���ɸ�� C �ؿ��ʤɤ���Ѥ����� ����Ū�˥꥽����������Ԥ�ʤ��ȡ��ɤ�ɤ�꡼�����Ƥ����ޤ��� �Ǥ������ APR �ؿ��λ��Ѥ򤪴��ᤷ�ޤ���APR �ؿ�����Ѥ���� ������λ���Υ꥽������������ưŪ�˹Ԥ��ޤ����⤷ APR �ؿ��Τ��Ȥ� �褯�Τ�ʤ��ʤ顤Apache Portable Runtime Documentation �򻲾Ȥ��Ʋ����������뤤�ϡ�Apache �Υإå��ե������ҥ�Ȥˤʤ�Ǥ��礦��

    apxs -q INCLUDEDIR

    �ˤ��إå��ե�����Τ���ǥ��쥯�ȥ��Ĵ�٤��ޤ���
  • exit() �ϻ��Ѥ��ʤ��Dz����������Ѥ���� httpd �ץ��������Ƚ�λ���Ƥ��ޤ��ޤ���
  • �ޥ������å� MPM �ǻ��Ѥ����硤��ͭ���֥������Ȥ� thread-safe �Ǥʤ���Фʤ�ޤ��� thread safety �˴ؤ��Ƥϰʲ��򻲾Ȥ��Ʋ�������

����������к� Tips

CGI ���ϥ���å����ǽҤ٤Ƥ���褦�ˡ�mod_mem_cache �����Ѥ���ٷڸ��ˤϤ��ʤ����Ū�Ǥ���

Apache 2.2 �Ǥ� mod_proxy_balancer �Ȥ��������ɥХ�󥵡����ʬ���⥸�塼����������Ƥ��ޤ��� �ޤ���mod_cache / mod_proxy �ʤɤ� 2.0 �ޤǤΤ�Τ�꤫�ʤ���ɤ���Ƥ��ޤ��� ����ˡ�Event MPM �Ȥ��� Keep Alive ������ٷڸ���ޤä� MPM ���������Ƥ��ޤ���

�����������

mod_cgidso.c size: 6.3Kbytes ����: 2005-02-02 02:02:02 JST
���Υ⥸�塼��� Apache License, Version 2.0 �˴�Ť��󶡤��ޤ���