美高梅官方网站3045-mgm6608美高梅app下载
国内php原创论坛_php功底_脚本之家

国内php原创论坛_php功底_脚本之家

作者:mgm6608美高梅app下载    来源:未知    发布时间:2019-11-22 19:37    浏览量:

国内php原创论坛 ofstar ctb wdb discuz fastboard之比较-----个人总结由于旅行的fastboard加密了就不做比较了--当然是款不错的程序下面的比较单从技术角度出发,不考虑个人专好,毕竟个人专好,因人而异!以下主要比较:速度,稳定性,安全,负载能力,后台,前台功能ofstar与ctb之比较1,在速度上ofstar远远快于ctb2,在稳定性上ctb还是采用传统的稳定性概念,某种意义上是不稳定的!3,在安全上ctb没有过滤恶意代码等所造成的安全问题!4,在负载能力上,当大量数据存在时,ctb存在管理,搜索,线程,帖子浏览所造成的负荷比较大!ofstar采用了独有的读写算法,第一次突破了文本数据库的负载问题!5,后台上ctb和 ofstar 各有所长,不过在备份上,ctb备份比较麻烦6,前台功能ctb不如ofstar!7,ctb起步早,ctb插件较多,现成的风格也较多!ofstar与wdb之比较现有的所有wdb存在者极严重的安全漏洞,可以轻松得到管理员密码!因此不做详细比较,简单点:稳定性,安全,负载能力,后台,模版套系都不及ofstar,而且后期其他人的修改版的速度远不及ofstarofstar与discuz之比较ofstar采用平面文件数据库,discuz采用mysql数据库1,速度上ofstar远远快于discuz2,在稳定性上,由于采用不同的数据库,如做比较涵盖范围较大,不过ofstar独有的文本稳定性算法,这点比较优秀,而且在大型论坛中也实验成功!3,在安全上,由于采用不同的数据库,比较性降低,就代码上ofstar较discuz 免费版强4,由于数据库物理结构不同,在负载能力上与后台管理,由于ofstar采用了独特的算法,两者不相上下!5,前台功能上,ofstar在图片和附件的防盗做得比较好,后台功能discuz用户组功能比ofstar完善,其他不相上下!6,discuz发展早,插件较多

Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有14年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.2正式版于2015年6月9日发布,首次引入应用中心的开发模式。2010年8月23日,康盛创想与腾讯达成收购协议,成为腾讯的全资子公司。
Crossday Discuz! Board(以下简称 Discuz!,中国国家版权局著作权登记号 2006SR11895)是康盛创想(北京)科技有限公司(英文简称Comsenz)推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz! 的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。
作为国内最大的社区软件及服务提供商,Comsenz旗下的 Discuz! 开发组具有丰富的 web应用程序设计经验,尤其在论坛产品及相关领域,经过长期创新性开发,掌握了一整套从算法,数据结构到产品安全性方面的领先技术。使得 Discuz! 无论在稳定性、负载能力、安全保障等方面都居于国内外同类产品领先地位。
下面我们就来看一下LNMP环境下的Discuz安装配置过程:
1、配置nginx

      在前面的几篇文章中,主要谈到了在Discuz!NT中的跨站缓存数据,数据库负载均衡。但如果要实现将产品分布式布置到若干机器,组成集群来共同支撑起整个业务的话,还是有一定问题的(后面会有所介绍)。下面先介绍一下如何使用 Discuz!NT负载均衡方案搭建分布式应用。

vim /usr/local/nginx/etc/nginx.conf


user nginx;
 worker_processes 1; 
#error_log logs/error.log;
 #error_log logs/error.log notice;
 error_log logs/error.log info;
events {
  worker_connections 1024;
 }
http {
  include    mime.types;
  server_tokens off;
  default_type application/octet-stream;
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
  access_log logs/access.log main;
  sendfile    on;
  keepalive_timeout 65;
  client_header_buffer_size 32k;          
  large_client_header_buffers 4 32k;
   #客户请求头缓冲大小 nginx默认会用client_header_buffer_size这个buffer来读取header值,如果header过大,它会使用large_client_header_buffers来读取如果设置过小HTTP头/Cookie过大 会报400 错误 nginx 400 bad request求行如果超过buffer,就会报HTTP 414错误(URI Too Long)nginx接受最长的HTTP头部大小必须比其中一个buffer大,否则就会报400的HTTP错误(Bad Request)。
  client_max_body_size 8m;              #最大上传附件8MB
  client_body_buffer_size 128k;           #缓冲区代理缓冲用户端请求的最大字节数
  keepalive_timeout    60;
  tcp_nopush   on;
  tcp_nodelay  on;
  gzip on; 
  gzip_min_length 1k;
  gzip_buffers   4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  include vh/bbs.yourich.com.cn.conf;
 }
mkdir /usr/local/nginx/etc/vh
 vim /usr/local/nginx/etc/vh/discuz.conf
upstream  bbs.test.com
 {
  server 127.0.0.1;
  check interval=3000 rise=2 fall=5 timeout=1000 type=http;  
   #interval检测间隔时间,单位为毫秒
   #rsie请求2次正常的话,标记此realserver的状态为up
   #fall表示请求5次都失败的情况下,标记此realserver的状态为down
   #timeout为超时时间,单位为毫秒
  check_http_send "GET / HTTP/1.1rnHOST:rnrn";
  check_http_expect_alive http_2xx http_3xx http_4xx;
 }
server {
  listen 80;
  server_name bbs.test.com;
  index index.html index.php;
  root /www/discuz;
  access_log logs/bbs_access.log main;
  error_log logs/bbs_error.log;
  location ~ .*.(jpg|jpeg|png|gifjs|css)$ {
    root /www/discuz;
    access_log off;
  }
  location / {
    try_files $uri $uri/ /index.php?$args;
  }
  location ~.*.(php)?$ {
    expires -1s;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    try_files $uri = 404;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /www/discuz$fastcgi_script_name;
    fastcgi_param QUERY_STRING  $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE  $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
  }
}

     Discuz!NT前端负载均衡可以是nginx,lvs,haproxy等,当然配置最简单的基于nginx实现的,下面是它的一些简介:
    
      Nginx("engine x")是俄罗斯人编写的十分轻量级的HTTP服务器。它不但是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发,已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。
      Google在线安全博客中统计nginx服务或代理了大约所有Internet虚拟主机的4%。而netcraft的统计显示,nginx服务的主机在过去的一年里以四倍的速度增长。短短的几年里,它的排名已跃进第9。
      Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
      Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前Apache一旦上到200个以上进程, web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。Nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言, nginx比
lighthttpd更胜一筹。
      Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、56.com等视频分享网站,水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。

2、下载discuz 下载discuz安装包并解压将upload目录下的所有内容复制到nginx指定的网站文档跟目录下 /www/discuz
设置权限

      下面这张图简要说明在我们产品中nginx的作用:
     
     
     图片 1
     
     
     
      图中的asp.net就是我们布署的相应iis站点应用,相信做过负载均衡的朋友会发现,在大型网站架构中,IIS或其它应用服务器会有许多(节点),而nginx会动态的按照相应权重给不同的节点上分配相应请求(有关nginx在window和linux下的配置可参见这篇文章)    

chown -R nginx:nginx /www/discuz

     也就是下面这张图所说明的:
     
图片 2     
     
     
     这里先抛开对静态文件缓存(通常使用squid,以后会进行介绍),图中web服务器(IIS)会有几个集群,这就需要将产品分布布署到若干机器上,这样如果某台机器(节点)上的文件发生变化,就需要有一种同步机制来保证不同站点之间的文件一致且是最新的。在discuz!nt产品中,有一些目录下的文件会频繁发生变化,比如:

3、创建数据

     1.在Discuz!NT的后台有模板生成机制,它会将前台的htm模板文件(位于discuz.webtemplates目录下)翻译并生成为“aspx”文件,而有关翻译转换这部分内容请参见这篇文章。        

create database discuz default character set utf8;
 grant all privileges on discuz.* to discuz@'localhost' identified by 'discuz';
 flush privileges;

     2.前台discuz.webconfig下的配置文件,该目录下文件存储的是整个论坛的相应配置信息,所有功能的开关都需要进行记录,非常重要,当管理员在后台通过相关页面修改了这些配置文件后,需要第一时间将这些信息同步到其它分布节点上。

4、安装discuz 在浏览器中输入 根据向导进行安装

     这的确是一个挑战,但好在已有相应的软件能帮助我们实现这个基础功能,就是 cwRsync,它最早是在linux下的一个同步工具,后来有了Windows版本,就是cwRsync,利用它同时再借助windows中的“任务计划”来创建定时任务,就可以实现定时同步功能了,之间在windows2003上可以设置分钟级别的同步方式,如下:
    
         图片 3       

您可能感兴趣的文章:

  • 在Linux系统上部署Apache+Python+Django+MySQL环境
  • MySQL的一些功能实用的Linux shell脚本分享
  • Linux下将数据库从MySQL迁移到MariaDB的基础操作教程
  • 讲解Linux系统下如何自动备份MySQL数据的基本教程
  • mysql忘记密码怎么办(windows linux)
  • linux下python3连接mysql数据库问题
  • linux mint 下mysql中文支持问题
  • Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略
  • Linux系统下自行编译安装MySQL及基础配置全过程解析

       而有关如何设置它,可以参考这篇文章。 

       除了文件同步,还有附件的问题,比如用户在一个节点上发了主题并上传了相关附件,那就会造成只有该节点的目录下有相应附件(如图片等),而别的节点上没有。虽然可以通过上面的同步机制来实现多个节点上同步附近,但这势必会造成存储空间和服务器性能上的降低,好在我们的产品中提供了远程附件功能,它允许通过FTP方式将上传到指定节点上的附件上传到远程的ftp服务器上,同时修改数据库中的附件路径为FTP上远程附件的路径,有关这方面的内容,可以参见这篇文章。      

友情链接: 网站地图
Copyright © 2015-2019 http://www.zen-40.com. mgm美高梅有限公司 版权所有