基于LNMP搭建Discuz!论坛

  1. 云栖社区>
  2. 博客>
  3. 正文

基于LNMP搭建Discuz!论坛

技术小胖子 2017-11-15 19:01:00 浏览778
展开阅读全文

前面我们已经搭建好了LNMP环境:http://msiyuetian.blog.51cto.com/8637744/1688048

下面我们基于LNMP来搭建一个Discuz!论坛


一、安装Discuz!


1、新建目录来存放网页等

[root@tpp ~]# mkdir /data/www
[root@tpp ~]# cd /data/www  
[root@tpp www]# wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip                                                     //下载最新版本的Discuz!
[root@tpp www]# unzip Discuz_X3.2_SC_GBK.zip     //解压
[root@tpp www]# ls
Discuz_X3.2_SC_GBK.zip  readme  upload  utility  

2、程序文件会放于upload下,所以全部移到www目录下,并且删除多余的文件。

[root@tpp www]# mv upload/* ./       
[root@tpp www]# ls
admin.php  connect.php             favicon.ico  install     readme    template  utility
api        cp.php                  forum.php    member.php  robots.txt  uc_client
api.php    crossdomain.xml         group.php    misc.php    search.php  uc_server
archiver   data                    home.php     plugin.php  source      upload
config     Discuz_X3.2_SC_GBK.zip  index.php    portal.php  static      userapp.php
[root@tpp www]# rm -rf readme/ utility/ upload/ Discuz_X3.2_SC_GBK.zip   

3、修nginx的主配置文件,虚拟主机单独放于一个文件中

[root@tpp www]# vim /usr/local/nginx/conf/nginx.conf

user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
    use epoll;
    worker_connections 6000;
}
http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    '$host "$request_uri" $status'
    '"$http_referer" "$http_user_agent"';
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm application/xml;
   include vhosts/*.conf;    //添加该行,并剪切出虚拟主机配置
}

在主配置文件末尾加上include vhosts/*.conf;并且剪切出下面的内容作为虚拟主机的配置文件,单独放于 /usr/local/nginx/conf/vhosts目录下

[root@tpp www]# mkdir /usr/local/nginx/conf/vhosts
[root@tpp www]# cd /usr/local/nginx/conf/vhosts
[root@tpp vhosts]# vim default.conf   //写入下面的内容
server
{
    listen 80 default;
    server_name localhost;
    index index.html index.htm index.php;
    root /tmp/1233/;
    deny all;
}


[root@tpp vhosts]# mkdir /tmp/1233                   //创建空目录
[root@tpp vhosts]# /usr/local/nginx/sbin/nginx -t    //检查nginx是否配置错误
[root@tpp vhosts]# /etc/init.d/nginx reload          //重新加载nginx

因为vhosts目录下自带了默认的虚拟主机配置文件,访问时候会自动跳转到默认的虚拟主机,为了安全起见我们禁止所有的访问,使其访问我们自己设置的网页。添加default,表示默认主机;路径修改为空目录/tmp/1233/;deny all表示禁止所有访问,会报403错误。

测试下:

[root@tpp vhosts]# curl -x127.0.0.1:80 www.baidu.com

结果如下图所示:

wKioL1Xq9Y2xMxpiAAEo1RBDYOI094.jpg


4、新建虚拟主机

如果我们有一个新的网站,则需在/usr/local/nginx/conf/vhosts/目录下新建一个虚拟主机文件

[root@tpp vhosts]# vim test.conf
server
{
   listen 80;
   server_name www.test.com;
   index index.html index.htm index.php;
   root /data/www;

   location ~ \.php$ {
       include fastcgi_params;
       fastcgi_pass unix:/tmp/www.sock;
     # fastcgi_pass 127.0.0.1:9000;
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
   }
}

重新加载nginx服务

[root@tpp vhosts]# /etc/init.d/nginx reload


5、配置/usr/local/php/etc/php-fpm.conf文件

我们需修改三处

vim /usr/local/php/etc/php-fpm.conf

[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/www.sock        
user = php-fpm
group = php-fpm
listen.owner = nobody
listen.group = nobody

pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

此处的listen要和虚拟主机的fastcgi_pass定义的一样。owner和group 都修改为nobody。

重新加载php服务

service php-fpm restart


6、配置本地hosts文件

找到本机 C:\Windows\System32\drivers\etc下的hosts文件,添加下面内容后保存退出。

192.168.0.109  www.test.com


7、我们在浏览器上输入网址 www.test.com 这时就会跳转到Discuz!安装界面。

wKioL1XsasXTspwpAAOUrmPVFBs851.jpg


wKiom1XsaOKB5-DZAAIsUjMTWBU505.jpg

同意安装后我们看多好多都是不可写,这时我们就要给他们赋予php-fpm用户权限。


[root@tpp ~]# cd /data/www/
[root@tpp www]# chown -R php-fpm config data uc_client/data uc_server/data

刷新页面后,全都变成绿色的了。下一步就是全新安装。


8、安装数据库

在安装数据库之前,我们还需配置数据库

[root@tpp www]# /usr/local/mysql/bin/mysql
mysql> create database discuz;             //创建一个数据库,数据库名为discuz
mysql> grant all on discuz.* to 'test'@'localhost' identified by 'testpassword';
                                          // all:所有的权限,用户:test,密码:testpassword

回原网页,填写数据库名:discuz,数据库用户名:test,数据库密码:testpassword,其他的都默认;管理员admin 密码123456,下一步;安装完成以后,点击最右下角的“您的论坛已完成安装,点此访问”。

wKiom1XtcFTS4XpVAASt1B-R-Wo862.jpg

如上图所示,论坛搭建成功。


nginx基本的配置可参考:http://msiyuetian.blog.51cto.com/8637744/1692468






      本文转自 M四月天 51CTO博客,原文链接:http://blog.51cto.com/msiyuetian/1691635,如需转载请自行联系原作者





网友评论

登录后评论
0/500
评论
技术小胖子
+ 关注