前言:今天杨麻子讲在Linux下使用nginx实现负载均衡方法,关于负载均衡具体说明可参考百度,这里就不多说了。写的比较乱,请勿见怪,只方便自己日后查看
准备工作:建议准备四台服务器
192.168.0.113 调度器,需带宽比较大,域名解析到此ip
192.168.0.114 均衡服务器,内网共享文件,1M带宽即可,其他硬件配置建议高一点
192.168.0.115 均衡服务器,内网共享文件 1M带宽即可,其他硬件配置建议高一点
192.168.0.116 文件及数据哭服务器,内网共享文件,1M带宽即可,其他硬件配置建议高一点
安装前注意事项:
1、本文前端和后端都采用nginx 系统采用centos6_64(你也可以全部才用apache,请根据需要做修改,配置方法一致)
2、建议将iptables禁用掉(service iptables stop),或将相关ip及端口添加到iptables上,否则无法访问
3、文件共享采用NFS文件系统.
4、mysql服务也在文件服务器中,当然您也可以将mysql服务单独搞一台服务器.这样性能更高
一、设置文件服务器共享:
登录文件服务器执行命令:yum -y install nfs-utils rpcbind 安装nfs以及rpcbind 如图:
安装完成,接下来将这两个服务设置为自动启动,命令如下:
chkconfig nfs on
chkconfig rpcbind on
二、配置/etc/exports文件,将要内网要访问的ip及文件目录写到此文件中,
/var/www/html 192.168.0.115(rw,async,root_squash) 192.168.0.114(rw,async,root_squash)
/var/www/html 是文件服务网页文件存放路径,根据自己情况修改
192.168.0.115及192.168.0.114是均衡服务器ip,意思是允许这两台服务器共享此文件目录,具有读写等权限
启动nfs及rpcbind:service rpcbind start service nfs start
第一部分设置共享服务器就设置好了。由于我们mysql也在文件服务器中,则下面通过yum安装mysql
三、安装mysql服务执行命令:yum -y install mysql
安装好启动 service mysqld start
至此。mysql安装完毕。
四、均衡服务器设置(web处理服务器)
均衡服务器一样要安装nfs以及rpcbind 方法同上。
均衡服务器(web处理服务器)安装nginx可参考教程:
设置两台均衡服务器的自动挂载,挂载前,请在本地创建一个文件夹用来挂载文件服务器文件夹,本文使用/home/www
:vim /etc/fstab 输入一下信息:
192.168.0.116:/var/www/html /home/www/ nfs defaults,_netdev 0 0
意思是将116这台服务器下的/var/www/html 目录挂载到当前服务器/home/www/下 文件类型是nfs ,,/home/www/就是网站根目录
另一台web处理服务器也需按照上述方法设置fsfstab自动挂载,挂载完后执行命令mount -a 重新加载挂载信息后即可看到挂载的文件服务器
至此。自动挂载文件服务器完毕,下面设置将nginx的访问根目录指向到/home/www下
在/home/www下创建一个文件,重启nginx后使用ip测试已经可访问了。
五、最后一步,设置的调度服务器
调度服务器一样要安装nginx,安装方法请参考上面教程,安装好后,打开nginx默认站点配置文件
在配置文件前面添加如下代码:
upstream new.tag.gg {
#weigth参数表示权值,权值越高被分配到的几率越大
server 192.168.0.114:80 weight=1;
server 192.168.0.115:80 weight=2;
ip_hash; #源地址映射,解决session共享问题
}
server {
listen 80;
server_name new.tag.gg tag.gg ;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://new.tag.gg;
#缓存配置
proxy_buffers 256 4k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
}
}
保存退出,重启nginx使用new.tag.gg测试网站可访问了
至此。搭建完毕,下面我们来测试一下是否正确:
在文件服务器中上传一款cms程序如帝国,路径为/var/www/html 上传后ll查看下:
我们没再web处理服务器中上传文件,我们查看下/home/www下是否有同样的文件,如有,则说明共享成功.登录114及115 查看下:
看到了吧,共享成功,验证一下是否能实现均衡,访问 默认访问new.tag.gg是可以访问的,但我们模拟一下,将114和115中的nginx分别停止掉看看能否访问,结果是不能的,但我们开启其中一台nginx服务则是可以访问的,这是说明已经均衡成功了。(注意:nginx安装后默认是不支持php的,创建的静态页面可访问,但php页面无法访问,所以您要按照教程 http://www.tag.gg/linux/11223.html 设置一下,让nginx支持php)
最后、安装下刚刚上传的帝国cms程序,输入http://new.tag.gg/e/install/ 即可打开如图界面
如安装过程中出现权限不正确无法写入的情况,如图,请检查文件服务器的权限是否正确
数据库地址需要填写192.168.0.116 请将该ip更换您的ip,数据库需要开启远程登录才可以,否则无法连接上数据库,如使用root测试,也要开启root远程访问
Grant all privileges on *.* to ‘root’@’%’ identified by ‘test’ with grant option;
好了。感谢各位。欢迎转载,有问题可以在评论区评论
文章评论 本文章有个评论