Configuring LispWorks UNIX CL-HTTP

  1. Basic Configuration
  2. Production Configuration
  3. Standalone Configuration

  1. Basic Configuration
  2. 1. Physical Memory: Under LispWorks for UNIX (SunOS 4.1.3x) the CL-HTTP image runs in approximately 10M bytes of virtual memory.
    2. Start Server from UNIX: Edit http:lw;http.script and change the shell variables at the top as follows:
    1. LISPIMAGE= the file name of the LispWorks image is installed at your site.
    2. HTTPIMAGE= the file name of the CL-HTTP image (for installation or running)
    3. HTTP= the directory name where this version of CL-HTTP is accessible.
    Next ensure that *private-patches-directory* in lw/pre-cl-http.lisp is set to the directory pathname containing the LispWorks private patches for running CL-HTTP (available from lispworks-support@harlequin.com). Then run the shell script http:lw;http.script to set-up and start the CL-HTTP server from UNIX. The shell script can be used to compile, build and run the CL-HTTP server. (Shell: $ sh lw/http.script -help). See also http:lw;-read-me-.text. http:lw;http.script replaces step 3 through 7 below.
    3. Load Server: To load the server from LispWorks, start LispWorks, load the file http:lw;start.lisp. Use the command (load "lw/start") to start the compile/load/run script from LispWorks. The start file defines the HTTP logical host and the required system declaration files. Any change to this start file should be matched with changes to the http:lw;start.lisp shell utility. The http:lw;start.lisp file replaces steps 4 through 7 below.
    4. Set Configuration Switches: Load Configuration.lisp or equivalent to initialize the parameters controlling the operation of the server. The comments describe the significance of the various switches.
    5. LispWorks Specific Configuration Switches: Load http:lw;configuration.lisp or equivalent to initialize parameters required for the LispWorks version under UNIX. The comments describe the reason for these switches.
    6. Export URLs: Use HTTP:EXPORT-URL function to make URL available through the server. At first, load the examples in http:lw;exports.lisp and Exports.lisp. Then, you can adapt or extend these examples to meet your own needs.
    7. Start Server: Evaluate the function HTTP:ENABLE-HTTP-SERVICE to start the server.
    8. Stop Server: Evaluate HTTP:DISABLE-HTTP-SERVICE to stop the server.

  3. Production Configuration
  4. Once you are ready to open up your server to production level loads, you can improve server performance by making the following changes to your version of Configuration.lisp:

    Disable Log Domain Resolution: Set the variable HTTP:*RESOLVE-IP-ADDRESSES-FOR-LOG* to NIL or your machine be be bogged down trying to resolve client domain names. This is done by default.
    Disable Log Notifications: Turn off log notifications on the console with HTTP:LOG-NOTIFICATIONS-ON. This is done by default when starting CL-HTTP from the shell script http:lw;http.script.
    Tune Simultaneous Connections: Adjust the number of simultaneous connections that you allow with HTTP:SET-MAXIMUM-NUMBER-OF-CONNECTIONS.

  5. Standalone Configuration
  6. CL-HTTP has not been tested in standalone configuration under UNIX, and it's not clear what network services (if any) are needed for the LispWorks/UNIX tcp interface to work properly in standalone. However one can already use the same workstation on an isolated network as both CL-HTTP server and client. If references to URLs cannot be translated, use the IP address of the server. References to the local host in HTML may have to be omitted the host component so that URLs will be relative to the local host (IP address) serving the documents.

If you have any questions or suggestions, send mail to www-cl@ai.mit.edu