integração Nginx e Tomcat

Nginx e integração tomcat

Um projeto para importação

1.nginx vantagens e características

nginx é um servidor de alto desempenho HTTP e proxy reverso, mas também um servidor IMAP / POP3 / SMTP proxy. Tem principalmente as seguintes vantagens

- 高并发连接: 
官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。
- 内存消耗少: 
在3万并发连接下,开启的10个Nginx 进程才消耗150M内(15M*10=150M)。
- 配置文件非常简单: 
风格跟程序一样通俗易懂。
- 成本低廉: 
Nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币。
- 支持Rewrite重写规则: 
能够根据域名、URL的不同,将 HTTP 请求分到不同的后端服务器群组。
- 内置的健康检查功能: 
如果 Nginx Proxy 后端的某台 Web 服务器宕机了,不会影响前端访问。
- 节省带宽: 
支持 GZIP 压缩,可以添加浏览器本地缓存的 Header 头。
- 稳定性高: 
用于反向代理,宕机的概率微乎其微

Devido ao bom desempenho nginx, tantas grandes empresas nacionais estão em uso, a principal razão é nginx é um livre de código aberto. Em adição a uma série de funções descritas acima, o projecto é utilizado principalmente nginx para atingir as três funções seguintes:

- 动静分离
- 反向代理
- 负载均衡
- 网页、图片缓存

1,2 carga nginx equilibrar Existem cinco estratégias principais

- 轮询(默认) 
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
- weight 
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
- ip_hash 
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
- fair(第三方) 
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
- url_hash(第三方) 
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

Em segundo lugar, instalar Nginx

yum -y install gcc gcc-c++ pcre-devel openssl-devel openssl wget
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx
make
make install

Em terceiro lugar, instalar o Tomcat

3.1 JDK instalar e ambiente de teste

[root@ c6s02 ~]# tail -5 /etc/profile
####java_env####
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

source /etc/profile

[root@ c6s02 ~]# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

Instalação Tomcat 3,2 (dois nós)

tar -zxvf apache-tomcat-7.0.47.tar.gz

#新建tomcat01项目
mkdir -p /opt/tomcat01
cp -a apache-tomcat-7.0.47/* /opt/tomcat01/

#新建tomcat02项目,并修改三处端口为18005,18080,18009
mkdir -p /opt/tomcat021
cp -a apache-tomcat-7.0.47/* /opt/tomcat02/

criar manualmente uma página de teste e teste

echo 'this is tomcat01' >/opt/tomcat01/webapps/ROOT/index.jsp
echo 'this is tomcat02' >/opt/tomcat02/webapps/ROOT/index.jsp
curl  10.0.0.22:8080/index.jsp
curl  10.0.0.22:18080/index.jsp

Em quarto lugar, através da combinação de Tomcat e Nginx

Instalar arquivo de configuração nginx e modificar Nignx

vim /usr/local/nginx/conf/nginx.conf

Adicionar o módulo de HTTP:

upstream tomcat {     #定义服务器组tomcat
    server 10.0.0.22:8080;    #定义后Tomcat端服务器
    server 10.0.0.22:18080;
}

No módulo de servidor para adicionar:

location ~ \.jsp$ {   #URL正则匹配,匹配jsp结尾的所有URL
	proxy_pass   http://tomcat;   #proxy_pass反向代理参数,将匹配到的请求反向代理到tomcat服务器组!
}

Aqui Insert Picture Descrição

Iniciar nginx e teste

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx

Aqui Insert Picture Descrição

5, Tomcat Performance Optimization

otimização de memória 5,1 tomcat

Linux Modificar TOMCAT_HOME / bin / catalina.sh, adicionado na parte dianteira do

JAVA_OPTS=" -server -Xms512m -Xmx512m -XX:PermSize=128mM -XX:MaxPermSize=1024m"

-server: Certifique-se como o primeiro parâmetro, o bom desempenho quando uma pluralidade dos CPU
-Xms: Montão tamanho inicial do heap, o uso de memória mínimo, valor alto desempenho da CPU deve ser definido como maior
-Xmx: máximo de heap java, a alocação de memória máxima acima do duas valores utilizados pela JVM é o mínimo e o máximo de memória, hardware, dependendo do tamanho da memória física, recomendações são fixadas em metade de memória física.
XX: PermSize: áreas de preservação permanente ajuste de memória
XX: MaxPermSize: definindo o máximo de memória da área de preservação permanente

otimização de rosca 5,2 tomcat

Objetivo: melhorar a concorrência

Modifique o server.xml tomcat arquivo de configuração

<Connector port="80" protocol="HTTP/1.1" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700"
connectionTimeout="20000" redirectPort="8443" />

maxThreads = "600" # número máximo de segmentos
minSpareThreads = número de threads criados quando "100" # Inicialização
maxSpareThreads = "500" # Depois de ter criado um fio mais do que este valor, Tomcat irá fechar os fios de soquete não são mais necessários.
acceptCount = "700" # Especificar Quando todos os pedidos podem ser processados utilizando o número de segmentos são utilizados, o número de pedidos pode ser colocada no processo de fila, mais do que o número do pedido não serão processados

5.3 Configurar o tempo de expiração da sessão

conf \ web.xml especificado pelos parâmetros:

<session-config>   
    <session-timeout>180</session-timeout>     
</session-config> 

Em questão de minutos.

Publicado 13 artigos originais · ganhou elogios 0 · Visualizações 224

Acho que você gosta

Origin blog.csdn.net/liuhuanboke/article/details/104893782
Recomendado
Clasificación