安装 Kong
我机器是centos7故选centos 7 版本。
wget https://bintray.com/kong/kong-rpm/download_file?file_path=centos/7/kong-1.1.2.el7.noarch.rpm
当我用rpm安装的时候报了如下错误:
错误:db5 错误(11) 来自 dbenv->open:资源暂时不可用
根据此文《使用yum时报错》解决。继续:
rpm -ivh kong-1.1.2.el7.noarch.rpm
kong的config文件,在/etc/kong/下面。
kong start [-c kong.conf](可指定配置文件)
报错
kong start
Error: [PostgreSQL error] failed to retrieve server_version_num: connection refused
Run with --v (verbose) or --vv (debug) for more details
说明需要装个数据库。数据库可选用PostgreSQL或Cassandra。默认是PostgreSQL。一个集群中的机器连接一个PostgreSql(参见配置)
在这个页面https://www.postgresql.org/download/linux/redhat/ 选择你的版本进行安装。一路执行起来。
当我通过命令行链接PostgreSQL时。报如下错误。
psql: 致命错误: 角色 "root" 不存在
登录到psql。
sudo su - postgres
psql
建立好数据库。
CREATE USER kong; CREATE DATABASE kong OWNER kong;
执行迁移报如下错误。
[root@bogon kong]# kong migrations bootstrap --v
2019/05/06 11:13:06 [verbose] Kong: 1.1.2
2019/05/06 11:13:06 [verbose] no config file found at /etc/kong/kong.conf
2019/05/06 11:13:06 [verbose] no config file found at /etc/kong.conf
2019/05/06 11:13:06 [verbose] no config file, skip loading
2019/05/06 11:13:06 [verbose] prefix in use: /usr/local/kong
Error:
/usr/local/share/lua/5.1/kong/cmd/migrations.lua:91: [PostgreSQL error] failed to retrieve server_version_num: 致命错误: 用户 "kong" Ident 认证失败
stack traceback:
[C]: in function 'assert'
/usr/local/share/lua/5.1/kong/cmd/migrations.lua:91: in function 'cmd_exec'
/usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:88>
[C]: in function 'xpcall'
/usr/local/share/lua/5.1/kong/cmd/init.lua:88: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:45>
/usr/local/bin/kong:7: in function 'file_gen'
init_worker_by_lua:48: in function <init_worker_by_lua:46>
[C]: in function 'xpcall'
init_worker_by_lua:55: in function <init_worker_by_lua:53>
先看没有配置文件那个。我cp /etc/kong/kong.conf.default /etc/kong/kong.conf
。
在看lua报错那块。解决参考《【kong】kong migrationsで失敗する》
本机开启了认证,把ident改成trust。就OK了。
vim /var/lib/pgsql/11/data/pg_hba.conf
#host all all 127.0.0.1/32 ident
host all all 127.0.0.1/32 trust
[root@bogon kong]# kong start
2019/05/06 11:28:39 [warn] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"
Kong started
启动成功了。你可以把ulimit设置大点。ulimit -n 65535
curl -i http://localhost:8001/
安装 kong-dashboard
首先需要配置科学上网。然后才能npm。
当然你启动的时候,不要在你配置了export http_proxy跟export https_proxy的命令行启动。不然也会报其他错。
ok,排除上面的问题,遇到了下面的。
[root@bogon ~]# kong-dashboard start --kong-url http://kong:8001
Connecting to Kong on http://kong:8001 ...
Could not reach Kong on http://kong:8001
Error details:
{ Error: getaddrinfo ENOTFOUND kong kong:8001
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'kong',
host: 'kong',
port: '8001' }
我从这条issue https://github.com/Kong/kong/issues/3200 里面找到了启动方法。
kong-dashboard start --kong-url http://localhost:8001
OK,然后就可以访问了。
image.png但我觉得似乎KONGA更好点呢?https://pantsel.github.io/konga/
参考资料:
- 《使用yum时报错》https://blog.csdn.net/ys5773477/article/details/53814581
*《RPM安装命令总结》https://www.cnblogs.com/zqwang0929/p/3352237.html - 《PostgreSQL错误:致命:角色“username”不存在》https://codeday.me/bug/20170221/3052.html
- 《【kong】kong migrationsで失敗する》https://www.setouchino.cloud/blogs/96
网友评论