The Web application server is a threaded server which provides
services to the Web UI, as well as supporting the tagger broker. By
default, the application server also starts up a command loop which
allows the user to start up and shut down various portions of the
application. The application server supports CGI access for some
services, and XML-RPC for others. The service API is intended to be
internal; it will be documented at a later point.
Note: the Web application
server inventories the tagger models it makes available in file mode at
startup time. If you build a
model after you start the Web server, the Web server won't know about
that model until you restart it. (This condition does not apply to
workspaces.)
When you start up the Web server, and it's running a command loop,
you see something like this:
Web server started on port 7801.
Web server command loop. Commands are:
exit - exit the command loop and stop the Web server
loopexit - exit the command loop, but leave the Web server running
taggerexit - shut down the tagger service, if it's running
restart - restart the Web server
ws_key - show the workspace key
help, ? - this message
Workspace key is w65gABlWFKYSdZwXCHaspyhW0DySP7ZW
Command:
These commands should be self-explanatory. The command that you're
most likely to use is "ws_key", which prints out the workspace key that
the Web server knows. The workspace
documentation explains the importance of this key.
Unix:
% $MAT_PKG_HOME/bin/MATWeb
Windows native:
> %MAT_PKG_HOME%\bin\MATWeb.cmd
Usage: MATWeb [options]
--port <num> |
Port to listen on (default is
7801). |
--noscreen |
Don't report Web errors and
access to stdout. |
--access_log <file> |
Absolute pathname of intended
access log file. If absent, the Web access information will be written
to standard output, unless --noscreen is specified. |
--error_log <file> | Absolute pathname of intended
error log file. If absent, the Web error information will be written to
standard output, unless --noscreen is specified. |
--tagger_log <file> | Absolute pathname of intended
tagger log file. If absent, tagger service status output will be routed
to standard output. |
--clear_logs |
Clear the logs before startup. |
--no_cmdloop |
Don't start up an interactive
command loop. |
--no_tagger_service |
Don't start up the tagger
service. |
--localhost_only |
Accept connections only from
localhost or 127.0.0.1. |
--log_rotation_count <n> |
Rotate logs on restart, and keep
only n logs |
--midnight_restart |
Restart automatically at
midnight (useful for rolling over logs) |
--workspace_key <k> |
Use the specified key as a
workspace key. This flag is used mostly when the server automatically
restarts after an error, so the user doesn't need to change the
workspace key in the UI. However, it can also be used explicitly, e.g.,
to associate a previously-agreed-upon "password" for the workspaces. |
--allow_remote_workspace_access |
By default, workspaces only
permit access from local clients. If this flag is specified, the server
allows workspaces to be accessed by clients on remote hosts. |
To start up the Web server listening on the default port, with a
command loop and all status messages printed to standard output:
Unix:
% $MAT_PKG_HOME/bin/MATWeb
Windows native:
> %MAT_PKG_HOME%\bin\MATWeb.cmd
To start up the Web server on port 7806, but only allow connections
from the local host:
Unix:
% $MAT_PKG_HOME/bin/MATWeb --port 7806 --localhost_only
Windows native:
> %MAT_PKG_HOME%\bin\MATWeb.cmd --port 7806 --localhost_only
To start up the Web server on the default port, but write the status
messages to different files:
Unix:
% $MAT_PKG_HOME/bin/MATWeb --access_log ./web_access.log --error_log ./web_error.log \
--tagger_log ./web_tagger.log --noscreen
Windows native:
> %MAT_PKG_HOME%\bin\MATWeb.cmd --access_log %CD%\web_access.log --error_log %CD%\web_error.log \
--tagger_log %CD%\web_tagger.log --noscreen
Without the --noscreen flag, the Web server messages will be printed
both to the files and to standard output.
On Unix, to start up the Web server as a Unix cron job, saving logs
for the
previous 7 days in /etc/MAT/logs, and restarting each midnight, enter
this command line in your crontab, if MAT_PKG_HOME is /usr/MAT:
/usr/MAT/bin/MATWeb --access_log /etc/MAT/logs/web_access.log \
--error_log /etc/MAT/logs/web_error.log \
--tagger_log /etc/MAT/logs/web_tagger.log --noscreen \
--no_cmdloop --midnight_restart --log_rotation_count 7
Caution: this mode is very, very lightly tested.