iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >基于lnmp的Discuz论坛
  • 872
分享到

基于lnmp的Discuz论坛

2024-04-02 19:04:59 872人浏览 八月长安
摘要

                  ------------- LNMP + Discuz -------

    


              ------------- LNMP + Discuz -------------



系统环境: RHEL6 x32 selinux and iptables disabled

主机角色: 172.25.46.1 Nginx+Mysql+PHP+Discuz



  • Mysql安装


 软件包依赖性:

  yum install -y GCc gcc-c++make ncurses-devel bison openssl-devel zlib-devel cmake


 解压:

  tar zxf mysql-5.5.12.tar.gz

     cd mysql-5.5.12

  

  编译: 

  cmake-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql\                    #安装目录           

  -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data\                         #数据库存放目录

  -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock\                #Unix Socket文件路径

  -DWITH_MYISAM_STORAGE_ENGINE=1\                                  #安装Myisam存储引擎

  -DWITH_INNOBASE_STORAGE_ENGINE=1\                                #安装Innodb存储引擎

  -DDEFAULT_CHARSET=utf8\                                      #使用Utf8字符

  -DDEFAULT_COLLATioN=utf8_general_ci\                              #校验字符

   -DEXTRA_CHARSETS=all                                        #安装所有扩展字符集


  安装:

  make && makeinstall

  注意:这一步若有报错,清除旧的对象文件和缓存信息,重新编译(先make clean,再rm -f CmakeCache.txt,之后再开始编译)


  进入到/root/,添加环境变量:

  vi .bash_profile

       PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin

   

  使更改生效:

  source .bash_profile


  查看刚刚添加的环境变量:

  which mysql

     /usr/local/lnmp/mysql/bin/mysql


 创建mysql用户:

 groupadd -g 27 mysql

 useradd -u 27 -g 27 -s/sbin/nologin -d /usr/local/lnmp/mysql/ -M mysql


 初始化数据库

 cd /usr/local/lnmp/mysql/

 scripts/mysql_install_db--user=mysql --basedir=/usr/local/lnmp/mysql

  --datadir=/usr/local/lnmp/mysql/data

 显示2个ok表示安装成功


 更改权限:

 chown root . -R

 chgrp mysql . -R

 chown mysql data/ -R


 复制配置文件及启动脚本到指定位置:

 cpsupport-files/my-medium.cnf /etc/my.cnf

 cpsupport-files/mysql.server /etc/init.d/mysqld


 启动mysql服务:

 /etc/init.d/mysqld start

 

 安装mysql:

 mysql_secure_installation

 Enter current passWord for root (enter for none):

 Change the root password? [Y/n] n                   #若当前root有数据库的密码则输入,没有按回车

 ... skipping.

 Remove anonymous users? [Y/n] y                    #移除匿名用户

 ... Success!

 Disallow root login remotely? [Y/n] y                #不允许root远程登录

 ... Success!

 Remove test database and access to it? [Y/n] y          #移除test数据库

 Reload privilege tables now? [Y/n] y                 #重新加载数据库权限

 ... Success!


 登录mysql验证:

 mysql

 Welcome to the MySQL monitor.  Commands end with ; or \g.

 ..........

 mysql> show databases;

 +--------------------+

 | Database          |

 +--------------------+

 | infORMation_schema |

 | mysql             |

 | performance_schema |

 | test              |

 +--------------------+

 5 rows in set (0.04 sec)


 

  • Nginx安装


 安装开发包:

 yum install -y pcre-devel openssl-devel


 解压源码包并编辑文件隐藏nginx版本:

 tar zxvf nginx-1.8.0.tar.gz

   cd nginx-1.8.0

   vim auto/cc/gcc

 #CFLAGS=”$CFLAGS -g”                        #注释掉这行,去掉debug模式编译,编译以后程序只有几百k

 

 vim src/core/nginx.h

 #define NGINX_VERSION "1.8.0”

 #defineNGINX_VER "nginx"                       #修改此行,去掉后面的“NGINX_VERSION”,为了安全,这样编译后外界无法获取nginx的版本号


 编译并安装:

 ./configure --prefix=/usr/local/lnmp/nginx  --with-Http_ssl_module  --with-http_stub_status_module    

 make && makeinstall


 链接方便调用和修改:

 cd/usr/local/lnmp/nginx/sbin

 ln -s/usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin        

 

 检测语法,开启nginx服务,加载配置文件:

 nginx -t

 nginx

 nginx -s reload                             

 

 查看80端口是否打开并检测(此时要确保httpd服务是关闭的)

 netstat -antlp

 tcp       0      0 0.0.0.0:80        0.0.0.0:*         LISTEN      7060/nginx 


 curl -I localhost

   HTTP/1.1 200 OK

   Server: nginx/1.8.0

   Date: Wed, 13 Jan 2016 08:42:21 GMT

   Content-Type: text/html

   Content-Length: 612

   Last-Modified: Wed, 13 Jan 2016 08:31:20 GMT

   Connection: keep-alive

   ETag: "56960b58-264"

   Accept-Ranges: bytes


 此时可以使用浏览器访问,我在实验中访问的是:172.25.46.1,显示页面如下:

 基于lnmp的Discuz论坛


 更改用户及进程数:

 cd /usr/local/lnmp/nginx/conf/

 vi nginx.conf

 #user  nginx;                #更改用户为nginx

 worker_processes 2;            #进程数改为2


 重载文件并查看端口:

 nginx -s reload

 netstat -antlp

 tcp      0     0 0.0.0.0:80       0.0.0.0:*       LISTEN      7060/nginx


 开启了2个进程:

 ps -ax

 7104 ?        S     0:00 nginx: worker process

    7105 ?        S     0:00 nginx: worker process


 生成key:

 cd /etc/pki/tls/certs/

 make nginx.pem

 Country Name (2 letter code) [XX]:CN                     #国家,大写

 State or Province Name (full name) []:Shanxi                #省

 Locality Name (eg, city) [Default City]:xi'an                #市

 Organization Name (eg, company) [Default CompanyLtd]:westos       #组织名

 Organizational Unit Name (eg, section) []:Linux               #组织单元

 Common Name (eg, your name or your server's hostname)[]:server1.example.com     #主机名

 Email Address []:742019722@qq.com                        #邮箱

 

 将key加入配置文件:

 mv nginx.pem/usr/local/lnmp/nginx/conf/

 cd/usr/local/lnmp/nginx/conf/

 vim nginx.conf

 http{

 .......

 # https server

    #

    server {

        listen       443 ssl;

       server_name  localhost;

 

       ssl_certificate      nginx.pem;            #更改此处

       ssl_certificate_key     nginx.pem;            #更改此处

 

       ssl_session_cache   shared:SSL:1m;

       ssl_session_timeout  5m;

 

        ssl_ciphers  HIGH:!aNULL:!MD5;

       ssl_prefer_server_ciphers  on;

 

        location/ {

           root   html;

           index  index.html index.htm;

        }

        }

     }


 重载文件查看端口:

 nginx -s reload

 netstat -antlp

   tcp       0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      7060/nginx

 

 此时可使用浏览器访问,实验中我访问的是:https://172.25.46.1,显示页面如下

 基于lnmp的Discuz论坛

 选择I Understand the Risks,进入如下页面:

 基于lnmp的Discuz论坛


 

  • Php安装


  安装软件包依赖:

  yum install -y pcre-devel openssl-devel libxml2-devel curl-devel libjpeg-turbo-devel.x86_64 libpng-devel gpm.h mcrypt.hnet-snmp-devel freetype-devel gmp-devel-* libjpeg-*


  解压源码包并编译安装:

  tar jxf php-5.4.36.tar.bz2

        cd php-5.4.36

       ./configure --prefix=/usr/local/lnmp/php--with-config-file-path=/usr/local/lnmp/php/etc--with-mysql=/usr/local/lnmp/mysql/--with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config  --with-openssl --with-snmp --with-gd--with-zlib        --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir  --with-freetype-dir --without-pear--with-gettext --with-gmp --enable-inline-optimization --enable-soap--enable-ftp --enable-sockets --enable-mbstring --enable-fpm --            --with-fpm-user=nginx--with-fpm-group=nginx --with-mhash

      make && make install

   

      复制配置文件及启动脚本到指定位置:

      cpphp.ini-production /usr/local/lnmp/php/etc/php.ini

     cd sapi/fpm

     cp init.d.php-fpm /etc/init.d/fpm

     chmod +x /etc/init.d/fpm


    编辑php-fpm.conf文件打开php运行pid

     cd /usr/local/lnmp/php/etc/

     cp php-fpm.conf.default  php-fpm.conf

    vim php-fpm.conf

     ...........

  [global]

  ; Pid file

  ; Note: the default prefix is/usr/local/lnmp/php/var

  ; Default Value: none

 pid = run/php-fpm.pid                 #打开php运行pid

 ..........


 更改时区为亚洲上海:

  vim php.ini

    ..........

  [Date]

  ; Defines the default timezone used by thedate functions

  ; http://php.net/date.timezone

  ;date.timezone=Asia/Shanghai


 此时开启php服务时可能会有报错:

 /etc/init.d/fpm start

    Starting php-fpm [14-Jan-2016 15:52:53]ERROR: [pool www] cannot get uid for user 'nginx'

    [14-Jan-2016 15:52:53] ERROR: FPMinitialization failed


 删除id为48的用户和组(因为apache默认id也为48,这样会有冲突),新建nginx用户:

 groupadd -g 48 nginx

    useradd -u 48-g 48 -s /sbin/nologin -d /usr/local/lnmp/nginx/ -M nginx

    id nginx

    uid=48(nginx) gid=48(nginx) groups=48(nginx)

   

    再次开启php服务便可以成功:

    /etc/init.d/fpm start

     Starting php-fpm  done

  /etc/init.d/fpmreload

    Reload service php-fpm done


    编写php测试页:

    cd /usr/local/lnmp/nginx/html

    vim index.php

    <?php

    phpinfo()

    ?>


 检测语法并重载:

 nginx -t

    nginx -s reload


   添加cgi支持php:

    vim /usr/local/lnmp/nginx/conf/nginx.conf                    #行号大致如下,不一定与你的完全一样

    

 48        location / {

 49            root   html;

 50            index  index.php index.htmlindex.htm;                 #添加index.php为首页

 51        }

..........

 70        location ~ \.php$ {

 71           root           html;

 72           fastcgi_pass   127.0.0.1:9000;

 73           fastcgi_index  index.php;

 74          #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;       #注释此行

 75           include        fastcgi.conf;                        #更改文件后缀为.conf

 76        }


 检测语法查看端口:

  nginx -t

    nginx -s reload

    netstat -antlp

    tcp       0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      1354/nginx

    tcp       0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1354/nginx 


 此时可使用浏览器访问,我在实验中访问的是:172.25.46.1,页面显示如下:

 基于lnmp的Discuz论坛



  • 基于lnmp的Discuz论坛

 

  将压缩包解压至nginx的发布目录下:

  yum install -y unzip

       unzip   Discuz_X2.5_SC_UTF8.zip    -d     /usr/local/lnmp/nginx/html/


      重命名upload目录为bbs,便于访问:

       mv   /usr/local/lnmp/nginx/html/upload    /usr/local/lnmp/nginx/html/bbs   

  

  此时可使用浏览器访问,实验中我访问的是:172.25.46.1/bbs,显示页面如下:

 基于lnmp的Discuz论坛

 选择我同意进入下一步,设置运行环境:

 基于lnmp的Discuz论坛

 看到目录文件的当前状态显示为不可写,需更改目录及文件权限:

 cd /usr/local/lnmp/nginx/html/bbs

    chmod 777 config/ -R

    chmod 777 data/ -R

    chmod 777 data/ uc_server/ -R

    chmod 777 data/ uc_client/ -R


   此时更新一次显示为可写,可进入下一步,创建数据库:

  在填写信息之前要设置root用户密码及创建数据库discuz


  mysql_secure_installation

   Enter current password for root (enter fornone):       #回车,因为刚开始我没有设置root密码

 OK, successfully used password, movinGon...      

 Set root password? [Y/n] y

 New password:                        #输入密码

 Re-enter new password:                  #确认密码

 Password updated successfully!

 Remove anonymous users? [Y/n] y

 ...Success!

    Disallow root login remotely? [Y/n] y

    ...Success!

    Remove test database and access to it?[Y/n] y

    -Dropping test database...

    Reload privilege tables now? [Y/n] y

    ...Success!


 mysql  –p+密码

   mysql> create database discuz;

   Query OK, 1 row affected (0.00 sec)

   mysql> show databases;

 +--------------------+

 | Database           |

 +--------------------+

 | information_schema |

 | discuz             |

 | mysql              |

 | performance_schema |

 | test               |

 +--------------------+

 5 rows in set (0.00 sec)


 设置好以上信息之后可进行创建数据库,页面如下:

  基于lnmp的Discuz论坛


 填写完信息后进入下一步,显示论坛界面如下:

 基于lnmp的Discuz论坛

 至此完成了基于lnmp的Discuz论坛的搭建!


基于lnmp的Discuz论坛

您可能感兴趣的文档:

--结束END--

本文标题: 基于lnmp的Discuz论坛

本文链接: https://www.lsjlt.com/news/39466.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • LAMP&&DISCUZ论坛
    目录 1.1 LAMP 1.2 LAMP架构搭建  2. 关闭防火墙,将安装Apache所需软件包传到/opt目录下 APache的源码编译安装涉及到的软件包:   2.2 安装环境依赖包  2.3 配置软件模块  2.4 添加httpd...
    99+
    2023-09-14
    服务器 运维
  • discuz论坛是什么
    discuz论坛是一种网络论坛软件,也称BBS,它是一种用于在互联网上建立论坛社区的程序系统。只哟中功能强大的论坛软件,可以帮助用户建立一个专业、完善的论坛社区,并且可以实现多种功能,如搭建用户注册、登录、查看主题、发布帖子、发表评论、设置...
    99+
    2023-07-10
  • 论坛社区搭建:基于Discuz框架的全面指南
    论坛社区搭建:基于Discuz框架的全面指南 随着互联网的普及和社交网络的发展,论坛社区作为一个重要的网络社交平台,扮演着连接人与人之间的桥梁,为用户提供了一个交流、分享和学习的重要场...
    99+
    2024-03-14
    搭建指南 discuz框架 论坛社区 社交网络
  • discuz论坛收费吗
    discuz论坛不收费,基于GPL开源协议发布,这意味着任何个人或组织都可以免费使用、修改和分发discuz论坛的代码,提供了丰富的功能和灵活的扩展性,因此在全球范围内有许多网站选择使用它来搭建自己的论坛,但是在实际使用中可能需要购买一些商...
    99+
    2023-08-08
  • 如何进行Discuz论坛的使用
    今天就跟大家聊聊有关如何进行Discuz论坛的使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Discuz!论坛搭建      三...
    99+
    2023-06-04
  • Discuz 论坛热帖功能详解
    Discuz 论坛热帖功能详解 随着互联网的快速发展,论坛作为网络社区的一种重要形式,扮演着连接用户、传播信息、交流观点的重要角色。在 Discuz 论坛中,热帖功能是一个非常受欢迎的...
    99+
    2024-03-09
    实现方法 论坛功能 热帖分析
  • Discuz论坛简介及使用指南
    Discuz论坛简介及使用指南 随着互联网的发展,论坛已经成为许多人们交流和分享信息的重要平台。其中,Discuz是国内最流行的论坛系统之一,它以功能丰富、易用性强而闻名。本文将介绍D...
    99+
    2024-03-03
    论坛 指南 discuz
  • Discuz 论坛热帖设置指南
    Discuz 论坛热帖设置指南 随着网络的迅速发展,论坛作为一个重要的网络社区平台,扮演着连接用户、分享信息和交流观点的重要角色。在 Discuz 论坛中,热帖是吸引用户并提高论坛活跃...
    99+
    2024-03-10
    论坛 discuz 热帖
  • 如何优化Discuz论坛性能?
    如何优化Discuz论坛性能? 引言:Discuz是一个常用的论坛系统,但在使用过程中可能会遇到性能瓶颈问题。为了提升Discuz论坛的性能,我们可以从多个方面进行优化,包括数据库优化...
    99+
    2024-03-12
    缓存优化 数据库索引 资源压缩 sql优化 sql语句
  • 基于PHP的网络论坛系统开发
    随着互联网的发展,网络论坛成为人们交流、分享和获取信息的重要平台之一。网络论坛系统的开发涉及到多种技术和编程语言,其中PHP作为一种流行的服务器端脚本语言,被广泛用于论坛系统的开发。本文将介绍基于PHP的网络论坛系统的开发。一、需求分析在开...
    99+
    2023-10-28
    PHP 系统开发 关键词: 网络论坛
  • Discuz论坛怎么添加配置选项
    这篇文章主要介绍Discuz论坛怎么添加配置选项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Discuz! 论坛在后台有很多配置选项,通过这些配置选项可以实现很多功能。在 Discuz!论坛的二次开发过程中,我们也...
    99+
    2023-06-08
  • Discuz论坛头像修改方法详解
    Discuz论坛头像修改方法详解 在Discuz论坛中,头像是用户个人资料中的重要部分,能够帮助用户展示自己的个性和特色。默认情况下,Discuz论坛提供了一些头像供用户选择,但有时候...
    99+
    2024-03-02
    论坛 头像 修改
  • Discuz论坛微信分享优化指南
    Discuz论坛作为国内较为知名的社区论坛系统,为用户提供了方便快捷的交流平台。在移动互联时代的今天,微信已经成为了人们日常生活中不可或缺的社交工具之一。因此,如何通过优化论坛的微信分...
    99+
    2024-03-11
    微信 论坛 优化
  • Discuz论坛SEO优化技巧分享
    Discuz论坛一直以来是国内最受欢迎的论坛软件之一,它功能强大、灵活性高,而且支持SEO优化,有助于提高论坛的搜索引擎可见性和流量。本文将分享一些Discuz论坛SEO优化的技巧,包...
    99+
    2024-03-12
    seo 优化 discuz
  • 解决Discuz论坛无法打开的方法
    由于您的要求涉及到技术性内容,我可以为您提供有关解决Discuz论坛无法打开的方法的文章,但具体的代码示例可能需要详细了解您的具体情况才能给出最合适的解决方案。以下是一个1500字以内...
    99+
    2024-03-03
    论坛 修复 打开
  • 提升 Discuz 论坛热帖效果的方法
    提升 Discuz 论坛热帖效果的方法,需要具体代码示例 在现今的社交网络时代,Discuz 论坛作为一种具有广泛影响力的交流平台,就显得尤为重要。对于Discuz 论坛管理员来说,如...
    99+
    2024-03-11
    数据分析 优化热帖 社区活跃 社交网络
  • 论坛文化探秘:discuz的起源与意义
    作为中国最具影响力的论坛平台之一,Discuz在互联网发展史上占据着重要位置。它不仅提供了一个交流平台,更是一种文化的象征,是许多网民热衷的社交与分享方式。本文将探讨Discuz的起源...
    99+
    2024-03-03
    起源 论坛 discuz 社交网络 用户注册
  • Discuz论坛功能解析与优势分析
    Discuz论坛功能解析与优势分析 在当今社交网络兴起的时代,论坛作为一种传统的社交平台,仍然扮演着不可替代的角色。而在众多论坛系统中,Discuz作为一款广受欢迎的论坛系统,以其丰富...
    99+
    2024-03-03
    优势分析 论坛功能 discuz解析 社交网络
  • 利用 Discuz 论坛提升网站互动性
    利用 Discuz 论坛提升网站互动性 随着互联网的迅速发展,网站互动性成为吸引用户、增加粘性的重要因素之一。而Discuz!是一款功能强大的开源论坛软件,被广泛应用于网站建设中。通过...
    99+
    2024-03-14
    论坛 网站 互动 用户注册
  • 基于Java+SpringBoot制作一个论坛小程序
    制作一个论坛互动平台,让兴趣志同道合者用户聚集在这里交流话题、展示自我、结交朋友。 一、小程序 1.1 项目创建 1.2 首页 1.3 论坛板块页 1....
    99+
    2023-08-16
    java 小程序 spring boot 论坛 贴吧 原力计划
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作