你的位置:首页 > 数据库

[数据库]在 CentOS/Linux 把 Kibana 3.0 部署在 Nginx 1.9.12


上一篇文章《安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0》,介绍了如何安装 Logstash、Elasticsearch 以及用 Python 的 SimpleHTTPServer 模块部署 Kibana。

本文介绍如何在 Linux 上把 Kibana 部署在 Nginx。

假设,我机器 IP 是 10.1.8.166,Kibana 和 Nginx 都安装在这个机器上。

  • 下载 Nginx。下载 Nginx,并上传到你的服务器上,我放在 /usr/local/src/nginx。
  • 解压 Nginx。
[root@vcyber nginx]# pwd
 
/usr/local/src/nginx
 
[root@vcyber nginx-1.9.12]# tar -zxvf nginx-1.5.9.tar.gz 
 
[root@vcyber nginx]# ls
 
nginx-1.9.12 nginx-1.9.12.tar.gz
 
[root@vcyber nginx]#


  • 配置 Nginx。指定把 Nginx 安装到 /usr/local/nginx。
[root@vcyber nginx]# cd nginx-1.9.12
 
[root@vcyber nginx-1.9.12]# ls
 
auto   CHANGES.ru configure html   Makefile objs  src
 
CHANGES conf    contrib  LICENSE man    README
 
[root@vcyber nginx-1.9.12]# ./configure --prefix=/usr/local/nginx
 
checking for OS
 
 + Linux 2.6.32-504.23.4.el6.x86_64 x86_64
 
checking for C compiler ... found
 
 + using GNU C compiler
 
 + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
 
checking for gcc -pipe switch ... found
 
checking for -Wl,-E switch ... found
 
checking for gcc builtin atomic operations ... found
 
checking for C99 variadic macros ... found
 
checking for gcc variadic macros ... found
 
checking for gcc builtin 64 bit byteswap ... found
 
checking for unistd.h ... found
 
……
 
./configure: error: the HTTP rewrite module requires the PCRE library.
 
You can either disable the module by using --without-http_rewrite_module
 
option, or install the PCRE library into the system, or build the PCRE library
 
statically from the source with nginx by using --with-pcre=<;path> option.
 
[root@vcyber nginx-1.9.12]#


具体配置参数,参看 http://nginx.org/en/linux_packages.html

报错了~说,HTTP rewrite 模块需要 PCRE 库。安装一个就行。Nginx 至少依赖三个你可能没有的库(其他的,Linux 系统自带),因为我机器用了有段时间,也懒得看是否有,总之,没有再安装。

  • 安装 PCRE 库。
[root@vcyber bin]# yum -y install pcre-devel
 
Loaded plugins: fastestmirror
 
Setting up Install Process
 
Loading mirror speeds from cached hostfile
 
 * base: mirrors.yun-idc.com
 
 * epel: mirrors.yun-idc.com
 
 * extras: mirrors.yun-idc.com
 
 * updates: mirrors.yun-idc.com
 
Resolving Dependencies
 
-->; Running transaction check
 
--->; Package pcre-devel.x86_64 0:7.8-7.el6 will be installed
 
-->; Finished Dependency Resolution
 
……
 
Complete!
 
[root@vcyber bin]#


Nginx 除了依赖 PCRE 库,还有 openssl、openssl-devel、zlib。如果你的机器上没有,就用 yum 安装一下。

  • 再试一次
[root@vcyber nginx-1.9.12]# ls
auto   CHANGES.ru configure html   Makefile objs  src
CHANGES conf    contrib  LICENSE man    README
[root@vcyber nginx-1.9.12]# ./configure --prefix=/usr/local/nginx
checking for OS
 + Linux 2.6.32-504.23.4.el6.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
checking for gcc -pipe switch ... found
……
 
Configuration summary
 + using system PCRE library
 + OpenSSL library is not used
 + md5: using system crypto library
 + sha1: using system crypto library
 + using system zlib library
 
 nginx path prefix: "/usr/local/nginx"
 ……
 
[root@vcyber nginx-1.9.12]#


这次成功了~

  • 编译安装 Nginx。
[root@vcyber nginx-1.9.12]# make & make install


  • 检查是否安装成功。
[root@vcyber sbin]# pwd
 
/usr/local/nginx/sbin
 
[root@vcyber sbin]# ./nginx -t
 
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
 
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
 
[root@vcyber sbin]#


显示,OK 和 successful。

  • 启动 Nginx
[root@vcyber sbin]# ./nginx
 
[root@vcyber sbin]#


在浏览器地址栏输入,访问80端口,

2016-03-14_161825

  • 把 Kibana 部署到 Nginx。

其实,很简单~只需要修改 Nginx 配置 nginx.conf 的 server 小节即可。下面配置文件,是截取,并不完整。

[root@vcyber conf]# pwd
/usr/local/nginx/conf
[root@vcyber conf]# cat nginx.conf
 
#user nobody;
worker_processes 1;
 
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
  
#pid    logs/nginx.pid;
 
 
events {
  worker_connections 1024;
}
 
 
http {
  include    mime.types;
  default_type application/octet-stream;
 
  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  #         '$status $body_bytes_sent "$http_referer" '
  #         '"$http_user_agent" "$http_x_forwarded_for"';
  
  #access_log logs/access.log main;
 
  sendfile    on;
  #tcp_nopush   on;
 
  #keepalive_timeout 0;
  keepalive_timeout 65;
 
  #gzip on;
  
  server {
    listen    80;
    server_name localhost;
 
    #charset koi8-r;
  
    #access_log logs/host.access.log main;
 
    location / {
      #root  html;
      root /usr/local/kibana/kibana-3.0/src;
      index index.html index.htm;
    }
    ……
  }
 
  ……
}
[root@vcyber conf]#


server.location 下的 root,指向你 Kibana 的位置,必须是 Kibana 的 src 位置。