centos7下nginx+php7+mysql5.7部署discuz

本文章是个人在搭建discuz论坛时的一个过程,由于本人不是做php开发,则对php不太熟悉,搭建discuz期间花费了不少时间,所以记录下来,供大家参考。

搭建discuz是在Centos7系统上,采用nginx+mysql5.7+php7.1来部署discuz的,如使用apache代替nginx,则不适合阅读本文。

1、安装基本工具:

由于小编是在最小安装版的centos7上部署,则装几个常用的工具,大家酌情处理:

yum -y install wget unzip net-tools

2、安装nginx:

安装路径:/usr/local

首先进入/usr/local

下载nginx源码:wget http://nginx.org/download/nginx-1.13.7.tar.gz

解压nginx源码:tar -zxvf nginx-1.13.7.tar.gz

nginx版本使用的是1.13.7,如果大家安装其他版本,则自行更换地址即可。

安装nginx前先安装下面的几个依赖,命令如下:

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

进到nginx源码目录:/usr/local/nginx-1.13.7/

执行以下命令:

./configure \

--prefix=/usr/local/nginx \

--with-http_ssl_module \

--with-http_gzip_static_module \

--with-http_stub_status_module \

--with-http_realip_module

上面安装的模块大家按需要来安装

上面的跑完后执行以下命令:

make && make install

这个正在编译安装,比较耗时,跑完后nginx就安装完成了。

启动nginx:/usr/local/nginx/sbin/nginx

在浏览器输入http://ip,如果出现nginx欢迎界面,则表示nginx已正确安装好了。

3、安装mysql5.7:

下载mysql源:wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

安装mysql源:yum localinstall mysql57-community-release-el7-11.noarch.rpm

安装mysql:yum install mysql-community-server

启动mysql:systemctl start mysqld

设置mysql开机启动:

systemctl enable mysqld

systemctl daemon-reload

修改mysql的root密码

先查找到root初始的默认密码:grep 'temporary password' /var/log/mysqld.log

用上一条命令找到的密码来登录mysql:mysql -uroot -p

由于mysql5.7默认有密码策略,设置的密码太短会导致失败,关闭mysql密码策略:

在/etc/my.cnf添加validate_password = off,

重启mysql:systemctl restart mysqld

修改密码:set password for 'root'@'localhost'=password(‘root’);

允许root用户远程登录mysql:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

如果使用非root,则自行添加用户即可。

到此,mysql也装好了。

4、安装php7.1:

安装php的依赖:

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

从官网下载php源码

解压php7,进入php源码根路径,执行以下命令:

./configure \

--prefix=/usr/local/php \

--with-config-file-path=/etc \

--enable-fpm \

--with-fpm-user=root \

--with-fpm-group=root \

--enable-inline-optimization \

--disable-rpath \

--enable-shared \

--enable-soap \

--with-libxml-dir \

--with-xmlrpc \

--with-openssl \

--with-mcrypt \

--with-mhash \

--with-pcre-regex \

--with-sqlite3 \

--with-zlib \

--enable-bcmath \

--with-iconv \

--with-bz2 \

--enable-calendar \

--with-curl \

--with-cdb \

--enable-dom \

--enable-exif \

--enable-fileinfo \

--enable-filter \

--with-pcre-dir \

--enable-ftp \

--with-gd \

--with-zlib-dir \

--enable-gd-native-ttf \

--enable-gd-jis-conv \

--with-gettext \

--with-mhash \

--enable-json \

--enable-mbstring \

--enable-mbregex \

--enable-mbregex-backtrack \

--with-libmbfl \

--with-onig \

--enable-pdo \

--with-mysqli \

--with-zlib-dir \

--with-pdo-sqlite \

--enable-session \

--enable-shmop \

--enable-simplexml \

--enable-sockets \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-zip \

--enable-mysqlnd-compression-support \

--with-pear \

--enable-opcache

再执行安装:make && make install

配置php环境变量:在/etc/profile末尾加入export PATH=$PATH:/usr/local/php/bin

source /etc/profile

配置php-fpm

cp php.ini-production /etc/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

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

chmod 777 /etc/init.d/php-fpm

由于PHP7已经完全移除了MySQL的扩展支持,故使用mysqli与mysqlnd来代替,编辑/etc/php.ini,找到mysqli.default_socket,然后改成:

mysqli.default_socket = /var/lib/mysql/mysql.sock

用root用户启动php-fpm:

/usr/local/php/sbin/php-fpm -R

5、安装discuz:

下载discuz最新源码3.4,把discuz源码解压,把里面的upload放到/usr/local/nginx/html目录下,改名为discuz

配置nginx的配置文件,增加:

server {

listen 80;

server_name localhost;

root /usr/local/nginx/html/discuz;

index index.php;

location ~ \.php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

}

重启nginx:/usr/local/nginx/sbin/nginx -s reload

浏览器访问http://ip,出现discuz的安装向导界面,根据提示安装discuz

到此,整个安装过程已完成。

你可能感兴趣的:(centos7下nginx+php7+mysql5.7部署discuz)