Don't keep connection on failure.
[catagits/fcgi2.git] / README_NT.txt
CommitLineData
0198fd3c 1FastCGI for Windows NT README (V2.0, beta 1)
2============================================
3
4 Version 2.0.1, 20 March 1997
5 $Id: README_NT.txt,v 1.1 1997/09/16 15:36:24 stanleyg Exp $
6 Copyright (c) 1996 Open Market, Inc.
7 See the file "LICENSE.TERMS" for information on usage and redistribution
8 of this file, and for a DISCLAIMER OF ALL WARRANTIES.
9
10 This is a beta copy of the FastCGI libraries for Windows NT 3.51
11and NT 4.0. It will also build on (or should build on) all previously
12supported versions on Unix.
13
14 The Unix build instructions are identical to the past. The
15Windows NT version however is slightly different due to the fact that NT
16doesn't contain a native equivalent to the bourne shell to start with.
17NT also doesn't support the same Makefile structure and therefore we have
18provided Visual C++ project makefiles for the cgi-fcgi application as well
19as the libfcgi DLL.
20
21 The first version of the libraries for Windows NT will require a
22little care in installing and building. However, what do you want for
23free? Subsequent versions will ideally support a more NT look and feel
24but that's if time permits.
25
26 For those of you that have the MKS toolkit or other bourne shell
27equivalent for NT, great. You're off to a good start and will be able
28to use the configure script provided to generate your config header file
29at the very least. However, in order to make life easier, we are
30providing an NT version of the header file that should allow you to build
31the sample applications without requiring you to run configure at all.
32(NOTE: The NT version has only been tested on Windows NT 4.0 running on
33 X86 hardware. Other CPUs may have slightly different defines.)
34
35 There are two batch files provided which will build Debug versions
36of fastcgi.dll and the cgi-fcgi application. They are:
37
38 build_no_shell.bat - This will copy a canned version of the
39 fcgi_config_x86.h file to fcgi_config.h and
40 remove the need to use the "configure" script
41 to generate this. (This is the recommended
42 way to build the sample DLL and applications.)
43
44 build.bat - This version will run the "configure" script
45 and will then build libfcgi.dll and
46 cgi-fcgi.exe.
47
48 Installation
49 ============
50
51 Unpack the kit and install it into a directory of your choice.
52Try something simple like "C:\FastCGI.beta".
53
54 In order to run under IIS using the cgi-fcgi.exe "shim" program,
55we need to create a file extension type that IIS will recognize and will
56automatically launch the application and/or connect to the target FastCGI
57application.
58
59 1) Make a directory "C:\FastCGI.beta". The name is not critical
60 but is is what is assumed for the remainder of this README.
61
62 2) cd into "C:\FastCGI.beta".
63
64 3) Unpack the kit into this directory.
65
66 4) Run build_no_shell.bat
67
68 5) Add the .fcgi file type to the registry for IIS. This is done
69 using regedit.
70
71\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map
72
73 Edit -> New -> String Value <CR>
74
75 6) Type in ".fcgi" for the "String Value" extension name.
76
77 7) Double click the ".fcgi" entry.
78
79 8) Enter C:\FastCGI.beta\FcgiBin\cgi-fcgi.exe -f %s
80 NOTE: This assumes you installed into c:\FastCGI.beta
81
82 Save this value and exit regedit.
83
84 9) Add the pathname of libfcgi.dll to your system path
85 environment variable.
86 "C:\FastCGI.beta\libfcgi\Debug"
87
88 NOTE: The build_no_shell.bat command will copy all the sample
89 applications as well as cgi-fci.exe and libfcgi.dll to
90 the directory "FcgiBin" which will be created as a result
91 of the build_no_shell.bat command being run. This makes
92 it easier to use and removes the need for adding the
93 paths to the system environment as the libfcgi.dll will
94 live in the same directory as the applications which will
95 be using it. This has been tested and qualified on
96 IIS 3.0.
97
98 If your applications live in a directory other than the
99 FcgiBin directory AND there's no path environment
100 variable registered which contains a pointer to a valid
101 libfcgi.dll the FastCGI application will not work.
102
103 10) Use Internet Service Manager (or the registry editor if you're
104 brave) and map in the directory "C:\FastCGI.beta\FcgiBin"
105 as a virtual directory "/fcgi" with execute access and
106 read access.
107
108 You should now be ready to try out the shipped samples. Try this by
109 accessing the following urls:
110
111 The url "http://yourServer/fcgi/tiny-fcgi.exe" reloaded repeatedly
112 should produce the following output:
113
114 FastCGI Hello! (C, fcgi_stdio library)
115
116 Request number 1 running on host "yourServer" Process ID: N
117
118 where:
119
120 yourServer is the name of your server.
121
122 N is the process id number of the tiny-fcgi.exe process. This
123 should be changing each time you reload the URL.
124
125 Now try the url "http://yourServer/fcgi/tiny-fcgi_nt.fcgi". The
126 output from this url should produce the same as the preceeding url
127 but you should notice the "Request number" incrementing each time
128 you reload and the Process ID should remain constant. If this is
129 working, you have a persistent FastCGI application running.
130
131
132 Known Problems/Limitations
133 ==========================
134
135 1) This port was build for Windows NT 3.51 and above. It was
136 not built with Windows 95 as one of the target platforms.
137 The reason is that I/O completion ports are used for
138 asynchronous I/O which are not present on Windows 95.
139 Changing this is not that big a job and involves changing to
140 use overlapped I/O. Again, the port was towards Windows NT
141 which was why the I/O completion ports were chosen. This
142 mechanism was also chosen in anticipation of the multi-threaded
143 FastCGI for NT as it will map to the model we currently
144 have designed.
145
146
147NOTE: Use the application "kill.exe" contained in the NT resource kit
148 to kill persistent FastCGI applciations!
149