下面示例,本人亲测有效

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

因为并发问题,很多请求如果全部分发给一个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;
}

nginx反向代理和tomcat集群(适用于ubutnu16.04及其centos7)的更多相关文章

  1. 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度

    碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1.在移动机房放置一台nginx反向代理服务器2.通过域名DNS智能解析,所有移动用户访问www.osyunwei.co ...

  2. 161028、Nginx负载均衡实现tomcat集群方案简要小结

    重点两部分:一.负载均衡二.tomcat集群 所谓tomcat集群,就是可以向外提供并行服务的多台机器,任何一台服务器宕机,其它服务器可以替代它向外提供服务,而不影响用户访问. Nginx是一个常用的 ...

  3. 使用Nginx实现负载均衡(tomcat集群之后实现交叉访问)

    tomcat集群(多一台服务器),使用nginx实现负载均衡(upstream sina中配置即可):使用上次博客中的sina案例 1.首先再加一个tomcat服务: 2.修改server.xml配置 ...

  4. Apache反向代理结合Tomcat集群来实现负载均衡(一)、概念理解

    好的博文一般都能做到"望题知文",看下标题就知道下边要讲的内容,写这个标题时犹豫了一下,本来要将标题定位apache+tomcat实现负载均衡,但是又认为这样显得比較模糊.后来想了 ...

  5. Centos 7.6配置nginx反向代理负载均衡集群

    一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76    nginx负载均衡器 192.168.2.82    web ...

  6. 07 nginx反向代理和nfs服务

    作业一:nginx服务二进制安装nginx包 作为web服务修改配置文件 让配置生效,验证配置 作业二:nfs服务二进制安装nfs作为共享存储挂载在三台web的网站根目录下实现,在任意一台web上修改 ...

  7. Centos 7配置nginx反向代理负载均衡集群

    一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76    nginx负载均衡器 192.168.2.82    web ...

  8. Docker部署tomcat+nginx+mysql,创建一个tomcat集群

    Docker的部署可以选择虚拟机或者云服务器,我自己选择的是本机安装centos7虚拟机: 1.虚拟机安装登录成功后开始部署docker: 首先了解docker是一个开源应用容器引擎,基于Go语言遵循 ...

  9. Nginx反向代理和Node.js后端解决跨域问题

    最近在写自己的博客,涉及到跨域的问题,自己捣鼓许久,终于解决了.然后总结一下,记录一下,日后遇到类似的问题的时候也可以得到一些启发. 一.什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏 ...

随机推荐

  1. 【Tomcat】JVM,Tomcat,Servlet,Tomcat中的应用。彻底弄懂这些概念之间的联系

    tomcat和tomcat中的应用(即webapps下的war包)是运行在同一个jvm中的,但分工不同. tomcat的角色是“调度员”,而你的应用的角色是“工作者”,tomcat处理一个请求的大致过 ...

  2. python 系列文章汇总(持续更新...)

    引言 不知不觉已经写了好几篇 python 相关的随笔了,从刚开始的门外汉到现在已经对 python 有一些入门了,时间也已经过去了一个多月. 写博客真是好处多多,不仅能提供整理自己学习的知识点,梳理 ...

  3. PHP DDos的几个防御方法详解

    这类攻击有一个最大的特性,就是上传流量霎时增大,通常流量高达数十以至近百M,将整台效 劳器,以至将整台机柜的宽带堵住,使网站无法运转,而这样的攻击,我们无法从远程处理,一但那个phpshell运转,你 ...

  4. POJ1222(SummerTrainingDay01-E)

    EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11078   Accepted: 7 ...

  5. TCP 回顾

    报文 状态 从wiki上搬运过来 重要参数 RTT(Round Trip Time) 即链路传输延时,从数据发送到达对端并受到对端ack的一次来回时间.由于TCP是依赖报文确认机制来实现传输的可靠性的 ...

  6. 01-MySql的前戏

    [转]01-MySql的前戏 MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|1 ...

  7. 免费的协作和协同办公软件平台onlyoffice轻松部署

    一般说,协同和协作是不同的,协同是指文档基于一个版本,大家都是基于这个版本来添加,而且大家只能引用这个文档,却不能在上面直接添加,而且只能一个人添加,即锁住,不让其他人添加了. 而协作就不同了,大家同 ...

  8. Laravel安装教程

    1.Call to undefined function Illuminate\Encryption\openssl_cipher_iv_length() 报这个错是因为Apache/bin目录下 l ...

  9. Cordova-conifg.xml配置

    DisallowOverscroll 布尔值,默认false.如果不想要WebView出现橡皮筋滚动条,则设置为true TopActivityIndicator   字符串值,默认gray.设置顶部 ...

  10. jmeter函数简介

    1._char:把一组数字转化成Unicode字符. 2._counter:记录线程的迭代次数. 3._CSVRead:可以从文件中指定列的值. 4.${_CSVRead(D:\test.txt,0, ...