基于LNMP架构搭建Discuz论坛

一、基础环境配置

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.修改主机名

[root@localhost ~]# hostnamectl set-hostname Discuz
[root@localhost ~]# bash

2.搭建nginx服务

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

[root@localhost ~]# cd /opt/
[root@localhost opt]# tar -zxvf nginx-1.22.1.tar.gz 
[root@discuz opt]# ls
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环境依赖

[root@discuz ~]# yum -y install \
pcre-devel \
zlib-devel \
gcc \
gcc-c++ \
make \
openssl \
openssl-devel

(3)创建管理用户

[root@discuz ~]# useradd -M -s /sbin/nologin nginx
[root@discuz ~]# id nginx
uid=1000(nginx) gid=1000(nginx) 组=1000(nginx)

(4)编译和安装

设置nginx安装路径和模块进行编译,命令如下:

[root@discuz opt]# cd nginx-1.22.1
[root@discuz nginx-1.22.1]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module

编译完后,进行安装nginx,命令如下:

[root@discuz nginx-1.22.1]# make && make install

(5)优化nginx路径

[root@discuz nginx-1.22.1]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/

(6)添加nginx系统服务

[root@discuz nginx-1.22.1]# vi /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/bin/kill -s QUIT $MAINPID
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=True

[lnstall]
WantedBy=multi-user.target

赋予权限,命令如下:

[root@discuz nginx-1.22.1]# chmod 754 /lib/systemd/system/nginx.service

(7)启动nginx服务

[root@discuz nginx-1.22.1]# systemctl start nginx.service
[root@discuz nginx-1.22.1]# systemctl status nginx.service
[root@discuz nginx-1.22.1]# netstat -antp | grep 80

(8)访问页面进行验证

打开浏览器,访问http://IP

2.搭建Mysql

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

[root@discuz opt]# tar -zxvf mysql-boost-5.7.20.tar.gz 

(2)安装mysql环境依赖

[root@discuz opt]# yum -y install \
ncurses \
ncurses-devel \
bison \
cmake \
bzip2 \
bzip2-devel

(3)创建mysql用户

[root@discuz ~]# useradd -M -s /sbin/nologin mysql
[root@discuz ~]# id mysql
uid=1001(mysql) gid=1001(mysql) 组=1001(mysql)

(4)编译安装mysql

[root@discuz mysql-5.7.20]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

[root@discuz mysql-5.7.20]# make && make install

(5)修改mysql配置文件

[root@discuz mysql-5.7.20]# vi /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1

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)更改文件配置文件和数据目录的所有权

[root@discuz mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
[root@discuz mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/

(7)配置环境变量

[root@discuz mysql-5.7.20]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@discuz mysql-5.7.20]# source /etc/profile

(8)初始化数据库

[root@discuz mysql-5.7.20]# cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

(9)添加系统服务

[root@discuz bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

(10)启动服务

[root@discuz bin]# systemctl daemon-reload
[root@discuz bin]# systemctl start mysqld.service
[root@discuz bin]# systemctl enable mysqld.service
[root@discuz bin]# systemctl status mysqld.service

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

[root@discuz bin]# mysql -u root
mysql> alter user 'root'@'localhost' identified by '123456';

3.安装配置PHP解析环境

(1)解压PHP源码包

[root@discuz opt]# tar -jxvf php-7.1.10.tar.bz2 

(2)安装PHP依赖包

[root@discuz opt]# yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

(3)设置安装路径及模块

[root@discuz opt]# cd php-7.1.10
[root@discuz php-7.1.10]# ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

(4)编译和安装

[root@discuz php-7.1.10]# make && make install

(5)优化PHP路径

[root@discuz php-7.1.10]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@discuz php-7.1.10]# ln -s /usr/local/php/sbin/* /usr/local/sbin/

(6)调整PHP配置文件

[root@discuz php-7.1.10]# cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
[root@discuz php-7.1.10]# vi /usr/local/php/lib/php.ini 

将939行的“;”去掉,并添加Asia/Shanghai

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

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

[root@discuz php-7.1.10]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@discuz php-7.1.10]# vi /usr/local/php/etc/php-fpm.conf

将17行‘;’注释去掉

(8)修改扩展配置文件

[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并添加系统服务

[root@discuz php-7.1.10]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
[root@discuz php-7.1.10]# systemctl restart php-fpm.service 
[root@discuz php-7.1.10]# systemctl status php-fpm.service 

(10)配置Nginx支持PHP解析

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

(11)验证PHP测试页

[root@discuz php-7.1.10]# vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

浏览器访问服务器http://192.168.200.70/index.php

三、搭建Discuz论坛

1.解压Discuz源码包

[root@discuz opt]# unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis

2.创建数据库并进行授权

[root@discuz opt]# mysql -u root -p
mysql> CREATE DATABASE bbs;
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
mysql> flush privileges;

3.将Discuz论坛部署到Nginx

[root@discuz opt]# cp -r /opt/dis/upload/ /usr/local/nginx/html/bbs
[root@discuz opt]# cd /usr/local/nginx/html/bbs/
[root@discuz bbs]# chmod -R 777 config/
[root@discuz bbs]# chmod -R 777 data/
[root@discuz bbs]# chmod -R 777 uc_client/
[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论坛完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值