1IIPSRV(8) System Manager's Manual IIPSRV(8)
2
3
4
6 IIPSRV - IIPImage Image Server
7
8
10 IIPImage is an advanced high-performance feature-rich multi-protocol
11 image server for web-based streamed viewing and zooming of ultra high-
12 resolution images. It is designed to be fast and bandwidth-efficient
13 with low processor and memory requirements. The system can comfortably
14 handle gigapixel size images as well as advanced image features such as
15 8, 16 and 32 bit depths, CIELAB colorimetric images and scientific
16 imagery such as multispectral images. Source images can be either TIFF
17 (tiled multi-resolution) or JPEG2000 (if enabled).
18
19 The image server can also dynamically export images in JPEG format and
20 perform basic image processing, such as contrast adjustment, gamma con‐
21 trol, conversion from color to greyscale, color twist, region extrac‐
22 tion and arbitrary rescaling. The server can also export spectral point
23 or profile data from multispectral data and apply color maps or perform
24 hillshading rendering.
25
26
28 Command line use:
29
30 iipsrv.fcgi --bind host : port
31
32
33
35 iipsrv.fcgi main executable
36
37 iipsrv.log log file: usually in /var/log/ or /tmp/
38
39
40
42 There are several parameters that can be supplied to iipsrv.fcgi These
43 should be set via the appropriate web server configuration directives
44 if running via Apache or Lighttpd. See EXAMPLES for details of web
45 server configuations. Alternatively these parameters can be set via
46 environment settings if running directly from the command line or from
47 spawn-fcgi.
48
49
50 LOGFILE
51 The log file the module will (attempt) to write to. If no value
52 is given, no log will be written. Make sure the server process
53 has write access to this directory. Paths with spaces in them
54 may not work correctly.
55
56 VERBOSITY
57 The level of logging. 0 means no logging, 1 is minimal logging,
58 2 lots of debugging stuff and 3 even more debugging stuff and 4
59 a very large amount indeed. Logging is only enabled if LOGFILE
60 has also been defined.
61
62 JPEG_QUALITY
63 The default JPEG quality factor for compression when the client
64 does not specify one. The value should be between 1 (highest
65 level of compression) and 100 (highest image quality). The
66 default is 75.
67
68 MAX_IMAGE_CACHE_SIZE
69 Max image cache size to be held in RAM in MB. This is a cache of
70 the compressed JPEG image tiles requested by the client. The
71 default is 5MB.
72
73 FILESYSTEM_PREFIX
74 This is a prefix automatically added by the server to the begin‐
75 ning of each file system path. This can be useful for security
76 reasons to limit access to certain sub-directories. For example,
77 with a prefix of "/home/images/" set on the server, a request by
78 a client for "image.tif" will point to the path
79 "/home/images/image.tif". Any reverse directory path component
80 such as ../ is also filtered out. No default value.
81
82 MAX_CVT
83 The maximum permitted image pixel size returned by the CVT com‐
84 mand in conjunction with WID or HEI or RGN. The default is 5000.
85 This prevents huge requests from overloading the server
86
87 MAX_LAYERS
88 The maximum number of quality layers to decode for image that
89 support progressive quality encoding, such as JPEG2000. Ignored
90 for other file formats. By default half of the available layers
91 are decoded. If set to -1, all the available layers will be
92 decoded.
93
94 WATERMARK
95 TIFF image to use as watermark file. This image should be not be
96 bigger the tile size used for TIFF tiling. If bigger, it will
97 simply be cropped to the tile size. If smaller, the watermark
98 will be positioned randomly within the available space. The
99 image can be either colour or grayscale.
100
101 WATERMARK_PROBABILITY
102 The probability that a particilar tile will have a watermark
103 applied to it. 0 means never, 1 means always.
104
105 WATERMARK_OPACITY
106 The opacity (between 0 and 1) applied to the watermark image.
107
108 MEMCACHED_SERVERS
109 A comma-delimitted list of memcached servers with optional port
110 numbers. For example: localhost,192.168.0.1:8888,192.168.0.2.
111
112 MEMCACHED_TIMEOUT
113 Time in seconds that cache remains fresh. Default is 86400 sec‐
114 onds (24 hours).
115
116 FILENAME_PATTERN
117 Pattern that follows the name stem for a panoramic image
118 sequence. eg: "_pyr_" for FZ1_pyr_000_090.tif. In this exam‐
119 ple, just supply FZ1 to the FIF command. The "000" indicates the
120 vertical angle and "090" the horizontal. This is only relevant
121 to 3D image sequences. The default is "_pyr_".
122
123 CORS Cross Origin Resource Sharing setting. Disabled by default. Set
124 to "*" to enable for all domains or specify a single domain.
125 See http://www.w3.org/TR/cors/ for more details on CORS.
126
127 BASE_URL
128 Set a base URL for use in certain protocol requests if web
129 server rewriting has taken place and the public URL is not the
130 same as that supplied to iipsrv
131
132 CACHE_CONTROL
133 Set the HTTP Cache-Control header. See http://www.w3.org/Proto‐
134 cols/rfc2616/rfc2616-sec14.html#sec14.9 for a full list of
135 options. If not set, header defaults to "max-age=86400" (24
136 hours).
137
138
139
141 iipsrv will be automatically started by both Apache and Lighttpd. But
142 not by Nginx or Java Application Servers. See the example configura‐
143 tion in the README or included with your distribution for the appropri‐
144 ate syntax. Note that Apache has two FCGI modules: mod_fastcgi and
145 mod_fcgid which are configured differently.
146
147 You may also wish to run iipsrv as a standalone program. To do this,
148 use the following syntax to bind to a particular port and listen for
149 FCGI (not HTTP) requests. In the following example, iipsrv will bind
150 to port 9000 on the machine's IP address 192.168.0.1:
151
152 % iipsrv.fcgi --bind 192.168.0.1:9000
153
154 There is additionally a --backlog parameter that is optional and sets
155 the socket backlog value. The backlog value specifies the number of
156 requests can be queued and, therefore, increases the number of concur‐
157 rent connections that iipsrv can handle and is set to 2048 by default.
158 For example:
159
160 % iipsrv.fcgi --bind 192.168.0.1:9000 --backlog 1024
161
162 Note that the backlog parameter must be specified after the bind param‐
163 eter and argument. Note also that this value may be limited by the
164 operating system. On Linux kernels < 2.4.25 and Mac OS X, the backlog
165 limit is hard-coded to 128, so any value above this will be limited to
166 128 by the OS. If you do provide a backlog value, verify whether the
167 setting /proc/sys/net/core/somaxconn should be updated.
168
169
170 It is also possible to run iipsrv via the spawn-fcgi program. Set up
171 any parameters via environment variables and run the command as follows
172 to bind, as in the previous example to port 9000 on IP address
173 192.168.0.1:
174
175 % spawn-fcgi -f src/iipsrv.fcgi -a 192.168.0.1 -p 9000
176
177 For use in stand alone or spawn-fcgi mode, you will then need to con‐
178 figure your webserver on the same machine or another to direct FCGI
179 protocol requests to this IP address and port.
180
181 For web servers such as Nginx or Java Application Servers such as Tom‐
182 cat, JBoss or Jetty, which cannot automatically start FCGI processes,
183 iipsrv will need to be started in stand alone mode or via spawn-fcgi.
184
185
186
188 The IIPImage server supports the Internet Imaging Protocol (IIP) , the
189 Zoomify protocol, the DeepZoom and the International Image Interoper‐
190 ability Framework (IIIF) protocols. Client applications supporting
191 these protocols should be able to use iipsrv as their back-end server.
192 IIP is the most feature rich of the 4 protocols and allows access to
193 the more advanced imaging server features.
194
195
196
197
199 The image paths given to the server must be absolute paths on the
200 server machine (eg. via the FIF variable for the IIP protocol:
201 FIF=/images/test.tif) and not paths relative to the web server document
202 root location. If the FILESYSTEM_PREFIX server directive has been set
203 (see OPTIONS above), then this prefix is automatically pre-pended to
204 all requests to generate the absolute image path. Make sure that the
205 server process owner is able to access and read the images.
206
207 Note that images do not need to be directly accessible externally by
208 the client via the web server.
209
210
211
213 IIPImage website: http://iipimage.sourceforge.net
214
215
217 Ruven Pillay <ruven@users.sourceforge.net>
218
219
220
221
222Ruven Pillay February 2016 IIPSRV(8)