The Manage Services dialog appears when a Manifold 9 Server license has been installed.
Manifold Server, called Server for short, is a read-only, parallel, spatial database server that also includes an HTTP web server and map server. Server can run in two types of modes:
Manifold 9 Server edition allows launching Manifold Server instances as Windows services using the Tools - Manage Services dialog. That is a lot easier than launching Server from a Command Prompt window, although if desired, Server can also be launched using a command line in the Command Prompt window when running a Manifold 9 Server license.
A Manifold
9 Universal license provides a limited version of Manifold
Server that cannot be launched as a service, but which must be launched
from a Command Prompt window. Manifold Universal edition and Manifold
Professional edition licenses do not have the Manage Services dialog.
See the Manifold
Server topic for step by step instructions on how to launch
Manifold Server from a Command Prompt window when using Manifold 9 Universal
edition.
Watch the new 10 Minute Tutorial - Manage Services video to see the Manage Services dialog in action. Note that the dialog uses beta software in which the Manage Services dialog appeared in Universal edition. Current builds require a Manifold Server edition license to use the Manage Services dialog.
Although the Manage Services dialog can be launched by any user, to launch or to modify Server services Manifold must be launched with administrator privileges. An additional requirement is that the license must be activated for whatever user accounts are used to launch Server instances as Windows services. The easiest way to ensure that is to install the license for all users.
Get ready with the following two steps:
The above trick to configure Windows Firewall is a hackish approach, because we will have to launch Server again at least once from the Command Prompt if we use a different .exe to launch Server, for example, if we download and use a newer Manifold version. It is also possible that a new Windows update will reset Windows Firewall settings so we will have to again launch Server at least once from the Command Prompt. See also the procedure (easy) in the Manifold Server topic for adding Server as an exception to Windows Defender Firewall.
A regular Manifold interactive session launched with administrator privileges (right-click and choose Run as administrator) is used to control Server instances when run as Windows services. Launch Manifold interactively to get access to the Tools - Manage Services dialog that allows adding, starting, stopping, and otherwise managing Server instances running as services.
Getting Server Ready
The above procedure need be done only once for a new Server installation, to verify that the license has been installed for all users, and to allow access through Windows Firewall. If the Manifold installation is updated, launch Server again from a Command Prompt window to once again configure Windows Firewall. Or, learn how to use Windows Firewall to open the ports that will be used for any Manifold Server installation.
The Manage Services dialog provides a simple user interface for managing Server when it is running as Windows services. It is easier to use than Microsoft dialogs for managing Windows services.
The toolbar operates on selected rows. To run or to stop a service, Ctrl-click it to select it. The Manage Services dialog uses the same selection moves used by all Manifold dialogs with grids:
Ctrl-click a row to toggle selection for that row. Ctrl-click selects an unselected row, and deselects a selected row.
Ctrl-A selects all rows.
Shift-Ctrl-A deselects all rows.
Ctrl-I inverts the selection, deselecting those rows that were selected and selecting those rows that were not selected.
The general rule is to first stop a running service, make modifications and then start it again. When a service is running, making any modifications or deleting the service will only take effect after it is stopped or, if it is not stopped, after a system reboot.
Services in Windows run independent of the user interface. When running, they continue running after we log out or if another user logs in. That independence when running applies to commands such as to delete or to modify a service while it is running.
If a Server service is running and in the Manage Services dialog we select it and then press the Delete button, it will continue running even though it is now marked for deletion in the services database. The next time the service is stopped, it will be deleted. That can happen either when we Stop the service in the Manage Services dialog, or when the system reboots. Likewise, if we use the Manage Services dialog to modify a running Server service, by double-clicking the service and editing it, those changes will take effect only when the service is stopped.
That may seem like a counter-intuitive way to manage services, but that is how they work in Windows, and for good reason. For example, suppose a Windows service that is running has control of system resources and cannot be stopped? The way to delete it in that case is to mark it for deletion so when the system reboots the service is deleted without it ever having the chance to start running.
If that seems confusing, the way to avoid confusion is to always apply the general rule: first stop a running service, make modifications and then start it again. Server is well behaved as a service, so we can always stop it in the Manage Services dialog to make whatever change we want.
|
Add a new instance of Server as a service. Launches the Services dialog. |
|
Mark the selected services for deletion when they are stopped or on the next reboot. Enabled when one or more rows in the dialog have been selected. |
|
Start the selected services. Enabled when one or more rows in the dialog for stopped services have been selected. |
|
Stop the selected services. Enabled when one or more rows in the dialog for running services have been selected. |
|
Refresh the dialog showing the latest status of services, including process ID for any running services. |
(services list) |
A list of services, showing the following information:
|
Ctrl-click |
Ctrl-click a row to select it. Selected rows are shown in red selection color. |
Double-click |
Double-click a row to launch the Services dialog for the double-clicked service, to make any edits in the service, except that the name of the service cannot be changed. If the service is running, any changes made will apply after the service is stopped or on the next reboot. |
Close |
Close the dialog without launching the join operation. |
Pressing the Add button to add a new service or double-clicking an existing service will launch the Services dialog.
Name |
A name for this server instance. Can only be specified when adding a new service. Double-clicking an existing service to edit that service in the Service dialog does not allow changing the name. |
Executable |
The Server executable file to be used for this server instance. By default, the manifoldsrv.exe file that is found in the same folder from which the Manifold manifold.exe session in use was launched. |
Data |
The Manifold .map file to be served by this Server instance. |
Address |
Network interface to listen on. Default: primary network interface |
Port |
Port to listen on. Default: 9099 For convenience, the default port number will automatically increment for each additional service added. |
Start |
Start type for this service on computer system reboot:
|
Options |
Enter any desired options in command line form. Options are listed in the following section. |
OK |
Save changes and close the dialog. |
Cancel |
Close the dialog without saving any changes. |
-addr:xxx |
Network interface to listen on. Default: primary network interface |
-component:xxx |
Used only with HTTP server. The name of the served component, a single map, drawing, image, or labels component. Enclose component names that have spaces with double " quote characters, as in
-component:"Cities and Provinces of Mexico"
The default component name used is Main if no component name is explicitly specified. |
-connections:xxx |
Maximum number of connections. Use 0 for no limit. Default: 20 More than 20 connections require a Manifold 9 Server license. |
-logfolder:xxx |
Specify file to use for a log file instead of the default location. |
-password:xxx |
Used only with TCP server. Optional password for access. Ignored if no -user name is specified. If not specified, any or no password can be used. |
-port:xxx |
Port to listen on.
Default for TCP: 9099.
Default for HTTP: 80.
Internet browsers default to using port 80 for HTTP. When running as an HTTP server, using the default port allows any browser to connect by just using the IP address as the URL, for example, http://192.168.1.99. You can use other ports by specifiying the -port:xxx command line option, for example, -port:8080 to use port 8080. Using the non-default port will require use of a URL that specifies the port, such as http://192.168.1.99:8080. |
-service |
Launch the Server instance as a Windows service. Requires administrator privileges. Requires a Manifold 9 Server license. |
-type:xxx |
Server type. Specifying -type:http runs the HTTP server and specifying -type:tcp runs the TCP server. The default is running as a TCP server. |
-user:xxx |
Used only with TCP server. Optional user login name. If no login name is specified, any login name or no login name can be used. |
-workers:xxx |
Number of worker threads
per connection, from 1
to 128. Default:
4
Used only with TCP server. Threads used by the HTTP server are organized differently from threads used by the TCP server: the number of threads for the HTTP server is managed automatically. |
Launch the Manage Services dialog by choosing Tools - Manage Services.
Press the
Add button.
That launches the Service dialog that configures the new service to be added.
Press the browse button for the Data
box, and then choose the .map file
that will provide data to this Server instance.
Add any Options desired, using command line options. For running a TCP server we do not need to enter a -type:tcp option, since a TCP server is the default.
If we wanted to add an HTTP server to serve a map, we would enter -type:http and also choose 80 as the port. We also would enter a -component: option giving the name of the component in the project that is to be served, for example, -component:"Cities and Provinces of Mexico"
Press OK. A new service appears in the Manage Services dialog's list.
Ctrl-click the new service to select it.
Press the Start button to start the service running.
The service is now running. If desired, see the process ID by pressing the Refresh button.
We can now close the dialog. The service is now running and will continue to run even if we close Manifold and even if we log off. If we restart the computer system, the service will automatically start running again on system reboot.
If sometime in the future we no longer want the service to run, we launch Manifold as administrator again, launch the Tools - Manage Services dialog, select the service we no longer want by Ctrl-clicking it, and then press the Stop button. That will stop the service. If we want to remove the service, we can then press the Delete button.
Non-routable IP addresses - The examples in this documentation use non-routable IP addresses beginning with 192.... Such IP addresses may be visible on your local network, but they cannot be visited across Internet. When connecting to Server through the Internet, either for sharing data using the TCP server or for publishing maps using the HTTP server, the computer should have a static IP address that is routable (visible over Internet), like 20.81.111.85, and the Server instances that are launched should use that IP address.
File - Create - New Data Source