我得到一个错误说套接字绑定失败:/var/run/renderd/renderdSock,如果我是一个普通用户,其他一切



我正在尝试按照switch2osm.org上的说明手动构建地图服务器。我已经配置好了一切。我有一个由用户mayank拥有的数据库mayank,我试图使用renderd,但我得到这个错误套接字绑定失败:/var/run/renderd/renderd.sock。现在,如果我切换到根目录并执行相同的操作,它完全没有直接权限问题,因为我已经递归地更改了目录的所有者。但可能会有一些中间许可问题。我不能运行它作为根,因为我使用psql和我的数据库所有者mayank是我的用户mayank,这导致没有瓷砖被渲染。我不想重新安装我的操作系统,但认真理解这个问题的原因。请帮助我,我是新的开放街道地图和Linux。下面是我的进程的确切代码:

mayank@DC050:~$ renderd
socket bind failed for: /var/run/renderd/renderd.sock
mayank@DC050:~$ sudo renderd
sudo: /var/lib/sudo owned by uid 1000, should be uid 0
[sudo] password for mayank: 
mayank@DC050:~$ 
mayank@DC050:~$ renderd -f -c /usr/local/etc/renderd.conf
renderd[9178]: Rendering daemon started
renderd[9178]: Initiating reqyest_queue
iniparser: syntax error in /usr/local/etc/renderd.conf (8):
-> ;[renderd01]
iniparser: syntax error in /usr/local/etc/renderd.conf (15):
-> ;[renderd02]
iniparser: syntax error in /usr/local/etc/renderd.conf (33):
-> ;** config options used by mod_tile, but not renderd **
iniparser: syntax error in /usr/local/etc/renderd.conf (42):
-> ;[style2]
iniparser: syntax error in /usr/local/etc/renderd.conf (49):
-> ;** config options used by mod_tile, but not renderd **
renderd[9178]: Parsing section renderd
renderd[9178]: Parsing render section 0
renderd[9178]: Parsing section mapnik
renderd[9178]: Parsing section default
renderd[9178]: config renderd: unix socketname=/var/run/renderd/renderd.sock
renderd[9178]: config renderd: num_threads=4
renderd[9178]: config renderd: num_slaves=0
renderd[9178]: config renderd: tile_dir=/var/lib/mod_tile
renderd[9178]: config renderd: stats_file=/var/run/renderd/renderd.stats
renderd[9178]: config mapnik:  plugins_dir=/usr/local/lib/mapnik/input
renderd[9178]: config mapnik:  font_dir=/usr/local/lib64/mapnik/fonts
renderd[9178]: config mapnik:  font_dir_recurse=1
renderd[9178]: config renderd(0): Active
renderd[9178]: config renderd(0): unix socketname=/var/run/renderd/renderd.sock
renderd[9178]: config renderd(0): num_threads=4
renderd[9178]: config renderd(0): tile_dir=/var/lib/mod_tile
renderd[9178]: config renderd(0): stats_file=/var/run/renderd/renderd.stats
renderd[9178]: config map 0:   name(default) file(/home/mayank/src/mapnik-style/osm.xml) uri(/osm_tiles/) htcp() host(localhost)
renderd[9178]: Initialising unix server socket on /var/run/renderd/renderd.sock
socket bind failed for: /var/run/renderd/renderd.sock
下面的

是根目录,但是这个过程没有生成磁贴,可能是因为数据库的事情

renderd -f -c /usr/local/etc/renderd.conf
renderd[9347]: Rendering daemon started
renderd[9347]: Initiating reqyest_queue
iniparser: syntax error in /usr/local/etc/renderd.conf (8):
-> ;[renderd01]
iniparser: syntax error in /usr/local/etc/renderd.conf (15):
-> ;[renderd02]
iniparser: syntax error in /usr/local/etc/renderd.conf (33):
-> ;** config options used by mod_tile, but not renderd **
iniparser: syntax error in /usr/local/etc/renderd.conf (42):
-> ;[style2]
iniparser: syntax error in /usr/local/etc/renderd.conf (49):
-> ;** config options used by mod_tile, but not renderd **
renderd[9347]: Parsing section renderd
renderd[9347]: Parsing render section 0
renderd[9347]: Parsing section mapnik
renderd[9347]: Parsing section default
renderd[9347]: config renderd: unix socketname=/var/run/renderd/renderd.sock
renderd[9347]: config renderd: num_threads=4
renderd[9347]: config renderd: num_slaves=0
renderd[9347]: config renderd: tile_dir=/var/lib/mod_tile
renderd[9347]: config renderd: stats_file=/var/run/renderd/renderd.stats
renderd[9347]: config mapnik:  plugins_dir=/usr/local/lib/mapnik/input
renderd[9347]: config mapnik:  font_dir=/usr/local/lib64/mapnik/fonts
renderd[9347]: config mapnik:  font_dir_recurse=1
renderd[9347]: config renderd(0): Active
renderd[9347]: config renderd(0): unix socketname=/var/run/renderd/renderd.sock
renderd[9347]: config renderd(0): num_threads=4
renderd[9347]: config renderd(0): tile_dir=/var/lib/mod_tile
renderd[9347]: config renderd(0): stats_file=/var/run/renderd/renderd.stats
renderd[9347]: config map 0:   name(default) file(/home/mayank/src/mapnik-style/osm.xml) uri(/osm_tiles/) htcp() host(localhost)
renderd[9347]: Initialising unix server socket on /var/run/renderd/renderd.sock
renderd[9347]: Created server socket 5
renderd[9347]: Renderd is using mapnik version 2.0.3
renderd[9347]: Unable to open font directory: /usr/local/lib64/mapnik/fonts
Running in foreground mode...
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[9347]: 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
renderd[9347]: Using web mercator projection settings
renderd[9347]: Using web mercator projection settings
renderd[9347]: Using web mercator projection settings
renderd[9347]: Using web mercator projection settings

我遇到了几乎和你一样的问题。在我看来,这背后可能有两个原因。用

再试一次
sudo -u 'username' renderd -f -c /usr/local/etc/renderd.conf

在应用建议的解决方案之一后。

:

原因#1缺少写权限

你可能没有写/var/run/renderd/renderd的权限。袜子文件。

解决方案是更改目录的所有者:

sudo chown 'username' /var/run/renderd

和/或通过输入

更改文件的所有者
sudo chown 'username' /var/run/renderd/renderd.sock

,其中'username'表示将运行renderd的用户。

原因#2目录缺失

我得到的错误信息几乎和你一样。

在我的情况下,我错过了/var/run/render 目录。在我的情况下,解决方案是创建/var/run/renderd目录,然后改变其所有者:

sudo mkdir /var/run/renderd
sudo chown 'username' /var/run/renderd

,其中'username'是user,它将运行renderd。

看起来您的renderd.conf文件中存在语法错误。只要去掉renderd.conf
后面的分号;[renderd02]

后面的分号表示注释。所以除非你注释掉了,否则前面不应该有分号

我在这里找到的所有提示都是正确的。但是我还需要替换/usr/local/etc/render .conf中的this:

;** config options used by mod_tile, but not renderd **

这:

;xxx=** config options used by mod_tile, but not renderd **

看起来像分号被视为注释,但是它之后的字符串仍然需要应用于key=value公式,否则您将得到"

"。

initparser:/usr/local/etc/renderd.conf语法错误

或者您也可以删除整行(实际上是两行,因为它在那里出现了两次),因为它无论如何都是一个注释。

权限错误,运行:

renderd -f -c /usr/local/etc/renderd.conf

当我将贴图尺寸调高到2048 × 2048时,就发生了这种情况。1024 × 1024就可以了。我使用本指南将交换分区的大小从4G增加到50G(只是为了确保),到目前为止还没有出现任何问题。

比较:我在一个虚拟机上运行贴片服务器,有20G内存,6个p核,12个v核,启动24个渲染线程,Ubuntu 18.04 LTS。

最新更新