Render or not to render? Building a tile server

允我心安 提交于 2019-12-11 13:44:08

问题


So here I come with my first Stackoverflow question:)

It's been already some days spent on building my own tile server. As many others I followed instructions written on switch2osm site and unfortunately got no luck.

When I run command renderd -f -c /etc/renderd.conf it seems to start to prepare itself but then it stops without any error and nothing happens. The last message it shows is: renderd[4226] <Debug>: Using web mercator projection settings and ... silence!

Please help me, I'm going crazy and can't sleep:)

Here is my data:

OS: Mac OS 10.9.4
Python: 2.7.5
Mapnik: 3.0.1-pre
Server version: Apache/2.2.26 (Unix)

Render messages:

renderd[4226] <Info>: Rendering daemon started
renderd[4226] <Error>: Initiating reqyest_queue
renderd[4226] <Info>: Parsing section renderd
renderd[4226] <Info>: Parsing render section 0
renderd[4226] <Info>: Parsing section renderd01
renderd[4226] <Info>: Parsing render section 1
renderd[4226] <Info>: Parsing section renderd02
renderd[4226] <Info>: Parsing render section 2
renderd[4226] <Info>: Parsing section mapnik
renderd[4226] <Info>: Parsing section default
renderd[4226] <Info>: config renderd: unix socketname=/var/run/renderd/renderd.sock
renderd[4226] <Info>: config renderd: num_threads=4
renderd[4226] <Info>: config renderd: num_slaves=8
renderd[4226] <Info>: config renderd: tile_dir=/var/lib/mod_tile
renderd[4226] <Info>: config renderd: stats_file=/var/run/renderd/renderd.stats
renderd[4226] <Info>: config mapnik:  plugins_dir=/usr/local/lib/mapnik/input
renderd[4226] <Info>: config mapnik:  font_dir=/usr/local/lib/mapnik/fonts
renderd[4226] <Info>: config mapnik:  font_dir_recurse=1
renderd[4226] <Info>: config renderd(0): Active
renderd[4226] <Info>: config renderd(0): unix socketname=/var/run/renderd/renderd.sock
renderd[4226] <Info>: config renderd(0): num_threads=4
renderd[4226] <Info>: config renderd(0): tile_dir=/var/lib/mod_tile
renderd[4226] <Info>: config renderd(0): stats_file=/var/run/renderd/renderd.stats
renderd[4226] <Info>: config renderd(1): unix socketname=/var/run/renderd/renderd.sock
renderd[4226] <Info>: config renderd(1): num_threads=4
renderd[4226] <Info>: config renderd(1): tile_dir=/var/lib/mod_tile
renderd[4226] <Info>: config renderd(1): stats_file=(null)
renderd[4226] <Info>: config renderd(2): unix socketname=/var/run/renderd/renderd.sock
renderd[4226] <Info>: config renderd(2): num_threads=4
renderd[4226] <Info>: config renderd(2): tile_dir=/var/lib/mod_tile
renderd[4226] <Info>: config renderd(2): stats_file=(null)
renderd[4226] <Info>: config map 0:   name(default) file(/Users/Alenka/src/mapnik-style/osm.xml) uri(/osm_tiles/) htcp() host(localhost)
renderd[4226] <Info>: Initialising unix server socket on /var/run/renderd/renderd.sock
renderd[4226] <Debug>: Created server socket 3
renderd[4226] <Info>: Renderd is using mapnik version 3.0.0
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSans-Bold.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSans-BoldOblique.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSans-ExtraLight.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSans-Oblique.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSans.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansCondensed-Bold.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansCondensed-BoldOblique.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansCondensed-Oblique.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansCondensed.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansMono-Bold.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansMono-BoldOblique.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansMono-Oblique.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSansMono.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerif-Bold.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerif-BoldItalic.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerif-Italic.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerif.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-Bold.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-BoldItalic.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-Italic.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/DejaVuSerifCondensed.ttf
renderd[4226] <Debug>: DEBUG: Loading font: /usr/local/lib/mapnik/fonts/unifont-7.0.05.ttf
Running in foreground mode...
Jul 30 18:46:39 Alenkas-iMac.local renderd[4226] <Debug>: Starting stats thread
debug: init_storage_backend: initialising file storage backend at: /var/lib/mod_tile
debug: init_storage_backend: initialising file storage backend at: /var/lib/mod_tile
debug: init_storage_backend: initialising file storage backend at: /var/lib/mod_tile
debug: init_storage_backend: initialising file storage backend at: /var/lib/mod_tile
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Loading parameterization function for
renderd[4226] <Info>: Loading parameterization function for
renderd[4226] <Info>: Loading parameterization function for
renderd[4226] <Info>: Loading parameterization function for
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: Initialising unix client socket on /var/run/renderd/renderd.sock
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 4
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 7, number 1
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 8
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 9
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 11
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 13
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 14
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 15
renderd[4226] <Info>: socket /var/run/renderd/renderd.sock initialised to fd 17
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 19, number 2
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 20, number 3
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 21, number 4
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 22, number 5
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 23, number 6
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 24, number 7
renderd[4226] <Debug>: DEBUG: Got incoming connection, fd 25, number 8
renderd[4226] <Debug>: Using web mercator projection settings
renderd[4226] <Debug>: Using web mercator projection settings
renderd[4226] <Debug>: Using web mercator projection settings
renderd[4226] <Debug>: Using web mercator projection settings

Logs from /var/log/apache2/error_log:

[error] [client ::1] File does not exist: /Library/WebServer/Documents/osm_tiles/0
[error] [client ::1] File does not exist: /Library/WebServer/Documents/osm_tiles/14
[notice] SIGHUP received.  Attempting to restart
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[notice] Apache/2.2.26 (Unix) DAV/2 mod_ssl/2.2.26 OpenSSL/0.9.8y configured -- resuming normal operations
[notice] SIGHUP received.  Attempting to restart
[notice] Digest: generating secret for digest authentication ...
[notice] Digest: done
[notice] Apache/2.2.26 (Unix) DAV/2 mod_ssl/2.2.26 OpenSSL/0.9.8y configured -- resuming normal operations

/etc/renderd.conf:

[renderd]
;socketname=/var/run/renderd/renderd.sock
num_threads=4
tile_dir=/var/lib/mod_tile
stats_file=/var/run/renderd/renderd.stats

[renderd01]
;iphostname=::1
;ipport=7654
;num_threads=4
;tile_dir=rados://tiles/etc/ceph/ceph.conf
;stats_file=/var/run/renderd/renderd.stats

[renderd02]
;iphostname=::1
;ipport=7654
;num_threads=8
;tile_dir=memcached://
;stats_file=/var/run/renderd/renderd.stats

[mapnik]
plugins_dir=/usr/local/lib/mapnik/input
font_dir=/usr/local/lib/mapnik/fonts
font_dir_recurse=1

[default]
URI=/osm_tiles/
TILEDIR=/var/lib/mod_tile
XML=/Users/Alenka/src/mapnik-style/osm.xml
HOST=localhost
TILESIZE=256
;HTCPHOST=proxy.openstreetmap.org
;MINZOOM=0
;MAXZOOM=18
;TYPE=png image/png
;DESCRIPTION=This is a description of the tile layer used in the tile json request
;ATTRIBUTION=&copy;<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a> and <a href=\"http://wiki.openstreetmap.org/wiki/Contributors\">contributors</a>, <a href=\"http://opendatacommons.org/licenses/odbl/\">ODbL</a>
;SERVER_ALIAS=http://localhost/
;CORS=*
;ASPECTX=1
;ASPECTY=1
;SCALE=1.0

mod_tile.conf:

LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so
<VirtualHost *:80>
    ServerName localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /osm_tiles/

    LoadTileConfigFile /etc/renderd.conf
    ModTileRenderdSocketName /var/run/renderd/renderd.sock
    # Timeout before giving up for a tile to be rendered
    ModTileRequestTimeout 0
    # Timeout before giving up for a tile to be rendered that is otherwise missing
    ModTileMissingRequestTimeout 30

    ErrorLog /var/log/apache2/error_log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access_log combined

</VirtualHost>

I've checked all the paths, I've googled everything. I'm not denying I might've missed smth, but I think when I look at the screen I understand nothing, my head is a complete mess right now.

P.s. btw I'm not sure if mod_tile and renderd are installed correctly as while I was doing make process I got some errors in the end (the same was for sudo make install and sudo make imstall-mod_tile):

Making all in iniparser3.0b
make[1]: Nothing to be done for `all'.
apxs -c   -I./includes    -lcurl ./src/mod_tile.c  ./src/sys_utils.c ./src/store.c ./src/store_file.c ./src/store_file_utils.c ./src/store_memcached.c ./src/store_rados.c ./src/store_ro_http_proxy.c ./src/store_ro_composite.c ./src/store_null.c
/usr/share/apr-1/build-1/libtool --silent --mode=compile /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/cc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -I/usr/local/include -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -I./includes  -c -o ./src/mod_tile.lo ./src/mod_tile.c && touch ./src/mod_tile.slo
./src/mod_tile.c:325:41: warning: format specifies type 'long' but the argument has type 'apr_os_thread_t'
      (aka 'struct _opaque_pthread_t *') [-Wformat]
            tile_layer, lifecycle_pool, os_thread);
                                        ^~~~~~~~~
./src/mod_tile.c:338:164: warning: format specifies type 'long' but the argument has type 'apr_os_thread_t'
      (aka 'struct _opaque_pthread_t *') [-Wformat]
  ...No storage backends for this lifecycle %pp, creating it in thread %li", lifecycle_pool, os_thread);
                                                                       ~~~                   ^~~~~~~~~
./src/mod_tile.c:346:160: warning: format specifies type 'long' but the argument has type 'apr_os_thread_t'
      (aka 'struct _opaque_pthread_t *') [-Wformat]
  ...Found backends (%pp) for this lifecycle %pp in thread %li", stores, lifecycle_pool, os_thread);
                                                           ~~~                           ^~~~~~~~~
./src/mod_tile.c:354:33: warning: format specifies type 'long' but the argument has type 'apr_os_thread_t'
      (aka 'struct _opaque_pthread_t *') [-Wformat]
                lifecycle_pool, os_thread, tile_layer);
                                ^~~~~~~~~
./src/mod_tile.c:358:45: warning: format specifies type 'long' but the argument has type 'apr_os_thread_t'
      (aka 'struct _opaque_pthread_t *') [-Wformat]
                lifecycle_pool, tile_layer, os_thread);
                                            ^~~~~~~~~
./src/mod_tile.c:375:75: warning: format specifies type 'long' but the argument has type 'off_t' (aka 'long long')
      [-Wformat]
                      cmd->xmlname, cmd->x, cmd->y, cmd->z, rdata->store, stat.size, stat.expired, stat.mtime);
                                                                          ^~~~~~~~~
./src/mod_tile.c:505:22: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]
                     maxAge));
                     ^~~~~~
./src/mod_tile.c:756:19: error: no member named 's6_addr32' in 'struct in6_addr'
    hashkey = (ip.s6_addr32[0] ^ ip.s6_addr32[1] ^ ip.s6_addr32[2] ^ ip.s6_addr32[3]) % DELAY_HASHTABLE_SIZE;
               ~~ ^
./src/mod_tile.c:756:37: error: no member named 's6_addr32' in 'struct in6_addr'
    hashkey = (ip.s6_addr32[0] ^ ip.s6_addr32[1] ^ ip.s6_addr32[2] ^ ip.s6_addr32[3]) % DELAY_HASHTABLE_SIZE;
                                 ~~ ^
./src/mod_tile.c:756:55: error: no member named 's6_addr32' in 'struct in6_addr'
    hashkey = (ip.s6_addr32[0] ^ ip.s6_addr32[1] ^ ip.s6_addr32[2] ^ ip.s6_addr32[3]) % DELAY_HASHTABLE_SIZE;
                                                   ~~ ^
./src/mod_tile.c:756:73: error: no member named 's6_addr32' in 'struct in6_addr'
    hashkey = (ip.s6_addr32[0] ^ ip.s6_addr32[1] ^ ip.s6_addr32[2] ^ ip.s6_addr32[3]) % DELAY_HASHTABLE_SIZE;
                                                                     ~~ ^
./src/mod_tile.c:1084:21: warning: format specifies type 'long long' but the argument has type 'long' [-Wformat]
                    maxAge));
                    ^~~~~~
./src/mod_tile.c:1129:39: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoResp200: %li\n", local_stats.noResp200);
                              ~~~     ^~~~~~~~~~~~~~~~~~~~~
                              %llu
./src/mod_tile.c:1130:39: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoResp304: %li\n", local_stats.noResp304);
                              ~~~     ^~~~~~~~~~~~~~~~~~~~~
                              %llu
./src/mod_tile.c:1131:39: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoResp404: %li\n", local_stats.noResp404);
                              ~~~     ^~~~~~~~~~~~~~~~~~~~~
                              %llu
./src/mod_tile.c:1132:39: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoResp503: %li\n", local_stats.noResp503);
                              ~~~     ^~~~~~~~~~~~~~~~~~~~~
                              %llu
./src/mod_tile.c:1133:39: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoResp5XX: %li\n", local_stats.noResp5XX);
                              ~~~     ^~~~~~~~~~~~~~~~~~~~~
                              %llu
./src/mod_tile.c:1134:41: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoRespOther: %li\n", local_stats.noRespOther);
                                ~~~     ^~~~~~~~~~~~~~~~~~~~~~~
                                %llu
./src/mod_tile.c:1135:42: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoFreshCache: %li\n", local_stats.noFreshCache);
                                 ~~~     ^~~~~~~~~~~~~~~~~~~~~~~~
                                 %llu
./src/mod_tile.c:1136:40: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoOldCache: %li\n", local_stats.noOldCache);
                               ~~~     ^~~~~~~~~~~~~~~~~~~~~~
                               %llu
./src/mod_tile.c:1137:44: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoVeryOldCache: %li\n", local_stats.noVeryOldCache);
                                   ~~~     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                   %llu
./src/mod_tile.c:1138:43: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoFreshRender: %li\n", local_stats.noFreshRender);
                                  ~~~     ^~~~~~~~~~~~~~~~~~~~~~~~~
                                  %llu
./src/mod_tile.c:1139:41: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoOldRender: %li\n", local_stats.noOldRender);
                                ~~~     ^~~~~~~~~~~~~~~~~~~~~~~
                                %llu
./src/mod_tile.c:1140:45: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoVeryOldRender: %li\n", local_stats.noVeryOldRender);
                                    ~~~     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    %llu
./src/mod_tile.c:1142:51: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
        ap_rprintf(r, "NoRespZoom%02i: %li\n", i, local_stats.noRespZoom[i]);
                                       ~~~        ^~~~~~~~~~~~~~~~~~~~~~~~~
                                       %llu
./src/mod_tile.c:1144:47: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "NoTileBufferReads: %li\n", local_stats.noTotalBufferRetrieval);
                                      ~~~     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      %llu
./src/mod_tile.c:1145:53: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
    ap_rprintf(r, "DurationTileBufferReads: %li\n", local_stats.totalBufferRetrievalTime);
                                            ~~~     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            %llu
./src/mod_tile.c:1147:61: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
        ap_rprintf(r, "NoTileBufferReadZoom%02i: %li\n", i, local_stats.noZoomBufferRetrieval[i]);
                                                 ~~~        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                 %llu
./src/mod_tile.c:1148:67: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
        ap_rprintf(r, "DurationTileBufferReadZoom%02i: %li\n", i, local_stats.zoomBufferRetrievalTime[i]);
                                                       ~~~        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                       %llu
./src/mod_tile.c:1153:70: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
        ap_rprintf(r,"NoRes200Layer%s: %li\n", tile_config->baseuri, local_stats.noResp200Layer[i]);
                                       ~~~                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                       %llu
./src/mod_tile.c:1154:70: warning: format specifies type 'long' but the argument has type 'apr_uint64_t'
      (aka 'unsigned long long') [-Wformat]
        ap_rprintf(r,"NoRes404Layer%s: %li\n", tile_config->baseuri, local_stats.noResp404Layer[i]);
                                       ~~~                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                       %llu
27 warnings and 4 errors generated.
apxs:Error: Command failed with rc=65536

回答1:


renderd[4226] <Debug>: Using web mercator projection settings means everything is OK. The configuration of mapnik and mod_tile is correct. It seems that your Apache doesn't work well.

Firstly, make sure your Apache is working well. You need to visit localhost:80 to verify if the Apache works well. If Apache does not work, you need to check the firewall if the port 80 is open. On CentOS, you can use netstat -ntlp to check if the port 80 is listening. After that, you can visit the website localhost:80 again. If Apache works well, you will see apache default page.

If renderd still not working, you need to check the logs from Apache such as /var/log/apache2/error_log. This time the problem probably come from socket connect failed for: /var/run/renderd/renderd.sock with reason: Permission denied, this problem comes from SELinux, you can just turn it off by setenforce 0.

You can solve these problems by analysing the logs from Apache after Apache working well.



来源:https://stackoverflow.com/questions/31729036/render-or-not-to-render-building-a-tile-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!