Я получаю сообщение об ошибке 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
или вы также можете удалить всю строку (на самом деле две строки, так как это происходит там дважды), так как это комментарий в любом случае.