Nginx 在 Linux 下安装与搭建集群
搭建集群图例
- 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分:
环境说明
- Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + Tomcat 1.8 + Nginx 1.15
Linux 下安装 Nginx
下载nginx的tar包
//下载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 下安装与搭建集群的更多相关文章
- linux 下使用 VirtualBox 搭建集群环境
参考文章: https://www.nakivo.com/blog/virtualbox-network-setting-guide/ https://help.ubuntu.com/lts/serv ...
- Linux下MySQL/MariaDB Galera集群搭建过程【转】
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- Linux下Hadoop2.7.3集群环境的搭建
Linux下Hadoop2.7.3集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...
- linux下安装EJBCA 搭建私有CA服务器
linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1. linux mint18.3 62位: ...
- Linux中安装配置spark集群
一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...
- Nginx学习笔记(反向代理&搭建集群)
一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...
- 关于elasticsearch安装及搭建集群时候的错误
1,在Windows上解压后启动elasticsearch后可能cmd中会抛出java 无法初始话异常,网上查询必须用的是jdk1.8以上,可是本人用的 就是jdk1.8啊,半天解决无果,最后重新安装 ...
- Linux下Hadoop2.6.0集群环境的搭建
本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http:/ ...
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 一.基础环境 ...
随机推荐
- Linux系统常用命令之top
top - 06:58:37 up 7 days, 23:36, 2 users, load average: 0.00, 0.01, 0.05Tasks: 716 total, 1 running, ...
- Java第四周总结+实验报告
实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性 ...
- python并发编程之进程池、线程池、协程
需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...
- Nginx代理自动上线下线
Nginx基于连接探测,如果发现后端异常,在单位周期为fail_timeout设置的时间,中达到max_fails次数,这个周期次数内,如果后端同一个节点不可用,那么接将把节点标记为不可用,并等待下一 ...
- RBAC----基于角色的访问权限控制
RBAC是什么? 基于角色的权限访问控制(Role-Based Access Control) 作为传统访问控制(自主访问.强制访问)的有前景的代替 受到了广泛的关注. 在RBAC中,权限与角色相关联 ...
- Python3 AES加解密(AES/ECB/PKCS5Padding)
class AesEncry(object): key = "wwwwwwwwwwwwwwww" # aes秘钥 def encrypt(self, data): data = j ...
- CentOS8 下 Redis5.0.7 哨兵Sentinel 模式配置指南
下载Redis Redis下载链接 解压缩 tar -xzvf redis-5.0.7.tar.gz 编译安装 make和gcc依赖 可通过yum -y install gcc automake au ...
- 06: django+celery+redis
目录: 1.1 Celery介绍 1.2 celery 组件 1.3 安装相关包 与 管理命令 1.4 celery与Django执行异步任务 1.5 在django中使用计划任务功能 1.1 Cel ...
- 数学: HDU1098 Ignatius's puzzle
Ignatius's puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- hdu 2586 How far away ? ( 离线 LCA , tarjan )
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...