Table of Contents
Start by downloading the corresponding package for your configuration:
Enterprise trial users should download their package from their welcome email and save their license to
/etc/kong/license.json after step 1.
You can also install Kong via APT; follow the instructions on the “Set Me Up”
section on the page below, setting distribution to the appropriate value
wheezy) and components to
If you are downloading the package, execute:
$ sudo apt-get update $ sudo apt-get install /absolute/path/to/package.deb
If you are using the apt repository execute:
$ sudo apt-get update $ sudo apt-get install -y apt-transport-https curl lsb-core $ echo "deb https://kong.bintray.com/kong-deb `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list $ curl -o bintray.key https://bintray.com/user/downloadSubjectPublicKey?username=bintray $ sudo apt-key add bintray.key $ sudo apt-get update $ sudo apt-get install -y kong
Prepare your database or declarative configuration file
Kong can run either with or without a database.
When using a database, you will use the
kong.confconfiguration file for setting Kong’s configuration properties at start-up and the database as storage of all configured entities, such as the Routes and Services to which Kong proxies.
When not using a database, you will use
kong.conf’s configuration properties and a
kong.ymlfile for specifying the entities as a declarative configuration.
Using a database
If you are using PostgreSQL, please provision a database and a user before starting Kong, ie:
CREATE USER kong; CREATE DATABASE kong OWNER kong;
Now, run the Kong migrations:
$ kong migrations bootstrap [-c /path/to/kong.conf]
Note for Kong < 0.15: with Kong versions below 0.15 (up to 0.14), use the
upsub-command instead of
bootstrap. Also note that with Kong < 0.15, migrations should never be run concurrently; only one Kong node should be performing migrations at a time. This limitation is lifted for Kong 0.15, 1.0, and above.
Without a database
If you are going to run Kong in DB-less mode, you should start by generating declarative config file. The following command will generate a
kong.ymlfile in your current folder. It contains instructions about how to fill it up.
$ kong config init
After populating the
kong.ymlfile, edit your
kong.conffile. Set the
declarative_configoption to the path of your
database = off declarative_config = /path/to/kong.yml
Note: When you start Kong, the Nginx master process runs as
rootand the worker processes as
kongby default. If this is not the desired behavior, you can switch the Nginx master process to run on the built-in
konguser or to a custom non-root user before starting Kong. For more information, see Running Kong as a Non-Root User.
$ kong start [-c /path/to/kong.conf]
Kong is running:
$ curl -i http://localhost:8001/
Quickly learn how to use Kong with the 5-minute Quickstart.
Get future release notes emailed to you.