2.5 KiB
Gunicorn
Like most Django applications, NetBox runs as a WSGI application behind an HTTP server. This documentation shows how to install and configure gunicorn for this role, however other WSGIs are available and should work similarly well.
Configuration
NetBox ships with a default configuration file for gunicorn. To use it, copy /opt/netbox/contrib/gunicorn.py
to /opt/netbox/gunicorn.py
. (We make a copy of this file rather than pointing to it directly to ensure that any changes to it do not get overwritten by a future upgrade.)
# cd /opt/netbox
# cp contrib/gunicorn.py /opt/netbox/gunicorn.py
While this default configuration should suffice for most initial installations, you may wish to edit this file to change the bound IP address and/or port number, or to make performance-related adjustments. See the Gunicorn documentation for the available configuration parameters.
systemd Setup
We'll use systemd to control both gunicorn and NetBox's background worker process. First, copy contrib/netbox.service
and contrib/netbox-rq.service
to the /etc/systemd/system/
directory and reload the systemd dameon:
# cp contrib/*.service /etc/systemd/system/
# systemctl daemon-reload
Then, start the netbox
and netbox-rq
services and enable them to initiate at boot time:
# systemctl start netbox netbox-rq
# systemctl enable netbox netbox-rq
You can use the command systemctl status netbox
to verify that the WSGI service is running:
# systemctl status netbox.service
● netbox.service - NetBox WSGI Service
Loaded: loaded (/etc/systemd/system/netbox.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-12-12 19:23:40 UTC; 25s ago
Docs: https://netbox.readthedocs.io/en/stable/
Main PID: 11993 (gunicorn)
Tasks: 6 (limit: 2362)
CGroup: /system.slice/netbox.service
├─11993 /usr/bin/python3 /usr/local/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/...
├─12015 /usr/bin/python3 /usr/local/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/...
├─12016 /usr/bin/python3 /usr/local/bin/gunicorn --pid /var/tmp/netbox.pid --pythonpath /opt/netbox/...
...
Once you've verified that the WSGI workers are up and running, move on to HTTP server setup.