博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
细谈普通网站的后台构建实战----my note
阅读量:5992 次
发布时间:2019-06-20

本文共 3137 字,大约阅读时间需要 10 分钟。

hot3.png

   

  比如你建一个普通网站,流量不高。如何设计

普通PC环境,大约同时支持2000到3000的并发量,当然,我不排除有高手进行后台服务器优化,实现更高的并发量。

一些大型的网站会采取“分流”的方式去将连接平均分摊到后台服务器,例如前面一台主机负责接收连接和与后台服务器的负载均衡。如下图:

 

实例如途中,一共需要配置了多台服务器。

server1——装有Centos6.3,Web server 为Nginx,主要功能对网站用户进行负载均衡,将访问派送到后台的Webserver。

server2——装有Centos6.3,基本配置为LAMP,或者LNMP。两者皆有优缺点。主要用户保存网站,数据存储和网站数据处理等工作。

server3——同上

server4——同上

……

……

同时,为了保证数据的一致性,我们会采取一种数据库同步的操作,利用1主2从,最后再做加入新从的测试。其实之前我也做过,具体可以参照之前写的博客

正式开始配置

先分别为4台server安装Centos6.3,不选择安装Webserver,Database和PHP等,只安装Centos。

配置辅助负载均衡的server前,先配置后台server,这里,我选择配置LNMP,具体配置方法可以参照我博文

也可以使用

这里我所使用的是一键安装LANMP版本,配置比较简单,比较适合新手。

下载安装

wget 

tar zxvf lanmp_v2.4.tar.gz

sh in.sh

4个可选安装,如下图

1,2,3 是安装独立的环境,不可自由切换nginx,apache,nginx+apache应用环境

4 是安装所有,即可自由切换nginx,apache,nginx+apache的应用环境

编译安装比较慢,现只提供在CentOS 5.X/wdlinux_base 5.X/wdos 1.X 系统下的RPM安装,5分钟就可以

也可以直接下载wdos的安装,集成最新的wdcp,不过目前只有32位

具体可看  

虽然安装LANMP,但实际应用的时候会将服务系形似分配成LNMP或者LAMP。

测试通过就继续安装,分别安装了3台。

测试通过后,实际环境为:

1.LN(Centos6.3+Nginx)用于负载均衡---IP地址:192.168.1.100

2.LNMP(Centos6.3+Nginx+Mysql+PHP)Web服务器---IP地址:192.168.1.171

3.LNMP(Centos6.3+Nginx+Mysql+PHP)Web服务器---IP地址:192.168.1.172

4.LNMP(Centos6.3+Nginx+Mysql+PHP)Web服务器---IP地址:192.168.1.173

5.LNMP(Centos6.3+Nginx+Mysql+PHP)备用Web服务器---IP地址:192.168.1.174

Mysql复制

按照一开始的架构图,需要1主2从,所以开始配置mysql复制,具体可以参照之前写的博客 使用前要先说明,如果使用一键安装版,就需要将read_only = 1 这个选项去掉,不能添加。这个只读设置会影响一键安装版的PHP管理页面。

2号服务器的Mysql为主,3号,4号的为从。

配置过程中,要将2个数据库列出到排外,不需要进行复制同步。避免数据库出错。

 
#主/etc/my.cnf   binlog_ignore_db=mysql,wdcpdb   #从/etc/my.cnf   replicate-ignore-db=mysql   replicate-ignore-db=wdcpdb 

配置完毕后,在两天从中输入:

 
SHOW SLAVE STATUS\G 

查看复制状态,当看见

 
Slave_IO_Running: Yes   Slave_SQL_Running: Yes 

就已经证明复制已经可以正常运作。在主随便创建一个数据库,然后在从刷新,就会出现刚复制过来的数据库。

虚拟主机

做到这一步,基本就已经完成,剩下的就是建立虚拟主机放置网站和设定Nginx负载均衡。

打开浏览器输入192.168.1.171:8080,进入wdcp服务器管理界面,根据下图进行简单设置。

 

 

简单说明,增加服务器端口,是因为文章开头已经说过,在假设没有DNS的前提下进行操作,没有DNS的域名识别,如何进行虚拟主机识别呢?用端口。我这里分别开通了81,82.Web引擎,默认是Lanmp的就是Linux+apache+Nginx+Mysql+php,我们这个项目需要高并发量,所以设置了Lnmp就是Web引擎为Nginx。设置完成后重启。

设置虚拟主机

 

使用该管理系统新建虚拟主机非常简单,只需要点击新建站点,写一下域名,就可以了,当然,记得将端口改为81.分别在三台服务器中建立虚拟主机,端口号均为81.实际的第一个站点的虚拟主机如下:

 
1-server-192.168.1.171:81   2-server-192.168.1.172:81   3-server-192.168.1.173:81 

注意问题:系统时间

有时候安装完系统,系统时间会跟实际时间有出入,可能是时区问题,可能是虚拟机问题,等等,无论问题,都要调整时间,下面为Linux调整时间的方法。

 
修改linux的时间可以使用date指令     在命令行输入:     date    显示当前时间 Fri Aug  3 14:15:16 CST 2007    date -s    按字符串方式修改时间   可以只修改日期,不修改时间,输入: date -s 2007-08-03  只修改时间,输入:date -s 14:15:00  同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:date -s "2007-08-03 14:15:00"    修改完后,记得输入:clock -w    把系统时间写入CMOS 

负载均衡

对于LN 的安装我就不再说明,直接跳过。(Linux+Nginx)

首先要开通负责负载均衡服务器(LN)的80端口。

1.配置Nginx.conf

 
vi /etc/nginx/nginx.conf 

修改成

 
user  nginx;   worker_processes 10;   #error_log  logs/error.log;   #error_log  logs/error.log  notice;   #error_log  logs/error.log  info;   #pid        logs/nginx.pid;   worker_rlimit_nofile 51200;   events   {         use epoll;         worker_connections 51200;   }   http   {         include       /etc/nginx/mime.types;         default_type  application/octet-stream;         keepalive_timeout 120;         tcp_nodelay on;       upstream s01 {       server 192.168.1.171:81;       server 192.168.1.172:81;       server 192.168.1.173:81;       }       server {       listen 80;       server_name s01.domain.com;       location / {                          proxy_pass        http://s01;                 }       }  

2.重启Nginx

 
service nginx restart OK啦

转载于:https://my.oschina.net/bigfool007139/blog/645267

你可能感兴趣的文章
特朗普要为苹果公司大幅减税被指不现实
查看>>
SaaS创企在销售方面常犯的3大致命伤 你中招了没
查看>>
工信部欲解决虚拟运营商亏损症结
查看>>
浪潮与英特尔在美国联合发布FPGA加速卡F10A
查看>>
高通把脚伸向服务器和PC市场 但x86老大并不乐意
查看>>
指静脉识别标准实施1个月 有何影响?
查看>>
OurMine黑客攻击汇丰银行
查看>>
英国即将成立一个数据中心崩溃报告调查小组
查看>>
如何仅用一个命令来提高MySQL安全系数?
查看>>
车载手机充电误区多,一插一拔竟会损坏手机?!
查看>>
数据中心布线系统构成及不同规模范例
查看>>
《响应式Web设计:HTML5和CSS3实践指南》——导读
查看>>
RFID Consortium与CSL签订专利许可协议
查看>>
如何对待测试开发团队中那个拖后腿的人?
查看>>
《C语言接口与实现:创建可重用软件的技术》一1.4 扩展阅读
查看>>
《OpenGL ES 3.x游戏开发(上卷)》一导读
查看>>
《Java 2D游戏编程入门》—— 第8章 游戏原型
查看>>
《HTML5+JavaScript动画基础》——1.3 动态动画与静态动画
查看>>
《软件工程(第4版?修订版)》—第2章2.6节实时系统的例子
查看>>
Java 7: 全面教程-目录
查看>>