您的位置:首页 > 其它

API网关orange在ubuntu安装记录

2017-08-04 21:06 323 查看
最近出了点很特殊的状况,在家待业,每天宅在家里。这魔都天气也热,也没有出去逛逛,或许是因为人变得更懒了,这一晃也好多天过去了,也没得代码任务敲代码,三心二意,不知干点啥好。

这些天颓废的日子,总让我想起之前在学校时,想起以前每天大把的时间,专注地坐在寝室的小桌前,时常为了一个小小的功能而敲代码到凌晨一两点;时常因为发现了某某网站的漏洞且成功获得了webshell而欣喜若狂,激动地彻夜难眠;时常因为成功研究破解了某某系统某某功能而兴高采烈,活在自己的世界里,凭借着自己的想法想入非非;

而今,感觉完全没有了之前大学期间的斗志,或许是因为身边没有志同道合的小伙伴不能与我同肩作战,也或许是因为没有了大学时的那样可爱的室友为我出谋划策、加油打气。以前在寝室里敲代码时,室友们打游戏时的吵闹声再也没有了,有的只是窗外喧嚣的汽车轰隆与喇叭鸣笛。在这魔都,有的只是一个人对着电脑发呆,放着QQ音乐中熟悉的歌曲,但总感觉自己再不能融入到歌曲想要表达的曲调中了,好难好难。孤独感也突如其来,感觉到了前所未有的寂寥,特别是对于周末与每天下班后,这种感觉是那样的强烈。

以前在学校里时,总想着哪天哪天能早点毕业,将来出来后一定要干啥干啥的,现在真的毕业了,她还来得如此匆忙,我还没有做好万全的心理准备迈步迎接,她就悄无声息地化作两份证书来到了我的身旁,看着那两本证书,常常使我一脸蒙逼,傻不拉几地望着它俩。我也知道,我们回不去了,回不去那种无忧无虑的做一名学生的日子的高校生活。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

那天在一个微信公众号上,看见了一篇关于API Gateway的文章,文章上描述的是关于kong来实现的。之前工作时也曾想过把kong给部署起来跑跑看,由于时间紧张,那时没弄成功,没想到今天居然又在微信上看到了它。不行,微信上居然都把它给普及开了,看来我必须得要搞定它了。通过Docker和百度google后,终于还是搞定了它,初步用了下后,由于它没有UI界面,用起来感觉不咋顺畅。在搜索kong的过程中,无意间看到了一篇关于orange网关的文章,浏览了下,还带界面的,感觉顿时高大上,故在此决定一定要拿下它,把这个orange先部署起来再说。

下文为安装orange的主要步骤。

安装环境:ubuntu(在网上下的全新的ubuntu-16.04-desktop-amd64.iso镜像)

查看操作系统信息:

haiyang@ubuntu:~$ uname -a
Linux ubuntu 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
haiyang@ubuntu:~$

Orange是OpenResty的一个扩展模块,所以得先要安装OpenResty

主要参考centOs中orange的安装步骤

http://blog.csdn.net/freewebsys/article/details/60969384


OpenResty安装

参考:http://blog.csdn.net/sakurallj/article/details/51250093

注意:由于openResty是一个基于nginx+lua的WEB服务器,所以安装此软件的过程中也会将nginx一并安装好,配置时一定得要把http_stub_status_module模块加上,因为orange的启动脚本中要用到它



Orange插件安装前准备

lor安装

安装orange之前需要先lor框架

Lor是一个运行在OpenResty上的基于Lua编写的Web框架。Lor可用来编写HTTP API Server或是传统的web网站。

安装步骤和其它软件安装步骤一样,将源码clone下来后,直接编译安装即可

git clone https://github.com/sumory/lor cd lor
make install

orange源码准备

再将orange源码clone下来,先准备好

git clone https://github.com/sumory/orange


MariaDB安装

MariaDB是MySQL源代码的一个分支,跟mysql大致上是一样的

主要参考:http://blog.csdn.NET/chszs/article/details/47215275

之后操作如下内容:

mysql -u root

CREATE DATABASE orange CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'orange'@'%' IDENTIFIED BY 'orange';
GRANT ALL PRIVILEGES ON orange.* TO 'orange'@'%';
FLUSH PRIVILEGES;


完成orange数据库的创建与账号创建

然后导入orange的数据库数据脚本

mysql -u orange -porange orange < orange-v0.6.4.sql
其中orange-v0.6.4.sql指的是orange源码目录上install下的SQL文件,根据需要的安装的orange版本选择指定的

haiyang@ubuntu:~/Downloads/orange/install$ pwd
/home/haiyang/Downloads/orange/install
haiyang@ubuntu:~/Downloads/orange/install$ ll
total 116
drwxr-xr-x  2 root root  4096 Aug  2 05:00 ./
drwxr-xr-x 18 root root  4096 Aug  2 05:34 ../
-rw-r--r--  1 root root  4892 Aug  2 05:00 orange-v0.1.1.sql
-rw-r--r--  1 root root  4892 Aug  2 05:00 orange-v0.2.0.sql
-rw-r--r--  1 root root  5375 Aug  2 05:00 orange-v0.3.0.sql
-rw-r--r--  1 root root  6351 Aug  2 05:00 orange-v0.4.0.sql
-rw-r--r--  1 root root  6351 Aug  2 05:00 orange-v0.5.0.sql
-rw-r--r--  1 root root  6351 Aug  2 05:00 orange-v0.5.1.sql
-rw-r--r--  1 root root  8815 Aug  2 05:00 orange-v0.6.0.sql
-rw-r--r--  1 root root  9600 Aug  2 05:00 orange-v0.6.1.sql
-rw-r--r--  1 root root  9600 Aug  2 05:00 orange-v0.6.2.sql
-rw-r--r--  1 root root 10406 Aug  2 05:00 orange-v0.6.3.sql
-rw-r--r--  1 root root 10406 Aug  2 05:00 orange-v0.6.4.sql
haiyang@ubuntu:~/Downloads/orange/install$

Orange配置与启动

orange配置

orange的配置文件在orange的conf目录下,orange.conf即是
启动之前,可通过orange.conf对orange进行一些配置
"store": "mysql",
"store_mysql": {
"timeout": 5000,
"connect_config": {
"host": "127.0.0.1",
"port": 3306,
"database": "orange",
"user": "orange",
"password": "orange",
"max_packet_size": 1048576
},
"pool_config": {
"max_idle_timeout": 10000,
"pool_size": 3
},
"desc": "mysql configuration"
}

首次启动时,主要修改下数据库的连接信息即可

orange启动

执行start.sh脚本即可

root@ubuntu:/home/haiyang/Downloads/orange# sh start.sh

执行启动命令后,在浏览器打开localhost:9999,即进入orange的主页

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: