Home >Backend Development >PHP Tutorial >Basic tutorial on configuring the forum program Discuz under Linux+Nginx+MySQL

Basic tutorial on configuring the forum program Discuz under Linux+Nginx+MySQL

WBOY
WBOYOriginal
2016-07-29 09:09:121022browse

Crossday Discuz! Board (Discuz! for short) is a universal community forum software system launched by Beijing Kangsheng Xinchuang Technology Co., Ltd. Since its launch in June 2001, Discuz! has more than 14 years of application history and more than 2 million website user cases. It is one of the most mature and coverage forum software systems in the world. The latest version, Discuz! X3.2, was officially released on June 9, 2015, introducing the application center development model for the first time. On August 23, 2010, Kangsheng Chuangxiang reached an acquisition agreement with Tencent and became a wholly-owned subsidiary of Tencent.
Crossday Discuz! Board (hereinafter referred to as Discuz!, Copyright Registration No. 2006SR11895 of the National Copyright Administration of China) is a universal community forum software system launched by Comsenz (Beijing) Technology Co., Ltd. (English abbreviation: Comsenz). Users can Without any programming, through simple settings and installation, a forum service with complete functions, strong load capacity and highly customizable can be built on the Internet. Discuz!'s infrastructure is implemented using PHP+MySQL, the world's most popular web programming combination. It is a well-designed and efficient forum system solution suitable for various server environments.
As the largest community software and service provider in China, the development team of Discuz!, a subsidiary of Comsenz, has rich experience in web application design, especially in forum products and related fields. After long-term innovative development, it has mastered a complete set of algorithms, data Leading technology from structure to product safety. This makes Discuz! in the leading position among similar products at home and abroad in terms of stability, load capacity, safety and other aspects.
Let’s take a look at the Discuz installation and configuration process in the LNMP environment:
1. Configure 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. Download discuz
Download the discuz installation package and unzip it. Copy all the contents in the upload directory to nginx specified website document and directory /www/discuz
Set permissions

chown -R nginx:nginx /www/discuz

3. Create data

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

4. Install discuz
Enter http://ip/install in the browser and follow the wizard Install

The above introduces the basic tutorial for configuring the forum program Discuz under Linux+Nginx+MySQL, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:nginx infrastructureNext article:nginx infrastructure