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

 更新时间:2015年12月25日 21:48  点击:2306

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 根据向导进行安装

[!--infotagslink--]

相关文章

  • php中用curl模拟登录discuz以及模拟发帖

    本文章完美的利用了php的curl功能实现模拟登录discuz以及模拟发帖,本教程供参考学习哦。 代码如下 复制代码 <?php $discuz_url = &lsquo;ht...2016-11-25
  • MySQL针对Discuz论坛程序的基本优化教程

    过了这么久,discuz论坛的问题还是困扰着很多网友,其实从各论坛里看到的问题总结出来,很关键的一点都是因为没有将数据表引擎转成InnoDB导致的,discuz在并发稍微高一点的环境下就表现的非常糟糕,产生大量的锁等待,这时候如果...2015-11-24
  • Discuz插件漏洞攻击

    PS:话说光这个漏洞《黑客X档案》都说了N遍,呵呵........ 既然有人公布了,也有人连利用程序都写好了,那我也就公布吧!消息来源是鬼仔告诉我的,好像是火狐哪个大哥发现的...2016-11-25
  • Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程

    这篇文章主要介绍了Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程,Discuz是用PHP写成的国内最流行的论坛软件,文中默认前提是已经构建好了PHP环境,需要的朋友可以参考下...2015-12-25
  • Discuz!7.0 如何恢复被误删的用户组

    Discuz!7.0 如何恢复被误删的用户组 在Discuz!7.0中,有些站长在设置用户组时,可能不小心误删了其他用户组,这样会导致原本属于该用户组的用户无法正常访问论坛。 ...2016-09-20
  • Discuz论坛密码与密保加密规则

    这篇文章主要介绍了Discuz论坛密码与密保加密规则的相关资料,需要的朋友可以参考下...2017-01-08
  • forum.php怎么去掉?Discuz教程/X3彻底去掉域名后面的/forum.php的方法

    在安装discuz论坛源码的时候,我们会发现,链接的尾部多了一个forum.php,那么如何去除呢?下面详细讲解一下! 一、Discuz x3去掉主域名后面的/forum.php的方法修改方法:进...2017-07-06
  • discuz URL 静态化

    discuz URL 静态化, discuz 静态化 ,discuz论坛静态化以及discuz 静态化设置 等下面我们一一列出静态化方法. 一、Apache Web Server(独立主机用户) 首先确定您使用的 Apache...2016-01-28
  • discuz 登陆出现Can not connect to MySQL server

    discuz 登陆出现Can not connect to MySQL server ,这是我在把网站从一服务器转移到另一服务器时出来的原因了,下面我们来看看这是什么原因吧。 我们找到confing.i...2016-09-20
  • 帝国CMS整合Discuz!7.2方法,完整双向同步登录退出

    用帝国CMS6.6整合安装Discuz!7.2。为了便于以后的升级扩展。决定整合ucenter1.5 首先安装 “Discuz_7.2_FULL_SC_GBK”也就是已经包含ucenter1.5的Discuz7.2版本...2016-05-19
  • Discuz!跨站大全

    在discuz!的发贴、回贴、PM等中的subject都没有经过过滤,所以也可以添加代码。 例如 http://xxx/post.php?action=newthread&fid=2...cript%3E%3Cb%22 效果是首先弹出...2016-11-25
  • Discuz论坛2.5 升级到PHP MySQL新版遇到的问题

    1 中文问题,在使用MySQL实例配置工具的使用,将使用的字符集设置为GBK,而不要设置为UTF-8 2 MySQL安装后密码无法访问问题: mysql> SET PASSWORD FOR -> 'some_user'@'...2016-11-25
  • discuz email 已经被注册的解决办法

    如果论坛不唯一邮箱太多,又不能挨个修改,只能通过程序解决,防止修改的密码的时候报错。具体修改如下: 找到: $ucresult = uc_user_edit($discuz_user, $oldpassword, $ne...2016-11-25
  • PHP调用discuz登陆框实现外部登录

    利用php调用discuz登录框方法有很多种,最常用的就是直接使用iframe方式调用了,还有就是直接在php页面中调用了,下面小编来给大家总结一些常用的方法。 方法一,直接使...2016-11-25
  • 浅谈discuz密码加密的方式

    discuz注册时,会把密码按一个规则加密。比如我的密码是123456复制代码 代码如下:echo md5("123456"); 会输出:复制代码 代码如下:e10adc3949ba59abbe56e057f20f883e而数据库的值却为:复制代码 代码如下:7839dc9437013b5...2014-05-31
  • 如何来解决Discuz memcache+ssrf GETSHELL漏洞的问题

    这2天,很多站长肯定都收到阿里云提示discuz memcache+ssrf GETSHELL漏洞的相关说明,但购买阿里云云盾安骑士最少需要支付100块钱,下面我就在猪先飞网给大家分享下如何来解...2016-06-08
  • discuz模拟登录实现自动顶帖php程序

    在php 模仿登录我们需要使用curl_init函数,下面我来介绍利用 curl 模拟 post 登录discuz论坛并且实现自动顶帖功能。 其实模拟登录就那点事,无法就是获得相应的参...2016-11-25
  • discuz X的单件模式

    文章介绍了一个关于discuz X的单件模式原创文章,PPC高亮插件太不友好了,我直接贴txt内容都会有奇奇怪怪问题发生。 X的只要文件开头都有这么一句话 代码...2016-11-25
  • Discuz!X 中自定义积分策略和给用户添加积分

    自定义积分策略,然后调系统方法给用户添加设定的该策略的积分...2017-12-27
  • 【已验证】discuz二次开发积分、活跃、金币更新的方法

    Discuz中的updatemembercount积分操作函数解析...2018-02-08