ubuntu下安裝kong
一,准備項
- ubuntu server 18+,聯網環境
- kong最新版本穩定版本
- postgresql安裝
- 使用安裝包安裝。
二,安裝步驟
1.安裝postgresql數據庫
2.初始化kong數據庫配置
// 進入postgres操作模式
sudo -u postgres psql
// 提示符變成: postgres=#
// 創建kong相關的用戶及數據庫
postgres=# create user kong with password 'kong';
CREATE ROLE
postgres=# CREATE DATABASE kong OWNER kong;
CREATE DATABASE
postgres=#
3.設置postgresql可以遠程訪問(生產環境可以考慮局域網環境訪問,設置postgresql服務器沒有對外公開IP)
// 1.修改監聽地址 這里需要看下postgresql的安裝版本,將適當填充{version},也可以使用ls /etc/postgresql 來查看具體的文件路徑
sudo gedit /etc/postgresql/{version}/main/postgresql.conf
// 2.修改可訪問用戶的IP段
sudo gedit /etc/postgresql/{version}/main/pg_hba.conf
// 在文件末尾 添加 host all all 0.0.0.0 0.0.0.0 md5 ,表示運行任何IP連接
// 3.重啟數據庫
sudo /etc/init.d/postgresql restart
4.使用navicat在postgresql服務器的局域網環境訪問,以驗證數據庫的局域網可訪問性
5.下載kong安裝包
// 1.選擇文件夾,可以默認在ubutun桌面上,使用wget下載安裝包
sudo wget https://bintray.com/kong/kong-deb/download_file?file_path=kong-2.0.4.xenial.amd64.deb -O kong-2.0.4.xenial.amd64.deb
6.安裝kong
// 1.安裝kong
sudo apt-get update
sudo apt-get install openssl libpcre3 procps perl
sudo dpkg -i kong-2.0.4.*.deb
// 2.查看kong版本看看是否安裝成功
sudo kong version
// 3.查看kong的默認安裝路徑
sudo ls /etc/kong
7.配置kong
// 1.從default復制一份配置文件
sudo cp /etc/kong/kong.conf.default /etc/kong/kong.conf
// 2.編輯kong.conf
sudo vim /etc/kong/kong.conf
// 修改admin_listen,修改http監聽地址為0.0.0.0:8001,https監聽地址為:0.0.0.0:8444
admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384
// 3.修改數據庫相關配置,賬號,密碼,庫名稱在裝postgresql時候已經指定
pg_host = 127.0.0.1 # Host of the Postgres server.
pg_port = 5432 # Port of the Postgres server.
#pg_timeout = 5000 # Defines the timeout (in ms), for connecting,
# reading and writing.
pg_user = kong # Postgres user.
pg_password = kong # Postgres user's password.
pg_database = kong # The database name to connect to.
// 4.初始化數據庫
kong migrations bootstrap -c /etc/kong/kong.conf
三,啟動
kong start -c /etc/kong/kong.conf --vv
四,防火牆設置
1.安裝firewall
// 1.下載安裝
sudo apt-get install firewalld
// 2.啟用防火牆
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --state
// 3.禁用ufw,本人用不習慣
sudo ufw disable
// 4.啟用http https 協議
sudo firewall-cmd --permanent --add-service={http,https} --permanent
// 5.開放postgresql數據庫端口
sudo firewall-cmd --add-port=5432/tcp --permanent
// 6.開放kong端口
sudo firewall-cmd --add-port=8000/tcp --permanent
sudo firewall-cmd --add-port=8001/tcp --permanent
sudo firewall-cmd --add-port=8443/tcp --permanent
sudo firewall-cmd --add-port=8444/tcp --permanent
sudo firewall-cmd --reload
五,檢驗kong是否正常和外部訪問性
// 局域網環境內運行如下命令,替換適當的{serverip}
$ curl -i http://{serverip}:8001/
六,配置自啟動腳本
// 1.添加服務腳本
sudo nano /etc/systemd/system/kong.service
// 2.編輯內容
[Unit]
Description=kong2.0.4
[Service]
Type=forking
ExecStart=/usr/local/bin/kong start -c /etc/kong/kong.conf
[Install]
WantedBy=multi-user.target
// 3.
sudo systemctl daemon-reload
sudo systemctl enable kong.service