kong启动使用kong start命令,首先我们查找kong这个命令的地址:
vagrant@precise64:~$ which kong
/usr/local/bin/kong
进一步查看这个命令的内容:
vagrant@precise64:~$ cat /usr/local/bin/kong
#!/usr/bin/env /usr/local/openresty/bin/resty
require("kong.core.globalpatches")({cli = true})
-- force LuaSocket usage to resolve `/etc/hosts` until
-- supported by resty-cli.
-- See https://github.com/Mashape/kong/issues/1523
for _, namespace in ipairs({"cassandra", "pgmoon-mashape"}) do
local socket = require(namespace .. ".socket")
socket.force_luasocket(ngx.get_phase(), true)
end
require("kong.cmd.init")(arg)
最重要的的是最后一行【require("kong.cmd.init")(arg)】,kong.com.init这个文件在哪里呢?首先我们先看看LUA的环境变量:
vagrant@precise64:~$ echo $LUA_PATH
/plugin/?.lua;/plugin/?/init.lua;;
看看/plugin/路径下面是否存在:
vagrant@precise64:~$ ll /plugin/kong/cmd/init.lua
-rw-rw-r-- 1 vagrant vagrant 2252 Feb 27 02:26 /plugin/kong/cmd/init.lua
看样子我们是找到了,下面进入Kong的项目代码。