分类目录归档:Linux

负载均衡如何做,负载均衡的几个方案

1.硬件负载均衡 一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护、缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用; 2.软件负载均衡 LVS/HAProxy、Nginx的基于Linux的开源免费的负载均衡软件策略,这些都是通过软件级别来实现,所以费用非常低廉,所以我个也比较推荐大家采用第二种方案来实施自己网站的负载均衡需求。 在软件负载均衡里,只要买几个服务器,安装软件就好了 合理的软件方案:Nginx/HAProxy+Keepalived作Web最前端的负载均衡器,后端的MySQL数据库架构采用一主多从,读写分离的方式,采用LVS+Keepalived的方式。 3.本地负载均衡技术 本地负载均衡技术是对本地服务器群进行负载均衡处理。该技术通过对服务器进行性能优化,使流量能够平均分配在服务器群中的各个服务器上,本地负载均衡技术不需要购买昂贵的服务器或优化现有的网络结构。 4.全局负载均衡技术 全局负载均衡技术适用于拥有多个低于的服务器集群的大型网站系统。全局负载均衡技术是对分布在全国各个地区的多个服务器进行负载均衡处理,该技术可以通过对访问用户的IP地理位置判定,自动转向地域最近点。很多大型网站都使用的这种技术。 5.链路集合负载均衡技术 链路集合负载均衡技术是将网络系统中的多条物理链路,当作单一的聚合逻辑链路来使用,使网站系统中的数据流量由聚合逻辑链路中所有的物理链路共同承担。这种技术可以在不改变现有的线路结构,不增加现有带宽的基础上大大提高网络数据吞吐量,节约成本。 三种软件负载均衡 LVS负载均衡的特点是: 1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的; 2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率; 3、工作稳定,自身有完整的双机热备方案,如LVS+Keepalived和LVS+Heartbeat,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived; 4、无流量,保证了均衡器IO的性能不会收到大流量的影响; 5、应用范围比较广,可以对所有应用做负载均衡; 6、软件本身不支持正则处理,不能做动静分离,这个就比较遗憾了;其实现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。 7、如果是网站应用比较庞大的话,实施LVS/DR+Keepalived起来就比较复杂了,特别后面有Windows Server应用的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了。 Nginx负载均衡的特点是: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是许多朋友喜欢它的原因之一; 2、Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势所在; 3、Nginx安装和配置比较简单,测试起来比较方便; 4、也可以承担高的负载压力且稳定,一般能支撑超过几万次的并发量; 5、Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测; 6、Nginx仅能支持http和Email,这样就在适用范围上面小很多,这个它的弱势; 7、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP现在也是非常流行的web架构,大有和以前最流行的LAMP架构分庭抗争之势,在高流量的环境中也有很好的效果。 8、Nginx现在作为Web反向加速缓存越来越成熟了,很多朋友都已在生产环境下投入生产了,而且反映效果不错,速度比传统的Squid服务器更快,有兴趣的朋友可以考虑用其作为反向代理加速器。 HAProxy负载均衡的特点是: 1、HAProxy是支持虚拟主机的,以前有朋友说这个不支持虚拟主机,我这里特此更正一下。 2、能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作 3、支持url检测后端的服务器出问题的检测会有很好的帮助。 4、它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。 5、HAProxy可以对Mysql读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,不过在后端的MySQL slaves数量超过10台时性能不如LVS,所以我向大家推荐LVS+Keepalived。 6、HAProxy的算法现在也越来越多了,具体有如下8种: ①roundrobin,表示简单的轮询,这个不多说,这个是负载均衡基本都具备的; … 继续阅读

发表在 Linux, 高并发与大数据 | 标签为 , , | 留下评论

python2.7 安装node-clean-css

sudo apt-get install node-less sudo apt-get install npm sudo npm install -g less less-plugin-clean-css /usr/lib/node_modules/npmconf requires inherits@’~2.0.0′ but will load 以下操作前,备份inherits inherits@2文件夹,不行再还原回来 cd /usr/lib/node_modules $ unlink inherits $ rm -rf inherits\@2/ $ npm install -g inherits sudo ln -s /usr/bin/nodejs … 继续阅读

发表在 Linux | 标签为 , | 留下评论

Centos 6.5 升级系统Python2.6 到 Python2.7

#python  -V     Python 2.6.6  1.下载Python-2.7.3   #wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2   2.解压     #tar -jxvf Python-2.7.3.tar.bz2   3.更改工作目录     #cd Python-2.7.3   4.安装 #./configure   #make all              #make install   #make clean   #make distclean   5.查看版本信息 #/usr/local/bin/python2.7 -V   python -v

发表在 Linux | 标签为 , | 一条评论

Linux shell 命令读取一个文本每一行文字

while read LINE do f=$LINE done < b.txt echo $f #读出b的文件,进行分析。 #循环 shell for ((i=0;i<$f-1;i++)) do echo $i done

发表在 Linux | 标签为 , , | 留下评论

php如何支持多线程并发

java里多线程就是一个new thread的事情,php依赖apache靠着linux底层有一个多线程的办法。 今天说说如果你无法操控apache的服务器,如何模拟php并发 <?php if(function_exists(’date_default_timezone_set’)) { date_default_timezone_set(’PRC’); }   function a() { $time = time();   sleep(3); $fp = fopen(’result_a’.$time.’.log’, ‘w’); fputs($fp, ‘Set in ‘ . Date(’h:i:s’, time()) . (double)microtime() . "rn"); fclose($fp); } function b() { $time = time(); … 继续阅读

发表在 Linux, PHP | 标签为 , | 留下评论

discuz 论坛迁移数据要修改的地方

今天迁移数据库一眼看见config目录下的文件 config_global.php 就修改了,爆出各种js错误 config_ucenter.php 也改了,后台超级管理员无法登录 最后发现还有个文件uc_server 目录下,还有个配置文件uc_server/data/config.inc.php 三个文件都改,就没有错误了。

发表在 Linux, PHP | 标签为 , | 2 条评论

nginx 设置限制ip访问

一、服务器全局限IP #vi nginx.conf allow 10.57.22.172; #允许的IP deny all; 二、站点限IP #vi vhosts.conf 站点全局限IP: location / { index index.html index.htm index.php; allow 10.57.22.172; deny all; location ~ \.php$ { if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;} fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param … 继续阅读

发表在 Linux, PHP | 标签为 , , | 留下评论

Centos yum方式安装java

以前在Linux 下安装 java 都是使用下载的java包,进行安装,然后配置 今天突然脑洞一下,发现应该可以用yum 结果一下子 yum install java 给我默认安装了一个java1.5,我的心顿时碎了 查看CentOS自带JDK是否已安装。 ◆输入:yum list installed |grep java。 若有自带安装的JDK,如何卸载CentOS系统自带Java环境? ◆卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。 ◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。 当结果显示为Complete!即卸载完毕。 注:“*”表示卸载掉java 1.7.0的所有openjdk相关文件。 检查CentOS系统网络连接是否正常。 ◆使用yum方式安装需要连接网络下载Java相应安装文件,故此需要使用ping命令测试网络;如:ping 百度URL即可。 查看yum库中的Java安装包。 ◆输入:yum -y list java* 。 使用yum安装Java环境。 ◆输入:yum -y … 继续阅读

发表在 JAVA, Linux | 标签为 , , , | 3 条评论

nginx php-fpm 上传大图片出错

1.需要安装gd库 yum -y install gd 重启动fpm 2.nginx 默认图片上传最大限制比较小。 修改PHP.ini中post_max_size upload_max_filesize max_execution_time max_input_time   打开php.ini文件,修改完毕后重启服务器。测试下上传文件。。。。(嘻嘻,是不是传上了很大的文件?)   1、文件上传时存放文件的临时目录。必须是 PHP 进程所有者用户可写的目录。如果未指定则 PHP 使用系统默认值php.ini文件中upload_tmp_dir用来说明PHP上传的文件放置的临时目录。   要想上传文件,得保证服务器没有关闭临时文件和有对文件夹的写权限   2、max_execution_time   变量max_execution_time设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算。当脚本进入了一个无限循环状态 时此变量非常有用。然而,当存在一个需要很长时间完成的合法活动时(例如上传大型文件),这项功能也会导致操作失败。在这样的情况下必须考虑将此变量值增 加,以避免PHP在脚本正在执行某些重要过程的时候将脚本关闭。   修改为:max_execution_time =800   3、file_uploads = On(原来问开就不用设置了)   4、upload_max_filesize =2M修改为800M   5、同表单提交相关的一个变量是post_max_size,它将控制在采用POST方法进行一次表单提交中PHP所能够接收的最大数据量。似乎不大 可能需要将默认的8 MB改得更大。相反,应当适当将其降到更为实际的数值。但如果希望使用PHP文件上传功能,则需要将此值改为比upload_max_filesize还 要大。   也修改为:post_max_size =900M   6、max_input_time   此变量可以以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制。如果应用程序所运行环境处在低速链路上,则需要增加此值以适应接收数据所需的更多时间.   修改为:max_input_time =900 … 继续阅读

发表在 Linux, PHP | 标签为 , , , , | 留下评论

SVN关键命令行

查看修改的文件记录 svn cat — 显示特定版本的某文件内容。 svn list — 显示一个目录或某一版本存在的文件列表。 svn log — 显示svn 的版本log,含作者、日期、路径等。 svn diff — 显示特定修改的行级详细信息。 导入新项目应该用svn import list示例: 强行上传所有子目录下的新文件 $ svn add * –force svn list http://svn.test.com/svn #查看目录中的文件。 svn list -v http://svn.test.com/svn #查看详细的目录的信息(修订人,版本号,文件大小等)。 svn list [-v] #查看当前当前工作拷贝的版本库URL。 … 继续阅读

发表在 Linux, MAC | 标签为 , | 留下评论