nominatim postgres, apache
This commit is contained in:
parent
a4e346fc2d
commit
36023fc5e4
|
@ -9,7 +9,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Libre Developers Documentation 0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-09-14 11:04-0600\n"
|
||||
"POT-Creation-Date: 2024-09-14 11:33-0600\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
|
@ -124,10 +124,50 @@ msgstr ""
|
|||
msgid "Postgres is needed by Nominatim."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:139
|
||||
#: ../../../_source/maps-libre-is.rst:137
|
||||
msgid "Edit /etc/postgresql/15/main/postgresql.conf thusly:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:155
|
||||
msgid "Nominatim Install"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:140
|
||||
#: ../../../_source/maps-libre-is.rst:156
|
||||
msgid "As user nominatim."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:169
|
||||
msgid "Create systemd files:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:185
|
||||
msgid "Another systemd file:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:212
|
||||
msgid "Start Nominatim systemd:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:222
|
||||
msgid "Nominatim Apache"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:223
|
||||
msgid "Thusly."
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:225
|
||||
msgid "As user nominatim:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:231
|
||||
msgid "As sudo user:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:245
|
||||
msgid "Then connect to this to test:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../../_source/maps-libre-is.rst:247
|
||||
msgid "`<https://maps.libre.is/status>`_"
|
||||
msgstr ""
|
||||
|
|
|
@ -134,6 +134,22 @@ Postgres is needed by Nominatim.
|
|||
sudo -u postgres createuser -s $USERNAME
|
||||
sudo -u postgres createuser www-data
|
||||
|
||||
Edit /etc/postgresql/15/main/postgresql.conf thusly:
|
||||
|
||||
.. code-block:: postgres
|
||||
|
||||
shared_buffers = 2GB
|
||||
maintenance_work_mem = (10GB)
|
||||
autovacuum_work_mem = 2GB
|
||||
work_mem = (50MB)
|
||||
synchronous_commit = off
|
||||
max_wal_size = 1GB
|
||||
checkpoint_timeout = 60min
|
||||
checkpoint_completion_target = 0.9
|
||||
random_page_cost = 1.0
|
||||
wal_level = minimal
|
||||
max_wal_senders = 0
|
||||
|
||||
|
||||
Nominatim Install
|
||||
=================
|
||||
|
@ -147,3 +163,87 @@ As user nominatim.
|
|||
virtualenv $USERHOME/nominatim-venv
|
||||
$USERHOME/nominatim-venv/bin/pip install nominatim-db
|
||||
. $USERHOME/nominatim-venv/bin/activate
|
||||
$USERHOME/nominatim-venv/bin/pip install psycopg[binary] falcon uvicorn gunicorn
|
||||
$USERHOME/nominatim-venv/bin/pip install nominatim-api
|
||||
|
||||
Create systemd files:
|
||||
|
||||
.. code-block::
|
||||
|
||||
sudo tee /etc/systemd/system/nominatim.socket << EOFSOCKETSYSTEMD
|
||||
[Unit]
|
||||
Description=Gunicorn socket for Nominatim
|
||||
|
||||
[Socket]
|
||||
ListenStream=/run/nominatim.sock
|
||||
SocketUser=www-data
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOFSOCKETSYSTEMD
|
||||
|
||||
Another systemd file:
|
||||
|
||||
.. code-block::
|
||||
|
||||
sudo tee /etc/systemd/system/nominatim.service << EOFNOMINATIMSYSTEMD
|
||||
[Unit]
|
||||
Description=Nominatim running as a gunicorn application
|
||||
After=network.target
|
||||
Requires=nominatim.socket
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=www-data
|
||||
Group=www-data
|
||||
WorkingDirectory=$USERHOME/nominatim-project
|
||||
ExecStart=$USERHOME/nominatim-venv/bin/gunicorn -b unix:/run/nominatim.sock -w 4 -k uvicorn.workers.UvicornWorker nominatim_api.server.falcon.server:run_wsgi
|
||||
ExecReload=/bin/kill -s HUP \$MAINPID
|
||||
StandardOutput=append:/var/log/gunicorn-nominatim.log
|
||||
StandardError=inherit
|
||||
PrivateTmp=true
|
||||
TimeoutStopSec=5
|
||||
KillMode=mixed
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOFNOMINATIMSYSTEMD
|
||||
|
||||
Start Nominatim systemd:
|
||||
|
||||
.. code-block::
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable nominatim.socket
|
||||
sudo systemctl start nominatim.socket
|
||||
sudo systemctl enable nominatim.service
|
||||
|
||||
Nominatim Apache
|
||||
================
|
||||
Thusly.
|
||||
|
||||
As user nominatim:
|
||||
|
||||
.. code-block::
|
||||
|
||||
mkdir $USERHOME/nominatim-project
|
||||
|
||||
As sudo user:
|
||||
|
||||
.. code-block::
|
||||
|
||||
sudo a2enmod proxy_http
|
||||
sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF
|
||||
#ProxyPass /nominatim "unix:/run/nominatim.sock|http://localhost/"
|
||||
ProxyPass / "unix:/run/nominatim.sock|http://localhost/"
|
||||
EOFAPACHECONF
|
||||
|
||||
sudo a2enconf nominatim
|
||||
sudo systemctl restart apache2
|
||||
|
||||
|
||||
Then connect to this to test:
|
||||
|
||||
`<https://maps.libre.is/status>`_
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue