Я получаю сообщение об ошибке Socket bind failed for: /var/run/renderd/renderd.носок, если я обычный пользователь, все работает нормально?

Я пытаюсь вручную построить сервер карт в соответствии с инструкциями на switch2osm.org - ... Я все настроил. У меня есть база данных mayank, принадлежащая пользователю mayank, и я пытаюсь использовать renderd, но я получаю эту ошибку привязки сокета не удалось для: /var/run/renderd/renderd.носок. Теперь, если я переключусь на root и сделаю то же самое, он отлично работает без прямых проблем с разрешениями, потому что я изменил владельца для каталогов рекурсивно. Но могут возникнуть некоторые промежуточные проблемы с разрешением. Я не могу бежать. это как root, так как я использую psql, а мой владелец для базы данных mayank-мой пользователь mayank, и это приводит к тому, что никакие плитки не отображаются. И я не хочу переустанавливать свою ОС, но серьезно понимаю причину этой проблемы. Пожалуйста, помогите я новичок в openstreetmaps и 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

ниже как root, но никакие плитки не генерируются этим процессом, вероятно, из-за вещи базы данных

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

4 ответов


я столкнулся почти с той же проблемой, что и вы. Насколько я понимаю, за этим могут стоять две причины. Попробуйте запустить еще раз с

sudo -u 'username' renderd -f -c /usr/local/etc/renderd.conf

после применения одного из предложенных решений. Замените "username" на имя пользователя, выполняющего renderd:

Причина # 1 отсутствуют права на запись

у вас, вероятно, нет прав на написание / var / run/renderd / renderd.носок!-Файл -12-->.

решение для вас будет изменение владельца каталога :

sudo chown 'username' /var/run/renderd

и / или изменение владельца файла, введя

sudo chown 'username' /var/run/renderd/renderd.sock

,где "имя пользователя" стоит для пользователя, которая будет запущена я расскажу.

Причина #2 отсутствует каталог

у меня почти такое же сообщение об ошибке, как и у вас.

в моем случае я пропустил /var/run / renderd. Решением в моем случае было создание /var/run / renderd каталог, а затем изменение его владелец:

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

, где "имя пользователя" - пользователь, который будет runnng renderd.


похоже, что в вашем . Просто удалите конечную точку с запятой в renderd.conf at
;[renderd02]

конечная точка с запятой предлагает комментарии. Поэтому, если вы не прокомментировали это, перед ним не должно быть точки с запятой.


все советы, которые я нашел здесь правильные. Но мне нужно было также заменить в / usr / local/etc / renderd.conf это:

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

в:

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

похоже, точка с запятой рассматривается как комментарий, но строка, которая после нее все еще должна применяться к key=value формула, иначе вы получите"

iniparser: синтаксическая ошибка в /usr / local/etc / renderd.conf

или вы также можете удалить всю строку (на самом деле две строки, так как это происходит там дважды), так как это комментарий в любом случае.


это ошибка разрешение , просто беги:

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