内网安装nginx+keepalived环境配置及简单使用

分享一下这次艰难的配置过程,衔接上一篇的配置内网独立IP虚拟机。

先吐槽一波,由于公司网络属于内网,与外网互不相通,所以在安装nginx的时候可能会去外网找相对应rpm文件,而且也有许多的版本不兼容问题,好烦;其实我自己后面才知道,系统镜像文件中就有与当前系统兼容的rpm文件,就先这样,开始安装教程啦!

准备好安装的文件,安装的Linux系统是redhat6.5之前配置网络的是CentOS7,其实这两个系统配置都差不多

nginx-1.12.2.tar.gz   官网链接:http://nginx.org/

keepalived-1.2.2.tar.gz  官网链接:https://www.keepalived.org/

nginx是用来配置集群,而keepalived用来配置虚拟IP,不仅能够增加服务器的安全性,而且在运行过程中,如果服务器发生故障也能快速的知道,并且让专业的人员去修理,提高服务器检修速度效率;

将这两个压缩包拷贝到系统的某个文件夹下面(本人用的目录:/usr/local ):

这是我本地的文件置放的目录:

1、nginx的安装与配置

解压后,进入文件夹使用 # ./configure --with-http_ssl_module  --prefix=/usr/local/nginx 进行安装;

执行报错:

缺少pcre的环境导致报错;由于在安装该系统时自带了gcc环境,所以gcc环境配置可以不用管,如果报错C compiler cc is not found,应该先安装gcc环境,可以统一安装.rpm文件,所需要的文件可以在系统安装文件.iso,解压文件夹下的Packages文件夹下面的(这下面有全部的rpm文件):

gcc编译环境需要的rpm文件:

mpfr-2.4.1-6.el6.x86_64.rpm

ppl-0.10.2-11.el6.x86_64.rpm

cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

gcc-4.4.7-4.el6.x86_64.rpm

执行命令并依次:# rpm –ivh mpfr-2.4.1-6.el6.x86_64.rpm

回归正题,缺少pcre环境,可以取官网下载:https://ftp.pcre.org/pub/pcre/

我选择用的是8.39版本

将该文件夹放置与nginx(/usr/local/)同级路径

进入文件后执行:# ./configure

再执行命令

# make

# make install

安装成功,而对于其他有些系统会报:You need a C++ compiler for C++ support
这个是因为没有安装gcc-c++环境,同样去packages下面找rpm包:

libstdc++-4.4.7-4.el6.x86_64.rpm  

libstdc++-devel-4.4.7-4.el6.x86_64.rpm

gcc-c++-4.4.7-4.el6.x86_64.rpm

使用之前的同一条命令依次安装这些rpm文件就可以了

接着继续安装nginx:

依旧执行安装命令:

结果还是报错(难受啊)

这次是zlib的包找不到 去官网:http://www.zlib.net/

将该文件夹放置与nginx(/usr/local/)同级路径

进入文件夹后,执行:

# ./configure

# make

# make install

执行后(终于可以了吧)!!!

这个OpenSSL library没有被使用到说明又缺少环境,还得去找这个rpm文件,同样去packages下面找rpm包进行安装;

先要安装这两个rpm包,同理:

终于装上了。。。。执行命令:# ./configure --with-http_ssl_module  --prefix=/usr/local/nginx

查看目录

到这里记得:

# make

# make install

这样才算安装成功

conf/nginx.conf : 是nginx的配置文件

启动在sbin文件夹下面 , 启动 :# ./nginx

咦?竟然报错了:不要慌:

发现有一个软连接找不到 , 报 Not found : 建立一个软连接吧:

# cd /lib64
# ln -s libpcre.so.0.0.1 libpcre.so.1

 

然后就能启动了,可以在浏览器(Linux)看了:

现在用 nginx 配置集群啦,现在Windows上面能不能访问,如果访问不了,可能是因为防火墙,我们可以把它关闭:

#service iptables stop 

准备好两个服务器的Tomcat作为案例,这个两台不同的虚拟机,

配置IP可以参考我的上一篇文章:https://blog.csdn.net/qq_40874285/article/details/100187830,

配置Tomcat我之前的文章也有提到:https://blog.csdn.net/qq_40874285/article/details/82748070。

 

 

配好后,进入conf/nginx.conf文件,添加下面几步(注意加分号,免得入坑):

有个要注意的地方就是在新建 location ^~ /docs {} 的时候 /dcos这个路径在Tomcat部署的项目一定要有该路径,否则会报404 Not Found

^~这个的具体意思是指如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

具体可参考:https://blog.csdn.net/u012260238/article/details/88948590

先杀死 : # killall nginx 再启动。

现在为了看到集群的效果,我们修改一下nginx.conf,把这个添加到根路径访问

现在nginx安装地址在192.168.0.13上,目前访问的是192.168.0.12:8080,我们把12上的停掉:

集群的效果已经达到了,自动切换服务器。

 

2、安装keepalived:

把安装包解压,放置与nginx同路径目录下,进入并执行命令

# ./configure --prefix=/usr/local/keepalived

唉! 又有环境没装上,装吧,同理去packages找rpm文件:

继续安装:

说明不缺环境了:

#make

#make install

继续:

#mkdir /etc/keepalived

#cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived

#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d

#cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig

#ln -s /usr/local/keepalived/sbin/keepalived /sbin

启动:#/etc/init.d/keepalived start

停止:#/etc/init.d/keepalived stop

修改日志参数:

# vim /etc/sysconfig/keepalived

修改参数:KEEPALIVED_OPTIONS="-d -D -S 0"

修改日志路径:

# vim /etc/rsyslog.conf  添加并重启

#service rsyslog.restart

最后可以配置虚拟ip了

#vim /etc/keepalived/keepalived.conf

虚拟ip一定要在同网段。重启keepalived和nginx。

虚拟ip访问配置成功。

终于完工啦。以上就是我的安装过程和一些踩到的坑,如果大家在安装遇见了其他问题

,可以一起讨论呀!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cad连续标注数字123怎么弄_实例讲解CAD模型与布局中的各种比例

好课推荐:零基础CAD:点我CAD室内:点我 周站长CAD:点我CAD机械:点我 Bim教程:点我CAD建筑:点我CAD三维:点我全屋定制:点我 ps教程:点我苹果版CAD:点我 3dmax教…

SpringMvc异步请求的使用及部分原理

最近隔壁项目组的项目又出问题了,一直被用户投诉太卡了,页面白屏的那种,打开源代码一看,全是非异步请求,类似于以下写法: ResponseBodyRequestMapping(value "/getTest")public String getTest(…

Microsoft BizTalk ESB Toolkit 2.0

[>>> 更多<BizTalk开发系列>文章 ] 微软于6月8号发布了BizTalk Server 2009企业集成平台的最后一个功能组件:ESB Toolkit 2.0 (原名:ESB Guidance 2.0)&#xff0c;ESB ToolKit 2.0一个是工具和代码集扩展了BizTalk Server 2009对于松耦合和动态消息架构的支持…

WCF学习笔记(三):开启net.tcp端口

正在做一个使用tcp协议的WCF示例&#xff0c;遇到很多问题。首当其冲的问题就是——如何为WCF打开tcp端口。。。 具体步骤如下&#xff1a; 1、在IIS中为WCF安装支持TCP协议的组件&#xff1a; 2、在防火墙的入栈规则中开启808端口&#xff1b; 3、在servies.msc中打开两个服务…

孪生神经网络_轩辕实验室:数字孪生:基于机器学习的汽车数字孪生模型

本文来源&#xff1a;A. Rassolkin, T. Vaimann, A. Kallaste, and V. Kuts, “Digital twin for propulsion drive of autonomous electric vehicle,” in 2019 IEEE 60th International Scientific Conference on Power and Electrical Engineering of Riga Technical Univer…

Java线程Fork/Join思想及实现

最近在看线程这一块的东西&#xff0c;所以之前的那篇文章就是用来记录的&#xff0c;但看起来好简单的样子&#xff0c;哈哈哈&#xff01; 这两天看的是Fork/Join 分而治之的思想&#xff0c;Doug Lea大师的JUC还是挺强的&#xff0c;学并发编程应该没有人不知道这个大佬吧&…

Sgen.exe: Speed up XmlSerializer's Startup Performance [.NET 2.0, XML Serialization]

Sgen.exe: Speed up XmlSerializers Startup Performance [.NET 2.0, XML Serialization] Written by Allen Lee 1. Why Sgen.exe? 在《Serialize Your Deck with Positron [XML Serialization, XSD, C#]》一文中&#xff0c;我们领略到 XML Serialization 是如何简化我们的 X…

三维图形几何变换算法实验_计算机视觉方向简介 | 深度学习视觉三维重建

点击上方“计算机视觉life”&#xff0c;选择“星标”快速获得最新干货作者&#xff1a; Moonsmilehttps://zhuanlan.zhihu.com/p/79628068本文已由作者授权&#xff0c;未经允许&#xff0c;不得二次转载三维重建意义三维重建作为环境感知的关键技术之一&#xff0c;可用于自动…

PNG图片详解

1、PNG图片类型 PNG格式有8位、24位、32位三种&#xff0c;下面是一些术语&#xff1a; 索引透明&#xff1a;类似于GIF&#xff0c;某一像素只有全透和全不透明两种效果Alpha透明&#xff1a;半透明PNG8 8位的PNG最多支持256&#xff08;2的8次方&#xff09;种颜色&#xff0…

java 删除二维数组中的null_避免在Java中检查Null语句

1.概述通常&#xff0c;在Java代码中处理null变量、引用和集合很棘手。它们不仅难以识别&#xff0c;而且处理起来也很复杂。事实上&#xff0c;在编译时无法识别处理null的任何错误&#xff0c;会导致运行时NullPointerException。在本教程中&#xff0c;我们将了解在Java中检…

simulink显示多个数据_如何在 Simulink 中使用 PID Tuner 进行 PID 调参?

作者 | 安布奇责编 | 胡雪蕊出品 | CSDN(ID: CSDNnews)本文为一篇技术干货&#xff0c;主要讲述在Simulink如何使用PID Tuner进行PID调参。PID调参器( PIDTuner)概述1.1 简介使用PID Tuner可以对Simulink模型中的PID控制器&#xff0c;离散PID控制器&#xff0c;两自由度PID控制…

Java并发编程之堵塞队列介绍以及SkipList(跳表)

堵塞队列 先了解一下生产者消费者模式&#xff1a; 生产者就是生产数据的一方&#xff0c;消费者就是消费数据的另一方。在多线程开发中&#xff0c;如果生产者处理速度很快&#xff0c;而消费者处理速度很慢&#xff0c;那么生产者就必须等待消费者处理完&#xff0c;才能继…

Java并发编程之线程池ThreadPoolExecutor解析

线程池存在的意义 平常使用线程即new Thread()然后调用start()方法去启动这个线程&#xff0c;但是在频繁的业务情况下如果在生产环境大量的创建Thread对象是则会浪费资源&#xff0c;不仅增加GC回收压力&#xff0c;并且还浪费了时间&#xff0c;创建线程是需要花时间的&…

Java并发编程之线程定时器ScheduledThreadPoolExecutor解析

定时器 就是需要周期性的执行任务&#xff0c;也叫调度任务&#xff0c;在JDK中有个类Timer是支持周期性执行&#xff0c;但是这个类不建议使用了。 ScheduledThreadPoolExecutor 继承自ThreadPoolExecutor线程池&#xff0c;在Executors默认创建了两种&#xff1a; newSin…

Spring中BeanFactory和FactoryBean的区别

先介绍一下Spring的IOC容器到底是个什么东西&#xff0c;都说是一个控制反转的容器&#xff0c;将对象的控制权交给IOC容器&#xff0c;其实在看了源代码之后&#xff0c;就会发现IOC容器只是一个存储单例的一个ConcurrentHashMap<String, BeanDefinition> BeanDefiniti…

Spring中Aware的用法以及实现

Aware 在Spring当中有一些内置的对象是未开放给我们使用的&#xff0c;例如Spring的上下文ApplicationContext、环境属性Environment&#xff0c;BeanFactory等等其他的一些内置对象&#xff0c;而在我们可以通过实现对应的Aware接口去拿到我们想要的一些属性&#xff0c;一般…

Spring Bean的生命周期以及IOC源码解析

IOC源码这一块太多只能讲个大概吧&#xff0c;建议还是去买本Spring IOC源码解析的书来看比较好&#xff0c;我也是自己看源代码以及视频整理的笔记 Bean的生命周期大概可以分为四个阶段&#xff0c;具体的等会再说&#xff0c;先看看IOC的源码吧 1、bean的创建 2、bean的属…

MongoDB位运算基本使用以及位运算应用场景

最近在公司业务上用到了二进制匹配数据&#xff0c;但是MongoDB进行二进制运算&#xff08;Bitwise&#xff09;没用过&#xff0c;网上博客文章少&#xff0c;所以就上官网看API&#xff0c;因此记录一下&#xff0c;顺便在普及一下使用二进制位运算的一些应用。 在MongoDB的…

Mybatis源码日志模块分析

看源码需要先下载源码&#xff0c;可以去Mybatis的github上的仓库进行下载&#xff0c;Mybatis 这次就先整理一下日志这一块的源码分析&#xff0c;这块相对来说比较简单而且这个模块是Mybatis的基础模块。 之前的文章有谈到过Java的日志实现&#xff0c;大家也可以参考一下&…