nginx反向代理和tomcat集群(适用于ubutnu16.04及其centos7)

 

下面示例,本人亲测有效

为什么要反向代理和集群?

因为并发问题,很多请求如果全部分发给一个tomcat,一个tomcat优化最好的话,据说可达到800负载,但是面对成千上万的请求,单单一个tomcat是不行的,不管是apr还是nio,面对高并发高负载时,采取Nginx反向代理策略是最好的。同时,也可以解决tomcat因为代码问题或者内存泄露而导致的宕机问题。

关于tomcat的安装和优化问题,本人博客中已经有,大家可以参考Ubuntu16.04之开发环境构建centos7之Java开发环境构建这两篇文章

一、nginx初步使用


1.安装前必先安装执行这些命令
apt-get install build-essential
apt-get install libtool
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev
apt-get install openssl

2.解压配置启动
wget http://nginx.org/download/nginx-1.4.2.tar.gz
tar -xzvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
./configure --prefix=/home/ubuntu1/nginx
make
make install

上述无报错的情况进入下一步

进入相关目录
cd /home/ubuntu1/nginx

启动nginx
./sbin/nginx
//启动成功的标志是没有任何提示,这时你可以通过ps -ef|grep nginx 查看是否有这个进程存在,如果存在表示成功,否则失败

通常问题:
由于服务器安装的apache或者tomcat端口为80,通常会报错,错误信息就是说端口被占用,不能使用。
nginx默认端口为80.
这时你通过lsof -i 80 将对应端口进程杀死或者通过进入nginx/conf/修改nginx.conf配置文件中的端口解决该问题


3.可以更换nginx欢迎页
可以将nginx的欢迎页改成自己的个性化页面,比如自己网站的介绍等
进入 home/ubuntu1/nginx/html目录下,将index.html换成自己的页面


二、nginx做反向代理,tomcat集群

前提安装两个tomcat

修改nginx.conf配置文件:


#user nobody;
worker_processes 2;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 2048;
}


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;
tcp_nodelay on;
#keepalive_timeout 0;
keepalive_timeout 65;

gzip on;
upstream tomcat_server{
server 192.168.126.128:8080;
server 192.168.126.128:8090;

}


server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

proxy_pass http://tomcat_server;
root home/ubuntu1/tomcat_001/webapps/index.html;
# index index.html index.htm;
}

 

posted @ 2018-06-02 18:23  挑战者V  阅读(260)  评论(0编辑  收藏  举报