nginx+tomcat

tomcat:

1. tomcat安装启动的二个重要变量:JAVA_HOME和CATALINA_HOME

JAVA_HOME:让系统知道JAVA环境以及JAVA库文件位置

CATALINA_HOME:tomcat启动时需设置的tomcat目录变量

JAVA_HOME=/usr/java/jdk_xxxxx

PATH=$JAVA_HOME/bin:$PATH

2.可安装APR增强tomcat性能:tomcat-native.tar.gz(APR实现包)

解压tomcat-native包

./config --with-apr=/usr --with-ssl

make && make install


nginx:


1、apache 所有模块都支持动、静态编译,nginx模块都是静态编译,

2、nginx支持fcgi比apache好,

3、nginx支持epoll (linux)kqueue(BSD),apache不支持

4、nginx处理静态文件,索引文件效率非常高

5、nginx处理并发能力强

6、nginx由内核和模块组成,内核仅仅负责通过查找配置文件将客户端的请求映射到一个location block,而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作

7、nginx分为单工作进程和多工作进程,默认为单工作进程

8、支持rewrite重写规则,能够根据域名和URL的不同将HTTP分发到后端不同的服务器群组上

9、支持GZIP压缩,节省宽带!

安装nginx:

1、需提前安装gcc、openssl-devel、pcre-devel(支持http rewrite模块)、zlib-devel,另memcached是一个C/S架构缓存服务器,nginx如需使用它需开启他自身的memcached模块,PHP如需使用则需安装memcached的PHP客户端memcache,C语言的memcached客户端为libmemcache.

libevent也是一个nginx依赖的API编程库,(安装开发库默认会安装)它可以提升网络event事件等方面能力,如epoll

groupadd nginx

useradd -g nginx nginx

./configure --with-http_stub_status_module --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module


2、nginx配置文件  main指令位于最高层,在main层下面有events、http等层级,然后在http层级里又包含server层,即server block,server block中又分为location层,并且一个server block中可以包含多个location block

3、配置文件四个部分:main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)、location(URL匹配特定位置的设置)  

4、upstream是nginx http upstream模块,支持四种调度算法:轮询(默认)weight ip_hash fair url_hash  可以upstream模块中指定算法

5、在upstream模块的server命令后也可指定每个后端负载均衡服务器的状态:down backup max_fils  fail_timeout(当负载调度算法为ip_hash时,后端服务器在负载均衡中的状态不能是weight和backup)

6、启用了stub_status模块后可以通过http://ip/nginxstatus来查看nginx运行状态

7、fastcgi主要的优点就是把动态语言和http server分离开来,使http server专一处理静态请求和转发动态请求,fastcgi:spawn-fcgi与php-fpm 都是第三方的fastcgi进程管理器,http server都可通过他们来对PHP进行解析。推荐使用nginx+php+php-fpm来对php进行解析。

8、nginx不支持对外部的程序直接调用或解析,所有的外部程序(包括php)必须通过fastcgi接口来调用,


nginx性能优化:

1、编译安装过程优化,取消debug模式编译可以减小编译后的文件大小

2、添加GOOGLE的tcmalloc库优化nginx性能,TCMalloc在内存分配效率和速度上高很多,可以提高服务并发能力,安装google-perftools,(另64 位系统另需先安装libunwind库!)

3、nginx linux内核参数优化


如果是用于apache或nginx等web服务器,或者nginx的反向代理,一般可修改如下几个linux内核参数:

net.ipv4.tcp_tw_reuse = 1

表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

net.ipv4.tcp_tw_recycle = 1

表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.ip_local_port_range = 1024 65000

表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.tcp_syncookies=1  

增强抗syn flood能力 ,防范SYN攻击





nginx+tomcat整合: (1、动态页面和静态页面分离  2、多个tomcat负载均衡)

nginx处理静态html、css、图片、flash等文件,扩展名为.jsp\.do等文件请求,由nginx反向代理到tomcat处理,

或者直接定义一个虚拟主机,通过二个location指令分别指定nginx处理静态页面,tomcat处理.jsp/.do文件

upstream tomcat_server{

server 127.0.0.1:8080;

}

server

{

listen 80

server_name www.yourdomain.com;

index index.html index.htm index.jsp default.jsp index.do default.do;

root /data/www/htdocs


location ~ \.(jsp|jspx|do)?$ {  ##匹配以jsp等结尾的文件

proxy_pass http://tomcat_server;  ##nginx tomcat整合的时候设置jsp等转发到代理的tomcat去处理。
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;

}

}


nginx+keepalived +nginx/tomcat +mysql 复制

keepalived 安装配置:

./configure --prefix=/usr/local/keepalived

make && make install

下面为将keepalived做成服务模式,方便启动关闭

cp /usr/local/keepalived/sbin/keepalived /usr/sbin

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

配置文件:

mkdir /etc/keepalived

vim /etc/keepalived/keepalived.conf(上面做成服务模式用service启动关闭后,应在这里新建/etc/keepalived/keepalived.conf这个文件做配置文件,而不是使用原来keepalived安装目录conf下的keepalived.conf文件,应该cp过去再做修改)

主要修改参数:(主服务器)

vrrp_instance VI_1 {

    stat MASTER  ##从服务器设置为BACKUP

    interface eth0 ##网卡接口

    virtual_router_id 51

    mcast_src_ip 192.168.3.89  ##本地nginx IP地址

    priority 100  ##优先级 MASTER的优化先级应大于BACKUP的

    }

    virtual_ipaddress {

    192.168.3.23  ##keepalived虚拟出来的前端访问IP 主从服务器应设置为一样  

   {


你可能感兴趣的:(tomcat)