socket绑定失败:/var/run/renderd/renderd.sock osm mapnik

时间:2015-05-22 11:32:14

标签: rendering openstreetmap mapnik

我试图让本地磁贴服务器运行。使用this指南。我几乎在指南的末尾但是使用了渲染命令它失败了。

user:/usr/local/etc$ sudo -u username renderd -f -c /usr/local/etc/renderd.conf
renderd[9849]: Rendering daemon started
renderd[9849]: Initiating reqyest_queue
renderd[9849]: Parsing section renderd
renderd[9849]: Parsing render section 0
renderd[9849]: Parsing section mapnik
renderd[9849]: Parsing section default
renderd[9849]: config renderd: unix socketname=/var/run/renderd/renderd.sock
renderd[9849]: config renderd: num_threads=4
renderd[9849]: config renderd: num_slaves=0
renderd[9849]: config renderd: tile_dir=/var/lib/mod_tile
renderd[9849]: config renderd: stats_file=/var/run/renderd/renderd.stats
renderd[9849]: config mapnik:  plugins_dir=/usr/local/lib/mapnik/input
renderd[9849]: config mapnik:  font_dir=/usr/share/fonts/truetype/ttf-dejavu
renderd[9849]: config mapnik:  font_dir_recurse=1
renderd[9849]: config renderd(0): Active
renderd[9849]: config renderd(0): unix socketname=/var/run/renderd/renderd.sock
renderd[9849]: config renderd(0): num_threads=4
renderd[9849]: config renderd(0): tile_dir=/var/lib/mod_tile
renderd[9849]: config renderd(0): stats_file=/var/run/renderd/renderd.stats
renderd[9849]: config map 0:   name(default) file(/usr/local/share/maps/style/OSMBright/OSMBright.xml) uri(/osm_tiles/) htcp() host(localhost)
renderd[9849]: Initialising unix server socket on /var/run/renderd/renderd.sock
socket bind failed for: /var/run/renderd/renderd.sock

我在INTERNET中搜索了“socket bind failed for:/var/run/renderd/renderd.sock”问题很长一段时间才找到它的解决方案,但是,尽管我能找到一些有类似问题的人他们案件的解决方案不适用于我。

所以这里有一些提示我的情况:

  1. 文件夹“/ var / run / renderd /”存在,我的用户有权访问它。

  2. 我的用户也可以访问我的renderd.conf文件,它也应该正确配置,但确保这里是代码:

  3.   

    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
    
    [mapnik]
    plugins_dir=/usr/local/lib/mapnik/input
    font_dir=/usr/share/fonts/truetype/ttf-dejavu
    font_dir_recurse=1
    
    [default]
    URI=/osm_tiles/
    TILEDIR=/var/lib/mod_tile
    XML=/usr/local/share/maps/style/OSMBright/OSMBright.xml
    HOST=localhost
    TILESIZE=256
    
    1. 我认为它在某种程度上是“访问权限”问题,因为在命令中:
    2.   

      user:/ usr / local / etc $ sudo renderd -f

      [sudo] password for user: 
      renderd[11904]: Rendering daemon started
      renderd[11904]: Initiating reqyest_queue
      iniparser: cannot open /etc/renderd.conf
      

      它可以以某种方式打开文件,即使通过我仔细检查它,文件夹和文件是否能够访问用户

      如果有任何想法或问题,欢迎任何意见!

3 个答案:

答案 0 :(得分:0)

我通过将renderd.conf文件复制到/etc来解决此问题。我的renderd.conf位于/usr/local/etc

答案 1 :(得分:0)

确保/var/run/renderd/renderd.sock的目录存在,并且对于按https://stackoverflow.com/a/28884976/1860663

运行renderd的用户具有写权限

答案 2 :(得分:0)

这是权限问题。我有同样的问题,它基于Install PostgreSQL和PostGIS,特别是添加用户和授予访问gis DB的权限。

您必须添加创建服务器的用户,然后授予所有权限。一旦我做了这个改变,我重新启动了服务器,它运行得很好!