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分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 一.基础环境 ...
随机推荐
- Service-Oriented Architecture,SOA(转)
http://blog.csdn.net/WOOSHN/article/details/8036910 介绍: IT体系结构已非常成熟,它是一种成功处理典型IT问题的方法.体系结构中一个受到很大重视且 ...
- c++ 十进制、十六进制和BCD的相互转换
#include <stdio.h> #include <string.h> #include <iostream> using namespace std; // ...
- [19/09/02-星期一] 基础知识_Python入门
一.计算机基础 用户界面:TUI-文本交互界面: GUI-图形化交互界面 命令行:就是一种文本交互界面,可以使用一个一个的指令来操作计算机.任何计算机的操作系统都包含命令行(Windows.Linux ...
- pg_receivewal实践
测试从pg_receivewal的日志中恢复从库为主库: 主从配置async模式,配置pg_receivewal接收日志pg_receivewal -D /dbaas/pg/data/pg_recei ...
- C#基础篇之C#和 .Net框架的概念和运行原理
一.微软平台的发展史 二..Net框架包含的东西 1.名词解释 BCL:基类库(Base Class Library)系统和底层提供的最基本的类库 CLR:公共语言运行时(Common Languag ...
- Linux 最常用命令整理,建议收藏!
Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境. linux不仅可以长时间的运行我们编写的程序代码,还 ...
- c++构造顺序
1. 静态成员最先构造,按照静态成员初始化顺序,不是类里面的声明顺序 2. 父类构造 3. 非静态成员构造,按照类成员声明顺序,不是逗号初始化成员顺序 4. 自身构造函数 Demo: class Te ...
- Antd时间选择框汉化问题总结------国际化全局设置
import zh_CN from 'antd/lib/locale-provider/zh_CN'; import 'moment/locale/zh-cn'; import { ConfigPro ...
- JS 的 Browser对象
Window对象 closed innerHeight 窗口文档显示区的高度,包括滚动条 outerHeight 窗口总高度,包括工具条和滚动条 open() close() alert( ...
- R语言parse函数与eval函数的字符串转命令行及执行操作
parse()函数能将字符串转换为表达式expression:eval()函数能对表达式求解 A <- : B <- 'print(A)' class(B) C <- parse(t ...