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