Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程


Posted in PHP onDecember 23, 2015

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

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.1\r\nHOST:\r\n\r\n";
  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|gif\js|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;
  }
}

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

chown -R nginx:nginx /www/discuz

3、创建数据

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

4、安装discuz
在浏览器中输入http://ip/install 根据向导进行安装

PHP 相关文章推荐
关于页面优化和伪静态
Oct 11 PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
php的debug相关函数用法示例
Jul 11 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 #PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
Dec 23 #PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 #PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 #PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 #PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 #PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 #PHP
You might like
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
python字符串过滤性能比较5种方法
2017/06/22 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
基于ccs3的timeline时间线实现方法
2020/04/30 HTML / CSS
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
家庭户外服装:Hawkshead
2017/11/02 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
夜班门卫岗位职责
2013/12/09 职场文书
电台实习生求职信
2014/02/25 职场文书
幼儿园小班评语大全
2014/04/17 职场文书
银行求职自荐信
2014/06/30 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
单位同意报考证明
2015/06/17 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL