页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 3 下一个 »

概述

指南入门

本指南帮助Smartbi使用人员学习tomcat +nginx集群部署的过程,并加深了解队nginx强大功能的了解及各项调优。
使用下表快速访问nginx安装配置指南

若要了解

请参见

安装摘要

主要讲解安装的概要过程及注意事项;

Nginx+tomcat安装

讲述Nginx+tomcat的安装流程;

安装之前

讲述在安装之前环境的检查及配置;

安装NGINX

讲述安装NGINX的具体步骤;

Tomcat部署

讲述Tomcat部署的具体步骤;

Nginx配置

讲述Nginx的配置相关

Tomcat配置

讲述Tomcat配置相关

对读者的要求

本指南的操作对象为安装配置管理员,必须具备以下条件:

  1. 基础的Linux基本命令操作;
  2. Linux 操作系统的环境配置的熟悉;
  3. 熟悉应用服务器的安装和部署;

文档规范

下列规范用于在集群安装配置指南中区分文本元素

规范

用于

粗体

加粗表示按钮名,如:单击 确定 按钮

尖括号

带尖括号表示路径、字符串中的参数

标志

采用醒目标志来表示在操作过程中应该特别注意的地方

注意:提醒操作中应该注意的事项
说明:对操作内容的描述进行必要的补充和说明

安装摘要

安装摘要

这里指介绍在Linux环境下部署,只支持手动安装;
具体的安装包在下文的安装部署过程中会给出相应下载地址,通过安装nginx集群和tomcat,并进行相关的参数配置,实现负载均衡;集群服务器上同时也可以当应用服务器使用,让服务器性能最大化,tomcat作为应用服务器,把smartbi包部署在相应的文件下,启动应用服务器,通过配置知识库和license后登陆使用。
要成功的使用nginx,请关注如下步骤:

  1. 建议使用的Linux操作系统为centos 6以上,因为支持在线yum功能,在线直接安装完成;
  2. 安装必要的依赖包,比如gcc,g++等等;
  3. 检查防火墙,因为linux的防火墙是默认开启的,需要开放相应的端口才能允许外部访问;

系统要求

在linux 上安装 nginx+tomcat集群,建议集群服务器和应用服务器系统满足如下:

组件

要求

处理器

处理器推荐4CPU以上

内存

内存最低4G

磁盘空间

1GB

操作系统

下列操作系统之一:

  • Linux

网络连接

TCP/IP

应用服务器

下列服务器之一:

  • Tomcat 7

关系数据库服务器

下列关系库之一:

  • Microsoft SQL Server
  • DB2
  • Oracle
  • Informix
  • Sybase
  • Teradata
  • MySQL
  • KingbaseES
  • PostgreSQL
  • Greenplum


Nginx+tomcat安装

具体的流程如下:
登陆使用Tomcat配置Nginx配置Tomcat安装部署Nginx安装部署


本章将向您讲述将Nginx和Tomcat所需要的信息和步骤;

安装之前

在安装部署之前,请仔细阅读一下几点说明:

  1. 检查要启动的集群服务器和应用服务器所需要的端口是否被服务器其他应用所占用,这回导致启动失败;
  2. 是否有相对应的本级域名映射,如果没有可在服务器的hosts里面添加;

 

安装NGINX

 本次方案是在centos 6 64位操作系统中进行,建议操作系统一致;

1.登陆系统;

这里借助的远程操作工具Xmanager,功能成熟与强大;

使用Xshell 登陆到系统之后,进入命令行操作界面;

2.切换用户;

`

3.创建nginx文件夹;

进入到/usr/local 目录下并创建nginx目录,用于保存nginx 文件及安装相关的文件;
 Cd / (进入到哪个目录)
 Mkdir 文件名 (创建某个文件夹,该命令用于创建文件夹,不是文件,请注意)
 Ls (查询当前目录下存在的文件夹及文件)
 Ll (用于查看文件夹及文件所属类型,可执行操作及所属用户等)

4.下载nginx安装包;

创建完成之后,进入nginx目录并获取nginx安装文件
wget http://nginx.org/download/nginx-1.10.2.tar.gz

5.查看并解压文件;

 tar –zxvf 文件名称(解压文件名为XXX的压缩文件)

6.添加用户;

 useradd 用户名称 (添加一个用户)
这里添加一个名为www的用户;

创建完毕

7.yum依赖包;

 yum install xxx (在线yum安装依赖包,简单快速方便)
也有本地离线yum,这里只介绍在线yum;
yum -y install pcre-devel openssl openssl-devel
安装g++:
yum install gcc gcc-c++
这个步骤是为了安装nginx时的编译正常,缺少该步骤或者缺少所需的依赖包会导致安装异常;



到此,依赖包安装成功;

8.安装编译nginx;

进入nginx-1.10.2
./configure -user=www group=www -prefix=/usr/local/nginx (该命令的意思是安装的文件所属用户及群为www,安装在/usr/local/nginx目录下)


make && make install (编译程序)
Nginx安装完毕!

9.测试nginx安装程序是否正常;

/usr/local/nginx/sbin/nginx -t

在浏览器上输入IP

如显示如上,证明nginx已成功安装;

Tomcat部署

1.创建smartbi目录

进入/usr/local目录下创建smartbi目录;

2.下载tomcat 7

进入smartbi目录并下载tomcat 7;
在apache官网下载 http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.34/bin/apache-tomcat-7.0.34.tar.gz

3.上传tomcat 7

上传tomcat 7到目标计算机上,借助xftp进行文件的传输;

4.查看和解压文件

查看文件并解压文件;
Ls 查看与 tar –zxvf 解压

5.修改文件

修改<Tomcat>\conf\server.xml文件
命令: vim -修改文件
退出不保存:esc键后输:q
强制退出:esc键后输:q!
保存退出:esc键后输:wq!
允许输入内容:直接输入字母i

查找<Engine name="Catalina" defaultHost="localhost" >标签,在其中加上jvmRoute="tomcat1"属性。
注意:每个服务器上的 tomcat 都要修改,并且必须保证每个Server都使用不相同的值,不允许多个服务器使用相同的 jvmRoute 值。
找到之后,点击字母i允许输入:

修改完成之后保存!

6.下载jdk

在oracle官网下载64位的jdk 安装包
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html?ssSourceSiteId=otncn#jdk-7u79-oth-JPR

7.上传jdk和解压

上传jdk到指定目录/smartbi并解压文件
使用tar -zxvf jdk-7u79-linux-x64.gz 解压jdk

8.修改环境变量

修改/etc/profile 文件内容,使用vim /etc/profile命令
配置java路径和一些java虚拟机参数
添加
export JAVA_HOME=/usr/local/smartbi/jdk1.7.0_79
export JAVA_OPTS="$JAVA_OPTS -Xms2048m -Xmx2048m -XX:MaxNewSize=256m -XX:MaxPermSize=512m"
export JRE_HOME=/usr/local/smartbi/jdk1.7.0_79/jre
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
加载使其生效;命令为source /etc/profile
Java –version查看生效情况;

成功!

9.让tomcat 和jdk文件授予可读可写可执行的权限


10.修改war包

将smartbi.war\WEB-INF\ehcache.xml 文件删除;然后将smartbi.war\WEB-INF\ehcache_cluster.xml 文件重命名为 ehcache.xml。

11.上传smartbi

将修改后的 smartbi.war 包复制到每个<Tomcat>\webapps 目录下
同理借助xftp将smartbi.war上传就可以

12.启动tomcat

进入到apache-tomcat-7.0.34/bin目录下,执行./startup.sh启动 tomcat 程序
命令:./startup.sh (启动这个文件)

查看端口进程:lsof –i:8080

成功!

13.登录smartbi 配置页面

http://ip:8080/smartbi

设置知识库信息,上传License文件,完成系统配置。
注意:所有服务器节点必须连同一个知识库,这样才能在连接到任一节点时都看到相同的资源。

这里信息要全部一致。

14.同个服务器部署说明;

同理,在同个服务器上部署tomcat可以按照上面tomcat部署步骤安装,但是下面几点需要修改;
a. 修改<Tomcat>\conf\server.xml文件。查找<Engine name="Catalina" defaultHost="localhost" >标签,添加 jvmRoute="tomcatX"
b.修改端口;
第一个修改的端口:

第二个修改的端口:

第三个修改的端口:

确保了这三个端口修改了,另外的tomcat才能正常启动,避免冲突;

Nginx配置

1.proxy.conf

在conf文件夹下新建proxy.conf文件并加入如下代码
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
roxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

2.gzip.conf

在conf文件夹下新建gzip.conf文件并加入如下代码
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/cssapplication.x-javascript;

3.nginx.conf

打开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" '

  1. '$status $body_bytes_sent "$http_referer" '
  2. '"$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;
    index index.html index.htm;
    }
    #error_page 404 /404.html;
  3. redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
  4. proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
  5. proxy_pass http://127.0.0.1;
    #}
  6. pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
  7. root html;
  8. fastcgi_pass 127.0.0.1:9000;
  9. fastcgi_index index.php;
  10. fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  11. include fastcgi_params;
    #}
  12. deny access to .htaccess files, if Apache's document root
  13. concurs with nginx's one
    #
    #location ~ /\.ht {
  14. deny all;
    #}
    }
  15. another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
  16. listen 8000;
  17. listen somename:8080;
  18. server_name somename alias another.alias;
  19. location / {
  20. root html;
  21. index index.html index.htm;
  22. }
    #}
  23. upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表 示权值,权值越高被分配到的几率越大,此处为配置权值,默认为轮巡方式。
    upstream localhost {
    ip_hash;
    server 192.168.1.160:8080 weight=1; #server {ip}:{prot} [weight];
    server 192.168.1.160:8081 weight=1;
    server 192.168.1.161:8080 weight=1;
    }
    server {
    listen 80; #nginx监听端口
    server_name 192.168.1.161; #nginx服务名
    location / {
    proxy_connect_timeout 3;
    proxy_send_timeout 30;
    proxy_read_timeout 30;
    proxy_pass http://localhost; #nginx监听地址
    }
    }
  24. HTTPS server
    #
    #server {
  25. listen 443 ssl;
  26. server_name localhost;
  27. ssl_certificate cert.pem;
  28. ssl_certificate_key cert.key;
  29. ssl_session_cache shared:SSL:1m;
  30. ssl_session_timeout 5m;
  31. ssl_ciphers HIGH:!aNULL:!MD5;
  32. ssl_prefer_server_ciphers on;
  33. location / {
  34. root html;
  35. index index.html index.htm;
  36. }
    #}
    }
    这里使用ip_hash 权重分配模式每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,对于到smartbi产品的session会话,采取该种权重分配较为合适;

    4.测试配置文件是否通过

    /usr/local/nginx/sbin/nginx -t

    测试通过!

    5.重启nginx

    cd /usr/local/nginx/sbin
    ./nginx -s reload

    6.输入IP测试默认端口为80

    进入tomcat主页面

    Tomcat配置

    配置IP:端口访问;

    1.修改文件

    修改conf/server.xml文件
    添加如下内容:
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="/" reloadable="true" docBase="/usr/local/smartbi/tomcat1/smartbi">
    <Manager className="org.apache.catalina.session.StandardManager" pathname=""/>
    </Context>

    2.移动应用包

    把smartbi应用包移动到 tomcat目录下
    mv smartbi /usr/local/smartbi/tomcat1

    3.重新启动应用

    Cd /usr/local/smartbi/tomcat1/bin
    ./shutdown.sh 关闭
    ./startup.sh 启动

    4.访问

    输入IP: 端口即可访问,不需要加项目名;
  • 无标签