分享一下这次艰难的配置过程,衔接上一篇的配置内网独立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访问配置成功。
终于完工啦。以上就是我的安装过程和一些踩到的坑,如果大家在安装遇见了其他问题
,可以一起讨论呀!