nginx版本无所谓了,稳定版就行,jdk为1.8(jdk8),tomcat为1.7(tomcat7)

nginx安装流程:

第一步:查看linux里是否存在nginx,存在 卸载

查看:rpm -qa | grep nginx

卸载:rpm -e --nodeps 查找出来的文件名

第二步:安装nginx的环境依赖

yum install pcre-devel zlib-devel openssl-devel

第三步:下载文件并解压

建立下载文件的文件夹:$ mkdir /java/download

进入文件夹:$ cd /java/download

下载文件:$ wget http://nginx.org/download/nginx-1.10.3.tar.gz

解压文件:$ tar -zxvf nginx-1.10.3.tar.gz

第四步:安装nginx

进入文件:$ cd nginx-1.10.3

新建安装文件夹:$ mkdir /java/nginx

编译:$ ./configure  --prefix=/java/nginx --with-http_stub_status_module --with-http_ssl_module

安装测试于安装:$ make && make install

执行无误来到这一步,你的nginx已经能够正常工作,通过打开浏览器可以进行访问,nginx默认端口号是80,在浏览器的地址栏输入ip地址就可看到nginx的成功页面

进入nginx的启动目录:

$ cd /java/nginx/sbin

进行启动,停止,重启nginx的操作:

./nginx

$./nginx -s stop

$./nginx -s quit

$./nginx -s reload 

第五步:配置开机自启(因为什么呢)

如果你的机子上有很多的服务,突然间服务器给你down了一下,你是不是得一个一个去找然后还得琢磨一下怎么开启,所以在服务器里安装软件应该要方便操作者,不然烦都烦死了

有的时候linux就是这样只需要照着别人的成功文档出来自己想要的东西就行

在rc.local文件里增加一行代码:

$ vim /etc/rc.local

/java/nginx/sbin/nginx

重新分配权限:

$ chmod 755 /etc/rc.local

完成,至于问什么不弄脚本启动等操作呢,我也想弄,但是没弄好,就不弄了。

tomcat安装流程:

要装tomcat先装jdk,要装jdk先卸载土著jdk,因为jdk给了tomcat一个java环境,能让tomcat愉快的玩耍

查看系统中是否有jdk:

$ rpm -qa | grep jdk

存在就卸了它:

$ rpm -e --nodeps 查找出来的文件名

我已经私自做主将jdk和tomcat都下载好并解压到我的网盘下,省略了进入oracle官网的一堆神奇操作

文件地址:https://pan.baidu.com/s/1bvnxjIO9RtgAE4j6nUiK5w

将文件上传到服务器上,并放置到/java目录(习惯性一个环境所需的软件归置到同一个文件夹)

第一步:其实这jdk和tomcat吧,解压完就相当于安装了

此时jdk和tomcat的文件路径:

/java/jdk8

/java/tomact7

第二步:配置环境变量:

jdk的环境变量

$ vim /etc/profile

#jdk(注释是个好习惯,不然别人不清楚这是个啥)

export JAVA_HOME=/java/jdk8

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME PATH CLASSPATH

为啥配了这一堆,我哪里知道,别人这么配的然后我用着不错,你说每天那么忙,你都没时间打游戏,还管那么多干嘛

按理说jdk环境变量都配置完了给自己庆祝下呗,jdk有个坑比问题之前可是折磨过我,你想通过java -version查看自己安装的jdk信息的时候给你报了个“bash:cannot restore segment prot after reloc: Permission denied     大致say的是->哼,小样,早着呢”

我代表星星消灭你!->解决问题:

第一步:在root用户下,修改/etc/selinux/config 文件,把SELINUX=enforcing 改成 SELINUX=disabled

第二步:进入jdk文件夹在bin下chmod 777 java

$java -version

查看不到,直接万能的重启

$reboot

查看得到,就别理它了,她又不能跟你去喝奶茶

tomcat的环境变量,这里是为了集群做准备(...手牵手一步两步三步四步往前走,看tomcat一个两个三个四个连成线)

进入tomcat所在文件夹

$cd /java

将存在的tomcat7复制一份改名tomcat7-2

$ cp -r tomcat7 tomcat7-2

这是存在两台tomcat

#tomcat两台需要各自声明自己的环境变量
##########first tomcat###########
CATALINA_BASE=/java/tomcat7
CATALINA_HOME=/java/tomcat7
TOMCAT_HOME=/java/tomcat7
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########second tomcat##########
CATALINA_2_BASE=/java/tomcat7-2
CATALINA_2_HOME=/java/tomcat7-2
TOMCAT_2_HOME=/java/tomcat7-2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME

为啥配了这一堆,我哪里知道,别人这么配的然后我用着不错,你说你每天那么忙,都没时间打游戏,还管那么多干嘛

可以启动了吗,第一台tomcat可以启动了,但是第二台将server.xml里的三个端口+1与第一台不一样就行

这个端口是供外网访问的,存在端口开放问题,确保端口可以访问,我的是阿里服务器,直接去官网安全组规则配置的8081端口(两步就解决了,第一进入服务器管理页;第二更多里面找到安全组规则克隆端口修改成自己要的端口。完成)

访问吧,可以访问成功,恭喜你成功晋级下一关卡:

配置nginx支持tomcat

到这里主要的还是思想,搞清楚逻辑可能一下子就能做到自己想要的效果,所以查看别人的文档的时候,首先自己想清楚想要做到什么样子、

关于nginx和tomcat的动静分离,因为我并不是搞java的,所以理解上根本不是那么一回事,不可避免的在思想上走了很多的弯路,其实很简单,动静分离主要是看动在哪里,静在哪里,我们整合nginx和tomcat主要的配置还是在nginx上,只要tomcat是可以访问的,nginx也是可以访问的,就可以在nginx.conf上将其整合。

具体步骤:

第一步:修改nginx.conf的配置

$ vim /java/nginx/conf/nginx.conf

红色字体为添加的:

#user nobody;
worker_processes 1;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;

  sendfile on;

  keepalive_timeout 65;

###<这里是重定向访问的服务,通过nginx的访问,直接获取tomcat的内容

  upstream test{
    server 120.78.207.226:8080;
  }

###>

  server {
    listen 80;
    server_name localhost;

    #动态文件处理

###<这里是进行加载tomcat的设置,tomcat支持nginx配置这两处就行

    #动态加载 这是tomcatde location

    location / {
      proxy_next_upstream http_502 http_504 error timeout invalid_header;
      proxy_pass http://test;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
    #静态文件处理 这是nginx的location   root是项目路径
    location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
    {
      root /java/tomcat7/webapps/ROOT/projeck;
      expires 30d;
    }
    #静态文件处理 这是nginx的location

    location ~ .*\.(js|css)?$
    {
       root /java/tomcat7/webapps/ROOT/projeck;
      expires 1h;
    }

###>

    location = /50x.html {
      root html;
    }

  }

}

静态文件加载目录定义在这里可以进行访问得到,但是动态文件目录放在这里是没有意义的,直接不能解析,所以动态文件的加载目录是在tomcat的server.xml里,只需要增加一行代码放在</host>标签前面

:wq! 保存退出

第二步:修改server.xml

tomcat7:

$ vim /java/tomcat7/conf/server.xml

<Context path="" docBase="/java/tomcat7/webapps/ROOT/projeck" reloadable="true" />

tomcat7-2:

$ vim /java/tomcat7-2/conf/server.xml

<Context path="" docBase="/java/tomcat7-2/webapps/ROOT/projeck" reloadable="true" />

你也可以将项目用jar解压到一个指定文件下然后将这两处修改成指定的路径,OK的

我这里是将动态静态都放在同一个文件目录下面,但是它们工作的原理还是nginx加载静态的,tomcat加载动态的,你可以进行测试,将这两个文件的其中一个的配置路径修改到其他目录,肯定访问的文件缺少修改后的内容。看了一堆的文档然后理一堆的代码远不如一开始就明明白白,纯个人理解,仅供参考

转载于:https://www.cnblogs.com/zengzuxu/p/9050047.html

centos nginx和tomcat集群相关推荐

  1. Windows7 + Nginx + Memcached + Tomcat 集群 session 共享

    一,环境说明 操作系统是Windows7家庭版(有点不专业哦,呵呵!),JDK是1.6的版本, Tomcat是apache-tomcat-6.0.35-windows-x86,下载链接:http:// ...

  2. nginx+双tomcat集群负载均衡(一台机器)

    nginx简介 Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...

  3. linux环境下通过nginx实现tomcat集群

    2019独角兽企业重金招聘Python工程师标准>>> linux环境下通过nginx实现tomcat集群 安装nginx之前需要pcre依赖和jvm-remote补丁 一.准备如下 ...

  4. Nginx以及通过Nginx实现tomcat集群配置与负载均衡

    Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...

  5. Nginx SSL+tomcat集群配置SSL,ngnix配置SSL后js/css访问出现404

    最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 但是,明明是https url请求,发现 log里 ...

  6. Nginx实现tomcat集群进行负载均衡

    一.背景 随着业务量和用户数量的激增,单一的tomcat部署应用已经无法满足性能需求,而且对于每次发布项目期间服务不可用的问题也凸显,既然出现了这个问题,那么我们本文就借助nginx来完美的解决这个问 ...

  7. Nginx+Memcached+Tomcat集群配置实践(Sticky Session)

    准备工作 创建一个简单的web应用,名为session.其中有两个页面,分别如下所示: 页面login.jsp [html] view plaincopy <%@ page language=& ...

  8. 配置集群Nginx+Memcached+Tomcat集群配置

    上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下配置集群 1.   Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebS ...

  9. nginx搭建tomcat集群

    下载最新版的nginx,我这里使用的是windows-1.19.8版本做测试,之前下载的低版本,试验了很久都没有成功,应该是配置写法有所更新. 接着,我通过springboot部署了两个tomcat, ...

  10. Tengine(nginx) 搭建Tomcat集群

    好久没有更新学习的内容了,就是得强迫自己写点东西 记录自己的学习,才能更好的进步! Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和 ...

最新文章

  1. 2013-9 OWASP论坛
  2. linux应用之----进程控制理论
  3. Java方法中的参数太多,第4部分:重载
  4. mysql5.3开发文件,cent0s 5.3该下载哪个版本的 mysql安装文件比较合适
  5. E20170618-hm
  6. 在CentOS 8上安装与配置Apache虚拟主机
  7. 简单说几个常见的数据结构
  8. Jxl读写Excel文件
  9. 深度学习剖根问底:SGD算法的优化和变种
  10. 3.新建页面以及添加路由 2021-07-11
  11. C51 汇编和C语言编写从1加到100
  12. Deep Reinforcement Learning : An Overview(Yuxi Li) 学习笔记
  13. pandas按条件筛选数据
  14. 武汉大学研究生慕课《学术道德与学术规范》
  15. ios分屏_分屏插件更新支持 A12,一心二用真滴爽
  16. WaitForSingleObject -- setevent 讲解与编程示例
  17. 如何画双层pcb板_双层pcb板布线规则(操作技巧与案例分析)
  18. 生态对对碰丨当数据库云管平台 zCloud 碰上 OceanBase……
  19. springboot启动失败之A child container failed during start
  20. 大数据开发涉及到的关键技术有哪些?

热门文章

  1. Spark集群worker启动起来,一会停掉原因--尝试
  2. 强制 Google.com 域名使用 HTTPS(SSL)
  3. 史上讲解最好的 Docker 教程
  4. 震惊!Spring Boot 内存又泄露,排查太难了!
  5. 微服务架构-设计总结
  6. 深夜十点,北京各大互联网企业的下班高峰才刚开始?北晚记者带您实地探访...
  7. 今日头条首次公开算法原理(附全文详解)
  8. 分布式系统工具箱 Spring Cloud 概览
  9. SpringBoot 的事务管理
  10. Android 开发高效工具之道