Maison > Opération et maintenance > Nginx > Comment configurer l'environnement côté serveur de Nginx+Tomcat

Comment configurer l'environnement côté serveur de Nginx+Tomcat

WBOY
Libérer: 2023-05-13 19:58:04
avant
818 Les gens l'ont consulté

1. Installation de Java jdk :

#Téléchargez le package logiciel jdk correspondant, puis décompressez-le et installez-le. Le nom du package ici est : jdk-7u25-linux-x64.tar.gz

tar -xzf jdk-7u25-linux-x64.tar.gz ;mkdir -p /usr/java/ ;mv jdk1.7.0_25/ /usr/java/ 下.
Copier après la connexion


. #Ensuite, configurez les variables d'environnement, afin que jdk puisse être référencé n'importe où, configurez comme suit :

#vi /etc/profile Enfin ajoutez l'instruction suivante :

export java_home=/usr/java/jdk1.7.0_25 
 
export classpath=$classpath:$java_home/lib:$java_home/jre/lib 
 
export path=$java_home/bin:$java_home/jre/bin:$path:$homr/bin
Copier après la connexion


#source /etc/profile #Créez les variables d'environnement prend effet immédiatement

#java -- version #Vérifiez la version java Si vous voyez la version jdk1.7.0_25, cela signifie que le jdk java est installé avec succès.
2. Installation de nginx :

wget http://nginx.org/download/nginx-1.2.6.tar.gz 
 
useradd www 
 
tar zxvf nginx-1.2.6.tar.gz 
 
cd nginx-1.2.6/ 
 
./configure --user=www --group=www --prefix=/usr/local/nginx 
 \--with-http_stub_status_module --with-http_ssl_module 
 
make && make install
Copier après la connexion


#nginx est installé, puis utilisez la commande :/usr/local/nginx/sbin/nginx -t pour tester ok, ce qui signifie que nginx est installé avec succès.

/usr/local/nginx/sbin/nginx Appuyez sur Entrée pour démarrer nginx. Vous pouvez voir la page par défaut de nginx en visitant http://ip/.
3. Installation de Tomcat :

#Téléchargez Tomcat 6.0.30 ou d'autres versions depuis le site officiel :

cd /usr/src && tar xzf apache-tomcat-6.0.30.tar.gz
Copier après la connexion


#Vous pouvez l'utiliser en décompressant directement une fois la décompression terminée, copiez deux Tomcat en même temps. time et nommez-les tomcat1 tomcat2

mv apache-tomcat-6.0.30 /usr/local/tomcat1 
 
cp /usr/local/tomcat1 /usr/local/tomcat2 -r
Copier après la connexion


#Modifiez respectivement les ports tomcat1 et tomcat2 Il y a trois ports qui doivent être modifiés, comme suit :

port d'arrêt : 8005 Principalement responsable du démarrage et de l'arrêt

ajp. port : 8009 Principalement responsable de l'équilibrage via ajp (couramment utilisé pour l'intégration apache et tomcat)

port http : 8080 est directement accessible via la page Web (intégration nginx+tomcata)

#Remarque* Si les trois ports de tomcat1 sont : 8005 8009 8080, alors le port tomcat2 sera +1 sur cette base, soit pour : 8006 8010 8081

#Sur un serveur, le port ne peut pas être répété, sinon une erreur sera signalée.

#Après avoir modifié le port, démarrez deux tomcats. La commande de démarrage est :

#Comment indiquer qu'il n'y a pas de fichier de ce type ou que les autorisations sont insuffisantes. Vous devez accorder des autorisations d'exécution au fichier sh dans le répertoire bin de tomcat. : chmod o+x *.sh

/usr/local/tomcat1/bin/startup.sh 
 
/usr/local/tomcat2/bin/startup.sh
Copier après la connexion


#Après le démarrage, utilisez netstat -tnl pour voir 6 ports, ce qui signifie que tomcat1 tomcat2 a démarré avec succès. Vous pouvez utiliser http://ip:8080 http://ip:8081 pour accéder à la page par défaut de Tomcat.
#Si vous devez modifier le répertoire de version de Tomcat vers votre propre répertoire, vous devez effectuer les ajustements suivants et créer deux répertoires de version :

mkdir -p /usr/webapps/{www1,www2}
Copier après la connexion

Modifiez vi /usr/local/tomcat1/conf/server.xml avant le dernier < ;/host> Ajoutez le contenu suivant sur une ligne :

<context path="" docbase="/usr/webapps/www1" reloadable="false"/>
Copier après la connexion

Edit vi /usr/local/tomcat2/conf/server.xml et ajoutez le contenu suivant dans la dernière ligne avant  :

<context path="" docbase="/usr/webapps/www2" reloadable="false"/>
Copier après la connexion

tomcat1 publie le contenu du répertoire :

<html> 
<body> 
<h1>tomcat_1 jsp test page</h1> 
<%=new java.util.date()%> 
</body> 
</html>
Copier après la connexion

tomcat2 publie le contenu du répertoire :

<html> 
<body> 
<h1>tomcat_2 jsp test page</h1> 
<%=new java.util.date()%> 
</body> 
</html>
Copier après la connexion

Puis visitez http://ip:8080, 8081 pour voir le contenu du test.

4. Intégration nginx+tomcat :

L'intégration consiste principalement à modifier la configuration de nginx.conf et à donner une configuration en ligne complète de nginx.conf. Certains paramètres peuvent être modifiés en fonction des besoins réels :

user www www; 
worker_processes 8; 
pid /usr/local/nginx/nginx.pid; 
worker_rlimit_nofile 102400; 
events 
{ 
use epoll; 
worker_connections 102400; 
} 
http 
{ 
 include  mime.types; 
 default_type application/octet-stream; 
 fastcgi_intercept_errors on; 
 charset utf-8; 
 server_names_hash_bucket_size 128; 
 client_header_buffer_size 4k; 
 large_client_header_buffers 4 32k; 
 client_max_body_size 300m; 
 sendfile on; 
 tcp_nopush  on; 
  
 keepalive_timeout 60; 
  
 tcp_nodelay on; 
 client_body_buffer_size 512k; 
 
 proxy_connect_timeout 5; 
 proxy_read_timeout  60; 
 proxy_send_timeout  5; 
 proxy_buffer_size  16k; 
 proxy_buffers   4 64k; 
 proxy_busy_buffers_size 128k; 
 proxy_temp_file_write_size 128k; 
  
 gzip on; 
 gzip_min_length 1k; 
 gzip_buffers  4 16k; 
 gzip_http_version 1.1; 
 gzip_comp_level 2; 
 gzip_types  text/plain application/x-javascript text/css application/xml; 
 gzip_vary on; 
  
###2012-12-19 change nginx logs 
log_format main &#39;$http_x_forwarded_for - $remote_user [$time_local] "$request" &#39; 
    &#39;$status $body_bytes_sent "$http_referer" &#39; 
    &#39;"$http_user_agent" $request_time $remote_addr&#39;; 
     
upstream web_app { 
 server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s; 
 server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s; 
} 
 
####chinaapp.sinaapp.com 
server { 
 listen 80; 
 server_name chinaapp.sinaapp.com; 
 index index.jsp index.html index.htm; 
 #发布目录/data/www 
 root /data/www; 
  
 location / 
 { 
 proxy_next_upstream http_502 http_504 error timeout invalid_header; 
 proxy_set_header host $host; 
 proxy_set_header x-real-ip $remote_addr; 
 proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; 
 proxy_pass http://web_app; 
 expires  3d; 
 } 
  
 } 
 
}
Copier après la connexion

#Note* serveur. section La web_app définie par proxy_pass doit être cohérente avec la web_app définie en amont, sinon le serveur ne peut pas trouver l'équilibre.​

# Comme configuré ci-dessus, la configuration de l'équilibrage de charge du proxy inverse nginx+tomcat est terminée. Si vous souhaitez séparer dynamique et statique, il vous suffit d'ajouter la configuration suivante à nginx et tout ira bien.

#Configuration de la séparation dynamique et statique de nginx

location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ 
 
{ 
 
root /data/www; 
 
#expires定义用户浏览器缓存的时间为3天,如果静态页面不常更新,可以设置更长,这样可以节省带宽和缓解服务器的压力 
 
expires  3d; 
 
}
Copier après la connexion

5 Activez la surveillance nginx
1), surveillance simple de l'état de nginx

Ajoutez le code suivant dans nginx.conf pour surveiller l'état actuel de nginx, puis visitez http : //serverip/status est accessible

location /status {
stub_status on;
access_log off;
}
Copier après la connexion
Copier après la connexion

généralement affiché comme

active connections: 16 
server accepts handled requests
191226 191226 305915 
reading: 0 writing: 1 waiting: 15
Copier après la connexion

connexions actives : le nombre de connexions actives initiées vers le backend.

le serveur accepte les requêtes traitées : nginx a traité un total de 24 connexions et a été créé avec succès 24 poignées de main (prouvant qu'il n'y a pas eu d'échec au milieu), un total de 129 requêtes ont été traitées

lecture : le nombre d'informations d'en-tête que nginx a lues auprès du client

écriture : le nombre d'informations d'en-tête que nginx a renvoyées au client. client.

waiting : Keep-alive est activé Dans ce cas, cette valeur est égale à active - (lecture + écriture), ce qui signifie que nginx a terminé le traitement et attend la prochaine demande de connexion résidente
Remarque. que ce module ne sera pas compilé dans nginx par défaut. Si vous souhaitez utiliser ce module, vous devez préciser lors de la compilation et de l'installation de nginx :

 ./configure –with-http_stub_status_module
Copier après la connexion

Vérifiez si le nginx installé contient le module stub_status

 #/usr/local/nginx/sbin/nginx -v
Copier après la connexion
tls sni support disabled
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-file-aio --with-http_ssl_module
Copier après la connexion


2) , nginx Graphical Monitoring-nginx-rrd stats

nginx-rrd est un outil de surveillance nginx officiellement recommandé par nginx, nginx-rrd peut être utilisé pour générer facilement des graphiques que nous pouvons visualiser.
a. Environnement d'exploitation (centos) :

在安装前需要安装好rrdtool这个画图工具和相应的perl模块,可以先运行:

yum install rrdtool libhtml-parser-perl libwww-perl librrds-perl librrd2-dev
Copier après la connexion

确保rrdtool和相应的perl被安装上。

b、安装配置

下载:

wget http://soft.vpser.net/status/nginx-rrd/nginx-rrd-0.1.4.tgz
Copier après la connexion

解压:

tar zxvf nginx-rrd-0.1.4.tgz
Copier après la connexion

进入nginx-rrd目录,

cd nginx-rrd-0.1.4/
Copier après la connexion

复制主程序:

cp usr/sbin/* /usr/sbin
Copier après la connexion

复制配置文件

cp etc/nginx-rrd.conf /etc
Copier après la connexion

复制定时执行文件:

cp etc/cron.d/nginx-rrd.cron /etc/cron.d
Copier après la connexion

创建nginx-rrd生成目录:

mkdir /home/wwwroot/nginx && mkdir /home/wwwroot/nginx/rrd

cp html/index.php /home/wwwroot/nginx
Copier après la connexion

编辑/home/wwwroot/nginx/index.php修改登录密码

<?php
header("content-type: text/html; charset=utf-8");

$password = "admin"; 

.........
Copier après la connexion

编辑配置文件nginx-rrd.conf,修改完成后如下:

#####################################################
#
# dir where rrd databases are stored
rrd_dir="/home/wwwroot/nginx-rrd/";
# dir where png images are presented
www_dir="/home/wwwroot/nginx/";
# process nice level
nice_level="-19";
# bin dir
bin_dir="/usr/sbin";
# servers to test
# server_utl;server_name
servers_url="http://127.0.0.1/status;127.0.0.1"
Copier après la connexion

多个server,可以servers_url中空格分开,前部分为nginx_status的地址,后面为被监控主机的域名。

severs_url 格式

注意,nginx.conf虚拟主机server{}中,需要已经加入:

location /status {
stub_status on;
access_log off;
}
Copier après la connexion
Copier après la connexion

以上设置就完成,可以自行运行一下:/usr/sbin/nginx-collect ,启动收集程序。cron会15分钟生成一次数据。

如果没有定时执行生成数据,可以在/etc/crontab最后面加上:

* * * * * root /usr/sbin/nginx-collect
*/15 * * * * root /usr/sbin/nginx-graph
Copier après la connexion

然后输入然后访问http://serverip/nginx/即可访问。

Comment configurer lenvironnement côté serveur de Nginx+Tomcat

6、开启tomcat的监控

1)、tomcat6的配置

修改tomcat/conftomcat-users.xml文件中节点之前添加如下代码即可。

 <user username="admin" password="admin" roles="manager"/>
Copier après la connexion

然后输入然后访问http://serverip:8080/manager/status即可访问。

2)tomcat7的配置

修改tomcat/conftomcat-users.xml文件中节点之前添加如下代码即可。

<role rolename="manager-gui"/>
<user username="tomcat" admin="admin" roles="manager-gui"/>
Copier après la connexion

然后输入然后访问http://serverip:8080/manager/status即可访问。

Comment configurer lenvironnement côté serveur de Nginx+Tomcat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal