我试图让本地磁贴服务器运行。使用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”问题很长一段时间才找到它的解决方案,但是,尽管我能找到一些有类似问题的人他们案件的解决方案不适用于我。
所以这里有一些提示我的情况:
文件夹“/ var / run / renderd /”存在,我的用户有权访问它。
我的用户也可以访问我的renderd.conf文件,它也应该正确配置,但确保这里是代码:
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
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
它可以以某种方式打开文件,即使通过我仔细检查它,文件夹和文件是否能够访问用户
如果有任何想法或问题,欢迎任何意见!
答案 0 :(得分:0)
我通过将renderd.conf
文件复制到/etc
来解决此问题。我的renderd.conf
位于/usr/local/etc
。
答案 1 :(得分:0)
确保/var/run/renderd/renderd.sock
的目录存在,并且对于按https://stackoverflow.com/a/28884976/1860663
答案 2 :(得分:0)
这是权限问题。我有同样的问题,它基于Install PostgreSQL和PostGIS,特别是添加用户和授予访问gis DB的权限。
您必须添加创建服务器的用户,然后授予所有权限。一旦我做了这个改变,我重新启动了服务器,它运行得很好!