共计 2939 个字符,预计需要花费 8 分钟才能阅读完成。
只是简单使用 Nginx 而已,知道能这么用,但是在实际项目中并没有实践过,在项目不大的时候用不到,但是对于理解负载均衡来说还是可以的。
利用虚拟机安装了三个 CentOS 系统,然后顺便装了环境。
这里顺便说一下,不需要转三次系统,装一个系统,配置环境完成之后,另外两个可以使用虚拟机的克隆功能直接克隆即可,配置是完全相同的。
首先是服务器配置及当前 IP 地址,注意一点,为了测试方便,我把所有的防火墙都直接关闭了,但是实际中限制端口号,而不要直接关闭
服务器 A:IP:192.168.0.134
服务器 B:IP:192.168.0.132
服务器 C:IP:192.168.0.133
主人本机使用的是 Windows 系统,其他系统自己看着办,改一下本地的 host,这样浏览器输入这个域名就能解析到固定你输入的 IP 了
在 C:\Windows\System32\drivers\etc 目录下,修改 host 文件
需要注意的是,host 在当前目录下面用户是没有修改权限的,所以你需要先复制出来到桌面,然后用记事本打开修改,然后复制回去替换。
在文件末尾加上 192.168.0.134 xx.com
然后在 cmd 模式下 ping xx.com 看是否能 ping 通,如果可以证明域名没有问题了。
正在 Ping xx.com [192.168.0.134] 具有 32 字节的数据:
来自 192.168.0.134 的回复: 字节 =32 时间 =1ms TTL=64
来自 192.168.0.134 的回复: 字节 =32 时间 <1ms TTL=64
来自 192.168.0.134 的回复: 字节 =32 时间 <1ms TTL=64
来自 192.168.0.134 的回复: 字节 =32 时间 <1ms TTL=64
这个域名也只能在你本地起作用,实验就简单点好了。
下载 nginx
http://nginx.org/en/download.html
选择了稳定版本
然后解压到 A 服务器的你喜欢的目录下面
首先是在 A 服务器上配置 nginx,软件的安装我都不介绍了,在最后给出安装说明的地址,然后根据步骤一步步来就好了。
修改 nginx 配置中的
在 server 中修改以下位置
location / {
proxy_pass http://xx.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
在 http 中加入
#——————————————————–
upstream xx.com {
server 192.168.0.132:8080;
server 192.168.0.133:8080;
server 127.0.0.1:8080;
}
#——————————————————–
我在 A 服务器上装了 tomcat。默认端口是 8080。
其他两台就不装了,简单的配置了一个默认的页面
在其他两台服务器上面 nginx 配置
server{
listen 8080;
server_name xx.com;
index index.html;
root /root;
}
server {
listen 80;
server_name xx.com;
修改了这两个配置之后,三台服务器全部重新启动 nginx
然后在浏览器中输入 xx.com
然后刷新页面,就会出现三台服务器不同的页面了。
也就是说,当我们的项目的域名被访问的时候会根据实际情况负载均衡至 3 台服务器。
我觉得实际项目中,A 服务器还是不要作为项目服务器的一部分,不用 tomcat 部署项目,
为什么呢,虽然这样服务器有点浪费,但是,如果部署了项目的话,这样 A 服务器就有可能出现宕机,导致 BC 服务器均不能被访问。
如果没有部署服务的话,那么即使 B 或 C 任意一台服务器宕机,A 服务器会自动均衡到另一台服务器上面。
但是一些静态资源的获取可以放在 A 上面,这样可以减轻后面服务器的压力,同时提高 A 的利用率。
下面给出安装软件的步骤,很多网站上都写的很好。我就不多说了。
Nginx 负载均衡配置实例详解:http://www.linuxidc.com/Linux/2015-07/120738.htm
Nginx 配置文件详解:http://www.linuxidc.com/Linux/2016-08/134441.htm
Nginx 安装流程:http://www.linuxidc.com/Linux/2016-08/134442.htm(其实前面的 3 个不装在测试项目中也是可以运行 nginx 的,可能是我之前装过一些软件的原因)
————————————– 分割线 ————————————–
Nginx 负载均衡配置实战 http://www.linuxidc.com/Linux/2014-12/110036.htm
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
————————————– 分割线 ————————————–
Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-08/134443.htm