基于LNMP架构搭建Discuz论坛

打印 上一主题 下一主题

主题 991|帖子 991|积分 2973

一、底子环境配置

1.规划节点

IP地址

主机名

节点

192.168.200.70

Discuz

单节点服务器


2.底子环境准备

        使用VMWare Workstation软件安装CentOS 7.2操作系统,镜像使用提供的CentOS-7-x86_64-DVD-1511.iso,最小化安装CentOS 7.2系统。Yum源使用本地yum,提前下载mysql-boost-5.7.20.tar.gz、nginx-1.22.1.tar.gz、php-7.1.10.tar.bz2、Discuz_X3.4_SC_UTF8软件包,上传至/opt目次下。
二、环境搭建

1.修改主机名

  1. [root@localhost ~]# hostnamectl set-hostname Discuz
  2. [root@localhost ~]# bash
复制代码
2.搭建nginx服务

(1)解压nginx-1.22.1.tar.gz软件包,下令如下:

  1. [root@localhost ~]# cd /opt/
  2. [root@localhost opt]# tar -zxvf nginx-1.22.1.tar.gz
  3. [root@discuz opt]# ls
  4. centos  Discuz_X3.4_SC_UTF8.zip  mysql-boost-5.7.20.tar.gz  nginx-1.22.1  nginx-1.22.1.tar.gz  php-7.1.10.tar.bz2
复制代码
(2)安装nginx环境依靠

  1. [root@discuz ~]# yum -y install \
  2. pcre-devel \
  3. zlib-devel \
  4. gcc \
  5. gcc-c++ \
  6. make \
  7. openssl \
  8. openssl-devel
复制代码
(3)创建管理用户

  1. [root@discuz ~]# useradd -M -s /sbin/nologin nginx
  2. [root@discuz ~]# id nginx
  3. uid=1000(nginx) gid=1000(nginx) 组=1000(nginx)
复制代码
(4)编译和安装

设置nginx安装路径和模块进行编译,下令如下:
  1. [root@discuz opt]# cd nginx-1.22.1
  2. [root@discuz nginx-1.22.1]# ./configure \
  3. --prefix=/usr/local/nginx \
  4. --user=nginx \
  5. --group=nginx \
  6. --with-http_stub_status_module \
  7. --with-http_ssl_module
复制代码


编译完后,进行安装nginx,下令如下:
  1. [root@discuz nginx-1.22.1]# make && make install
复制代码

(5)优化nginx路径

  1. [root@discuz nginx-1.22.1]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/
复制代码

(6)添加nginx系统服务

  1. [root@discuz nginx-1.22.1]# vi /lib/systemd/system/nginx.service
  2. [Unit]
  3. Description=nginx
  4. After=network.target
  5. [Service]
  6. Type=forking
  7. PIDFile=/usr/local/nginx/logs/nginx.pid
  8. ExecStart=/usr/local/nginx/sbin/nginx
  9. ExecStop=/bin/kill -s QUIT $MAINPID
  10. ExecReload=/bin/kill -s HUP $MAINPID
  11. PrivateTmp=True
  12. [lnstall]
  13. WantedBy=multi-user.target
复制代码
赋予权限,下令如下:
  1. [root@discuz nginx-1.22.1]# chmod 754 /lib/systemd/system/nginx.service
复制代码
(7)启动nginx服务

  1. [root@discuz nginx-1.22.1]# systemctl start nginx.service
  2. [root@discuz nginx-1.22.1]# systemctl status nginx.service
  3. [root@discuz nginx-1.22.1]# netstat -antp | grep 80
复制代码

(8)访问页面进行验证

打开欣赏器,访问http://IP

2.搭建Mysql

(1)解压mysql源码包,下令如下:

  1. [root@discuz opt]# tar -zxvf mysql-boost-5.7.20.tar.gz
复制代码
(2)安装mysql环境依靠

  1. [root@discuz opt]# yum -y install \
  2. ncurses \
  3. ncurses-devel \
  4. bison \
  5. cmake \
  6. bzip2 \
  7. bzip2-devel
复制代码
(3)创建mysql用户

  1. [root@discuz ~]# useradd -M -s /sbin/nologin mysql
  2. [root@discuz ~]# id mysql
  3. uid=1001(mysql) gid=1001(mysql) 组=1001(mysql)
复制代码
(4)编译安装mysql

  1. [root@discuz mysql-5.7.20]# cmake \
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  3. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  4. -DSYSCONFDIR=/etc \
  5. -DSYSTEMD_PID_DIR=/usr/local/mysql \
  6. -DDEFAULT_CHARSET=utf8  \
  7. -DDEFAULT_COLLATION=utf8_general_ci \
  8. -DWITH_EXTRA_CHARSETS=all \
  9. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  10. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  11. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  12. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  13. -DMYSQL_DATADIR=/usr/local/mysql/data \
  14. -DWITH_BOOST=boost \
  15. -DWITH_SYSTEMD=1
复制代码

  1. [root@discuz mysql-5.7.20]# make && make install
复制代码

(5)修改mysql配置文件

  1. [root@discuz mysql-5.7.20]# vi /etc/my.cnf
  2. [client]
  3. port = 3306
  4. socket=/usr/local/mysql/mysql.sock
  5. [mysqld]
  6. user = mysql
  7. basedir=/usr/local/mysql
  8. datadir=/usr/local/mysql/data
  9. port = 3306
  10. character-set-server=utf8
  11. pid-file = /usr/local/mysql/mysqld.pid
  12. socket=/usr/local/mysql/mysql.sock
  13. bind-address = 0.0.0.0
  14. skip-name-resolve
  15. max_connections=2048
  16. default-storage-engine=INNODB
  17. max_allowed_packet=16M
  18. server-id = 1
  19. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
复制代码
(6)更改文件配置文件和数据目次的所有权

  1. [root@discuz mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
  2. [root@discuz mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
复制代码
(7)配置环境变量

  1. [root@discuz mysql-5.7.20]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
  2. [root@discuz mysql-5.7.20]# source /etc/profile
复制代码
(8)初始化数据库

  1. [root@discuz mysql-5.7.20]# cd /usr/local/mysql/bin/
  2. ./mysqld \
  3. --initialize-insecure \
  4. --user=mysql \
  5. --basedir=/usr/local/mysql \
  6. --datadir=/usr/local/mysql/data
复制代码
(9)添加系统服务

  1. [root@discuz bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
复制代码
(10)启动服务

  1. [root@discuz bin]# systemctl daemon-reload
  2. [root@discuz bin]# systemctl start mysqld.service
  3. [root@discuz bin]# systemctl enable mysqld.service
  4. [root@discuz bin]# systemctl status mysqld.service
复制代码

(11)修改数据库密码并登录

  1. [root@discuz bin]# mysql -u root
  2. mysql> alter user 'root'@'localhost' identified by '123456';
复制代码

3.安装配置PHP解析环境

(1)解压PHP源码包

  1. [root@discuz opt]# tar -jxvf php-7.1.10.tar.bz2
复制代码
(2)安装PHP依靠包

  1. [root@discuz opt]# yum -y install gd \
  2. libjpeg libjpeg-devel \
  3. libpng libpng-devel \
  4. freetype freetype-devel \
  5. libxml2 libxml2-devel \
  6. zlib zlib-devel \
  7. curl curl-devel \
  8. openssl openssl-devel
复制代码
(3)设置安装路径及模块

  1. [root@discuz opt]# cd php-7.1.10
  2. [root@discuz php-7.1.10]# ./configure \
  3. --prefix=/usr/local/php \
  4. --with-mysql-sock=/usr/local/mysql/mysql.sock \
  5. --with-mysqli \
  6. --with-zlib \
  7. --with-curl \
  8. --with-gd \
  9. --with-jpeg-dir \
  10. --with-png-dir \
  11. --with-freetype-dir \
  12. --with-openssl \
  13. --enable-fpm \
  14. --enable-mbstring \
  15. --enable-xml \
  16. --enable-session \
  17. --enable-ftp \
  18. --enable-pdo \
  19. --enable-tokenizer \
  20. --enable-zip
复制代码

(4)编译和安装

  1. [root@discuz php-7.1.10]# make && make install
复制代码

(5)优化PHP路径

  1. [root@discuz php-7.1.10]# ln -s /usr/local/php/bin/* /usr/local/bin/
  2. [root@discuz php-7.1.10]# ln -s /usr/local/php/sbin/* /usr/local/sbin/
复制代码
(6)调整PHP配置文件

  1. [root@discuz php-7.1.10]# cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
  2. [root@discuz php-7.1.10]# vi /usr/local/php/lib/php.ini
复制代码
将939行的“;”去掉,并添加Asia/Shanghai

将1170行添加mysql文件路径/usr/local/mysql/mysql.sock

(7)修改进程服务配置文件

  1. [root@discuz php-7.1.10]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  2. [root@discuz php-7.1.10]# vi /usr/local/php/etc/php-fpm.conf
复制代码
将17行‘;’注释去掉

(8)修改扩展配置文件

  1. [root@discuz php-7.1.10]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
复制代码
(9)启动php-fpm并添加系统服务

  1. [root@discuz php-7.1.10]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
  2. [root@discuz php-7.1.10]# systemctl restart php-fpm.service
  3. [root@discuz php-7.1.10]# systemctl status php-fpm.service
复制代码

(10)配置Nginx支持PHP解析

  1. vi /usr/local/nginx/conf/nginx.conf
  2. 在45行添加index.php字段
  3. 去掉65-71行注释,69行的 /secripts 换成 nginx 的工作目录
复制代码


(11)验证PHP测试页

  1. [root@discuz php-7.1.10]# vi /usr/local/nginx/html/index.php
  2. <?php
  3. phpinfo();
  4. ?>
复制代码
欣赏器访问服务器http://192.168.200.70/index.php

三、搭建Discuz论坛

1.解压Discuz源码包

  1. [root@discuz opt]# unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis
复制代码
2.创建数据库并进行授权

  1. [root@discuz opt]# mysql -u root -p
  2. mysql> CREATE DATABASE bbs;
  3. mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
  4. mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
  5. mysql> flush privileges;
复制代码

3.将Discuz论坛部署到Nginx

  1. [root@discuz opt]# cp -r /opt/dis/upload/ /usr/local/nginx/html/bbs
  2. [root@discuz opt]# cd /usr/local/nginx/html/bbs/
  3. [root@discuz bbs]# chmod -R 777 config/
  4. [root@discuz bbs]# chmod -R 777 data/
  5. [root@discuz bbs]# chmod -R 777 uc_client/
  6. [root@discuz bbs]# chmod -R 777 uc_server/
复制代码
4.论坛访问

欣赏器访问http://192.168.200.70/bbs/install/index.php




数据库服务器:localhost
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:123456
管理员账号:admin
管理员密码:admin123


至此基于LNMP架构搭建Discuz论坛完成。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表