MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 12 as of 2019-08-16 23:02:51
  • mod_fcgid

mod_fcgid

  • https://httpd.apache.org/mod_fcgid/

mod_fcgid is a high performance alternative to mod_cgi or mod_cgid, which starts a sufficient number instances of the CGI program to handle concurrent requests, and these programs remain running to handle further incoming requests.

Toggle line numbers
   1 wget http://mirrors.up.pt/pub/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.bz2
   2 tar xvif mod_fcgid-2.3.9.tar.bz2 
   3 cd mod_fcgid-2.3.9
   4 ./configure.apxs 
   5 make
   6 make install
   7 /usr/lib/httpd/modules/mod_fcgid.so
   8 # /etc/httpd/httpd.conf
   9 # LoadModule fcgid_module lib/httpd/modules/mod_fcgid.so
  10 

fcgi library

  • https://opensource.apple.com/source/FastCGI/FastCGI-4/fcgi/doc/fastcgi-whitepaper/fastcgi.htm

Toggle line numbers
   1 cd /tmp/
   2 wget https://slackbuilds.org/slackbuilds/14.2/libraries/fcgi.tar.gz
   3 tar xvzf fcgi.tar.gz 
   4 cd fcgi
   5 wget https://sourceforge.net/projects/slackbuildsdirectlinks/files/fcgi/fcgi-2.4.0.tar.gz
   6 ./fcgi.SlackBuild 
   7 installpkg  /tmp/fcgi-2.4.0-i486-1_SBo.tgz

fcgi_app.c

Toggle line numbers
   1 /*compile:  cc fcgi_app.c -o fcgi_app -lfcgi */
   2 /* /usr/lib/libfcgi.so */
   3 /* cp /tmp/fcgi_app /var/www/htdocs/localhostfcgi/app.fcgi */
   4 
   5 #include <fcgi_stdio.h>
   6 void main(void)
   7 {
   8     int count = 0;
   9     while(FCGI_Accept() >= 0) {
  10         printf("Content-type: text/html\r\n");
  11         printf("\r\n");
  12         printf("Hello world!<br>\r\n");
  13         printf("Request number %d.", count++);
  14     }
  15     exit(0);
  16 }

/etc/httpd/vhosts.conf

  • http://localhostfcgi/app.fcgi

<VirtualHost *:80>
    ServerName localhostfcgi
    FcgidInitialEnv name value 
    DocumentRoot "/var/www/htdocs/localhostfcgi"
    ScriptAlias / /var/www/htdocs/localhostfcgi/
    <Directory "/var/www/htdocs/localhostfcgi">
        Options +ExecCGI
        Require local
    </Directory>
</VirtualHost>

/etc/httpd/httpd.conf

LoadModule fcgid_module lib/httpd/modules/mod_fcgid.so
SetHandler fcgid-script
Options +ExecCGI

lsof | grep -i fcgi
app.fcgi  9803          apache    0u     unix 0xe1dff440      0t0      59138 /var/run/fcgidsock/4840.1 type=STREAM

netstat -a -n | grep fcgi
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     59138    /var/run/fcgidsock/4840.1
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01