搭建集群图例

  • 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分:

环境说明

  • Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + Tomcat 1.8 + Nginx 1.15

Linux 下安装 Nginx

下载nginx的tar包

  1. //下载tar包
    wget http://nginx.org/download/nginx-1.13.7.tar.gz
    tar -xvf nginx-1.13.7.tar.g

安装gcc依赖
Nginx与Redis一样,都是C语言开发的,所以都需要在Linux上使用C语言编译后才能使用,所以得先安装用于编译的c环境
安装Redis时,只需要安装下面第一项的"yum install gcc-c++"即可;nginx则需要安装下面4项
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

Nginx 编译
先进入 nginx 减压后的目录 ,执行“./configure”
编译完成后,这个目录下会多一个“Makefile”文件

然后执行"make"命令进行编译,安装Redis时也有"make"操作

Nginx 安装
进入nginx减压后的目录,即上面的编译位置执行安装命令:make PREFIX=/usr/local/nginx install
PREFIX:指定安装到哪个目录下,否则默认安装时很容易找不到地方
在减压后的 nginx-1.15.0下执行安装命令"make PREFIX=/usr/local/nginx install",然后就有了安装后的目录“nginx”

Nginx 操作
进入nginx安装目录下的sbin目录:
测试nginx配置文件是否配置正确:"./nginx -t"
启动nginx:“ ./nginx ”
关闭nginx:"./nginx -s stop",也可以采用直接杀进程的方式
退出命令:“./nginx-s quit”,等程序执行关闭后,建议使用此命令。

动态加载配置文件:"./nginx -s reload",可以在不关闭nginx的情况下更新配置文件,使其生效。

开启防火墙端口
虽然上面启动了nginx,但是默认除了linux系统自身的浏览器可以访问之外,其它的电脑还是访问不了,因为CentOS的防火墙默认阻止了22以外的所有端口
可以使用CentOS 7.2系统自带firewall命令进行开启80端口,使用命令:  firewall-cmd --zone=public --add-port=80/tcp --permanent

  • firewall-cmd --reload
    • firewall-cmd --zone=public --list-ports

    浏览器访问

    Nginx 集群

  • Nginx 集群

    • 集群所有的操作与在Windows下完全一样,这里只做简要描述,可以参考《Nginx下载与 Windows下搭建集群》

    准备web应用

    • 仍然使用《Nginx下载与 Windows下搭建集群》中的nginxApp

    准备tomcat1

  • apache-tomcat-8_1的server.xml配置文件采用默认值,不做任何修改

准备tomcat2

  • 修改apache-tomcat-8_2的server.xml配置文件

开放防火墙端口
默认情况下,这两个tomcat的端口防火墙是没有开放的,如果需要从windows电脑上直接访问CentOS中Tomcat服务器,则需要开启8080,8090端口
而现在使用nginx反向代理,用户不再需要直接访问Tomcat了,而是访问Nginx服务器,再由nginx转发到tomcat,所以此时不开启8080、8090端口也没事了
永久开启8090端口:firewall-cmd --zone=public --add-port=8090/tcp –permanent
刷新防火墙:firewall-cmd –reload
查看端口开放状态:firewall-cmd--zone=public --list-ports

Nginx设置
设置与windows完全也一样

  • 修改nginx.conf文件

浏览器访问:http://192.168.58.129

Nginx 在 Linux 下安装与搭建集群的更多相关文章

  1. linux 下使用 VirtualBox 搭建集群环境

    参考文章: https://www.nakivo.com/blog/virtualbox-network-setting-guide/ https://help.ubuntu.com/lts/serv ...

  2. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  3. Linux下Hadoop2.7.3集群环境的搭建

    Linux下Hadoop2.7.3集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...

  4. linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  5. Linux中安装配置spark集群

    一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...

  6. Nginx学习笔记(反向代理&搭建集群)

    一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...

  7. 关于elasticsearch安装及搭建集群时候的错误

    1,在Windows上解压后启动elasticsearch后可能cmd中会抛出java 无法初始话异常,网上查询必须用的是jdk1.8以上,可是本人用的 就是jdk1.8啊,半天解决无果,最后重新安装 ...

  8. Linux下Hadoop2.6.0集群环境的搭建

    本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http:/ ...

  9. Linux下Hadoop2.7.1集群环境的搭建(超详细版)

                                本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 一.基础环境 ...

随机推荐

  1. Service-Oriented Architecture,SOA(转)

    http://blog.csdn.net/WOOSHN/article/details/8036910 介绍: IT体系结构已非常成熟,它是一种成功处理典型IT问题的方法.体系结构中一个受到很大重视且 ...

  2. c++ 十进制、十六进制和BCD的相互转换

    #include <stdio.h> #include <string.h> #include <iostream> using namespace std; // ...

  3. [19/09/02-星期一] 基础知识_Python入门

    一.计算机基础 用户界面:TUI-文本交互界面: GUI-图形化交互界面 命令行:就是一种文本交互界面,可以使用一个一个的指令来操作计算机.任何计算机的操作系统都包含命令行(Windows.Linux ...

  4. pg_receivewal实践

    测试从pg_receivewal的日志中恢复从库为主库: 主从配置async模式,配置pg_receivewal接收日志pg_receivewal -D /dbaas/pg/data/pg_recei ...

  5. C#基础篇之C#和 .Net框架的概念和运行原理

    一.微软平台的发展史 二..Net框架包含的东西 1.名词解释 BCL:基类库(Base Class Library)系统和底层提供的最基本的类库 CLR:公共语言运行时(Common Languag ...

  6. Linux 最常用命令整理,建议收藏!

    Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境. linux不仅可以长时间的运行我们编写的程序代码,还 ...

  7. c++构造顺序

    1. 静态成员最先构造,按照静态成员初始化顺序,不是类里面的声明顺序 2. 父类构造 3. 非静态成员构造,按照类成员声明顺序,不是逗号初始化成员顺序 4. 自身构造函数 Demo: class Te ...

  8. Antd时间选择框汉化问题总结------国际化全局设置

    import zh_CN from 'antd/lib/locale-provider/zh_CN'; import 'moment/locale/zh-cn'; import { ConfigPro ...

  9. JS 的 Browser对象

    Window对象 closed innerHeight    窗口文档显示区的高度,包括滚动条 outerHeight    窗口总高度,包括工具条和滚动条 open() close() alert( ...

  10. R语言parse函数与eval函数的字符串转命令行及执行操作

    parse()函数能将字符串转换为表达式expression:eval()函数能对表达式求解 A <- : B <- 'print(A)' class(B) C <- parse(t ...