Compare commits

...

4 Commits

Author SHA1 Message Date
Sarah Hoffmann
f69890c86f adapt to release 4.3.2 2023-11-17 16:33:04 +01:00
Sarah Hoffmann
7ab73f5698 python deployment: add systemd service for the socket 2023-10-25 14:55:35 +02:00
Sarah Hoffmann
a2b89309ff adapt to release 4.3.1 2023-10-04 21:25:03 +02:00
Sarah Hoffmann
0a892133af adapt docs for release 2023-09-07 11:04:12 +02:00
4 changed files with 30 additions and 26 deletions

View File

@@ -43,6 +43,22 @@ virtualenv /srv/nominatim-venv
Next you need to set up the service that runs the Nominatim frontend. This is Next you need to set up the service that runs the Nominatim frontend. This is
easiest done with a systemd job. easiest done with a systemd job.
First you need to tell systemd to create a socket file to be used by
hunicorn. Crate the following file `/etc/systemd/system/nominatim.socket`:
``` systemd
[Unit]
Description=Gunicorn socket for Nominatim
[Socket]
ListenStream=/run/nominatim.sock
SocketUser=www-data
[Install]
WantedBy=multi-user.target
```
Now you can add the systemd service for Nominatim itself.
Create the following file `/etc/systemd/system/nominatim.service`: Create the following file `/etc/systemd/system/nominatim.service`:
``` systemd ``` systemd
@@ -74,12 +90,14 @@ its own Python process using
[`NOMINATIM_API_POOL_SIZE`](../customize/Settings.md#nominatim_api_pool_size) [`NOMINATIM_API_POOL_SIZE`](../customize/Settings.md#nominatim_api_pool_size)
connections to the database to serve requests in parallel. connections to the database to serve requests in parallel.
Make the new service known to systemd and start it: Make the new services known to systemd and start it:
``` sh ``` sh
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable nominatim sudo systemctl enable nominatim.socket
sudo systemctl start nominatim sudo systemctl start nominatim.socket
sudo systemctl enable nominatim.service
sudo systemctl start nominatim.service
``` ```
This sets the service up, so that Nominatim is automatically started This sets the service up, so that Nominatim is automatically started

View File

@@ -1,4 +1,4 @@
site_name: Nominatim Manual site_name: Nominatim 4.3.2 Manual
theme: theme:
name: material name: material
features: features:

View File

@@ -27,7 +27,7 @@ export DEBIAN_FRONTEND=noninteractive #DOCS:
postgresql-contrib-12 postgresql-12-postgis-3-scripts \ postgresql-contrib-12 postgresql-12-postgis-3-scripts \
php-cli php-pgsql php-intl libicu-dev python3-dotenv \ php-cli php-pgsql php-intl libicu-dev python3-dotenv \
python3-psycopg2 python3-psutil python3-jinja2 python3-pip \ python3-psycopg2 python3-psutil python3-jinja2 python3-pip \
python3-icu python3-datrie python3-yaml git python3-icu python3-datrie python3-yaml
# Some of the Python packages that come with Ubuntu 20.04 are too old, so # Some of the Python packages that come with Ubuntu 20.04 are too old, so
# install the latest version from pip: # install the latest version from pip:
@@ -109,25 +109,18 @@ fi #DOCS:
# #
if [ "x$1" == "xyes" ]; then #DOCS: :::sh if [ "x$1" == "xyes" ]; then #DOCS: :::sh
cd $USERHOME cd $USERHOME
git clone --recursive https://github.com/openstreetmap/Nominatim.git wget https://nominatim.org/release/Nominatim-4.3.2.tar.bz2
cd Nominatim tar xf Nominatim-4.3.2.tar.bz2
else #DOCS: else #DOCS:
cd $USERHOME/Nominatim #DOCS: cd $USERHOME/Nominatim #DOCS:
fi #DOCS: fi #DOCS:
# When installing the latest source from github, you also need to
# download the country grid:
if [ ! -f data/country_osm_grid.sql.gz ]; then #DOCS: :::sh
wget -O data/country_osm_grid.sql.gz https://nominatim.org/data/country_grid.sql.gz
fi #DOCS:
# The code must be built in a separate directory. Create this directory, # The code must be built in a separate directory. Create this directory,
# then configure and build Nominatim in there: # then configure and build Nominatim in there:
mkdir $USERHOME/build mkdir $USERHOME/build
cd $USERHOME/build cd $USERHOME/build
cmake $USERHOME/Nominatim cmake $USERHOME/Nominatim-4.3.2
make make
sudo make install sudo make install

View File

@@ -28,7 +28,7 @@ export DEBIAN_FRONTEND=noninteractive #DOCS:
php-cli php-pgsql php-intl libicu-dev python3-dotenv \ php-cli php-pgsql php-intl libicu-dev python3-dotenv \
python3-psycopg2 python3-psutil python3-jinja2 \ python3-psycopg2 python3-psutil python3-jinja2 \
python3-icu python3-datrie python3-sqlalchemy \ python3-icu python3-datrie python3-sqlalchemy \
python3-asyncpg python3-yaml git python3-asyncpg python3-yaml
# #
# System Configuration # System Configuration
@@ -104,25 +104,18 @@ fi #DOCS:
# #
if [ "x$1" == "xyes" ]; then #DOCS: :::sh if [ "x$1" == "xyes" ]; then #DOCS: :::sh
cd $USERHOME cd $USERHOME
git clone --recursive https://github.com/openstreetmap/Nominatim.git wget https://nominatim.org/release/Nominatim-4.3.2.tar.bz2
cd Nominatim tar xf Nominatim-4.3.2.tar.bz2
else #DOCS: else #DOCS:
cd $USERHOME/Nominatim #DOCS: cd $USERHOME/Nominatim #DOCS:
fi #DOCS: fi #DOCS:
# When installing the latest source from github, you also need to
# download the country grid:
if [ ! -f data/country_osm_grid.sql.gz ]; then #DOCS: :::sh
wget -O data/country_osm_grid.sql.gz https://nominatim.org/data/country_grid.sql.gz
fi #DOCS:
# The code must be built in a separate directory. Create this directory, # The code must be built in a separate directory. Create this directory,
# then configure and build Nominatim in there: # then configure and build Nominatim in there:
mkdir $USERHOME/build mkdir $USERHOME/build
cd $USERHOME/build cd $USERHOME/build
cmake $USERHOME/Nominatim cmake $USERHOME/Nominatim-4.3.2
make make
sudo make install sudo make install