Configuring Lucid UNIX CL-HTTP

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

  1. Basic Configuration
  2. 1. Physical Memory: Under Lucid for UNIX (Solaris 2.4) the CL-HTTP image runs in approximately 30M bytes of virtual memory. The disk image size is approximately 12M bytes.
    2. Start Server from UNIX: Edit http:lcl;http.script and change the shell variables at the top as follows:
    1. LISPIMAGE= the file name of the Lucid image which is installed at your site. This image should have the files 'clos.sbin' and 'ansi-packages.sbin' loaded.
    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.
    Then run the shell script http:lcl;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 lcl/http.script -help). See also http:lcl;-read-me-.text. http:lcl;http.script replaces step 3 through 7 below.
    3. Load Server: To load the server from Lucid, start Lucid. If the CLOS system and/or the ansi-packages module are not present in the basic lucid image, you can load them with (load "<pathname>/clos") and (load "<pathname>/ansi-packages"). Load the file http:lcl;start.lisp . Use the command (load "lcl/start") to start the compile/load/run script from Lucid. 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:lcl;start.lisp shell utility. The http:lcl;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. Lucid Specific Configuration Switches: Load http:lcl;examples;configuration.lisp or equivalent to initialize parameters required for the Lucid 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:lcl;examples;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:lcl;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 Lucid/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@csail.mit.edu