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 相关文章推荐
php5 mysql分页实例代码
Apr 10 PHP
PHP 模拟登陆MSN并获得用户信息
May 16 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
PHP 验证码的实现代码
Jul 17 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
php编写简单的文章发布程序
Jun 18 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
PHP获取访问设备信息的方法示例
Feb 20 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
PHP使用非对称加密算法RSA
Apr 21 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
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
jQuery使用方法
2017/02/04 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
Python获取当前路径实现代码
2017/05/08 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
逼真的HTML5树叶飘落动画
2016/03/01 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
终止合同协议书
2014/04/17 职场文书
客户答谢会活动方案
2014/08/31 职场文书
行政经理岗位职责
2015/04/15 职场文书
亮剑观后感600字
2015/06/05 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android