前面研究了windows环境下nginx的部署及负载均衡,接着研究高可用,即2台nginx服务器一主一备,万一主服务器挂了,备份服务器顶上。基本方案都是配合keepalived来使用。谁知keepalived没有windows版本,只能在linux环境下部署。这下可好,前面研究白费一半,还得研究linux环境下的安装部署。本文对过程当中的一些要点进行记录。linux
一、历来没接触过linux,要咋操做基本两眼一抹黑。只能依靠万能的百度。网上方案比较多的是centos7+nginx+keepalived的方案,因而首先请公司网管准备了2台centos7的虚拟机。nginx
二、咋远程centos机器呢?网上资料说有各类工具,网管大人说用ssh。啥是ssh?不知道,百度呗,本人windows环境,得先安装ssh。自行百度吧,这个简单。shell
三、进入windows powershell,键入 ssh root@172.16.170.41 回车,连上了,输入密码(输入信息是不显示的,你也不知道输入得对不对)登陆系统。root是登陆帐号,172.16.170.41就是服务器的ip。windows
四、后面的彻底按照网上各位的帖子照作就好,我就不废话了。能够参考这个照作就行:https://blog.csdn.net/wudinaniya/article/details/81281016 我安装的是1.16.1版本,最后启动那跟这篇帖子稍有不一样,其余彻底同样。整个过程弄了半天,费时主要是由于对linux指令不熟悉,对于用惯了windows环境的人来讲,linux命令行简直就是反人类啊。centos
五、我把过程当中的主要用到的命令列一下:服务器
——进入目录: cd aaa;返回上一级目录: cd ..;直接返回根目录:cd \;查看当前目录下的信息:ls;负载均衡
——编辑nginx配置文件:vi nginx.conf;进入以后是浏览模式,要按“i”键进入插入模式编辑;修改完文件以后,按“esc”键返回浏览模式,再按“:”键,输入wq保存退出,若是输入q!表示不保存退出。这都什么乱七八糟的命令!这是人干的事吗?ssh
六、启动nginx:进入到sbin目录,键入./nginx启动服务。./nginx -s reload从新加载配置文件;./nginx -s stop 关闭服务。tcp
七、看结果吧,随机分配到53跟54上去了,OK。具体负载配置可看windows环境下配置nginx负载的那个帖子,同样的。工具
七、若是访问发现异常,检查一下防火墙是否是80端口没有放开。 执行如下命令:
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=80/udp
firewall-cmd --reload
八、将nginx服务配置为开机启动:
编辑服务配置文件: vi /lib/systemd/
system
/nginx.service
内容以下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=
true
[Install]
WantedBy=multi-user.target
保存退出后执行语句实现开机启动:systemctl enable nginx.service