用源码包安装lnmp+discuz

遇到的问题一、

discuz合适的安装版本是php5.3 ,由于我安装的是最新版的php7.1,所以导致运行时会报错134 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function set_magic_quotes_runtime() in /usr/local/nginx/html/bbs/install/index.php:12,
解决办法,在install/index.php 中12行删除掉set_magic_quotes_runtime(0) 这个函数。前台页面就可以显示了。其实discuz3.2适合安装的版本是php5.3,

本次安装用的是nginx 源码包、php7.1源码包、mysql用的是二进制包, nginx继上一篇安装

nginx默认站点目录是:/usr/local/nginx/sbin/nginx 
php默认站点目录是:/usr/local/php/sbin/php-fpm
权限设置:chown nginx.nginx/usr/local/nginx/html/ -R
MySQL数据库目录是:/var/lib/mysql
权限设置:chown mysql.mysql -R /var/lib/mysql

卸载了php7.1 后重新安装了php5.6版本,就没有遇到此问题。

一、下载php源码

下载地址:http://cn.PHP.net/downloads.php

二、安装

1、将下载的二进制包移动到/usr/local目录,解压缩文件包

tar zxvf php-5.6.31.tar.gz

2、进入解压的php文件夹下/usr/local/php-5.6.31,安装依赖,编译安装
安装依赖

apt-get install libxml2-dev libssl-dev libbz2-dev libcurl3-dev libdb5.1-dev libjpeg-dev libpng-dev libXpm-dev libfreetype6-dev libt1-dev libgmp3-dev libc-client-dev libldap2-dev libmcrypt-dev libmhash-dev freetds-dev libz-dev libmysqlclient15-dev ncurses-dev libpcre3-dev unixODBC-dev postgresql-server-dev-9.1 libsqlite-dev libaspell-dev libreadline6-dev librecode-dev libsnmp-dev libtidy-dev libxslt-dev libt1-dev
yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel


yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel
 
 

安装依赖包的时候可能会有提示yun库里面没有这个包,所以要更新下 yum扩展包,和yum源
yum  install epel-release  //扩展包更新包
yum  update //更新yum源

yum install libmcrypt libmcrypt-devel mcrypt mhash 
创建 www 用户
groupadd www
useradd -g www -s /sbin/nologin -M www
编译安装

cd /usr/local/test/upload/php-5.6.31

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline
参数说明:

""" 安装路径 """
--prefix=/usr/local/php56 \
""" php.ini 配置文件路径 """
--with-config-file-path=/usr/local/php56/etc \
""" 优化选项 """
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
""" 启用 opcache,默认为 ZendOptimizer+(ZendOpcache) """
--enable-opcache \
""" FPM """
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
""" MySQL """
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
""" 国际化与字符编码支持 """
--with-gettext \
--enable-mbstring \
--with-iconv \
""" 加密扩展 """
--with-mcrypt \
--with-mhash \
--with-openssl \
""" 数学扩展 """
--enable-bcmath \
""" Web 服务,soap 依赖 libxml """
--enable-soap \
--with-libxml-dir \
""" 进程,信号及内存 """
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
""" socket & curl """
--enable-sockets \
--with-curl \
""" 压缩与归档 """
--with-zlib \
--enable-zip \
--with-bz2 \
""" GNU Readline 命令行快捷键绑定 """
--with-readline

make clean

# make && make install

编译安装php时遇到virtual memory exhausted: Cannot allocate memory

php时日志中有如下错误记录:
virtual memory exhausted: Cannot allocate memory
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

PHP安装配置文件中加了引号中的配置
--disable-fileinfo
做了上述修改后终于编译安装通过

配置 PHP文件
cp /usr/local/test/upload/php-5.6.31/php.ini-development /usr/local/php/etc/php.ini
php -fpm 服务

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/test/upload/php-5.6.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
启动 php-fpm
/usr/local/php/sbin/php-fpm 

添加 PHP 命令到环境变量


vi /etc/profile

打开后,在文档最下方添加如下配置:

export PATH=/usr/local/php/bin:$PATH

:wq!保存退出,执行如下命令,使更改生效

source /etc/profile


1、配置nginx支持php    

cp /usr/local/nginx/conf/nginx.conf      /usr/local/nginx/conf/nginx.confbak    #备份原有配置文件
vi /usr/local/nginx/conf/nginx.conf  #编辑
user  root;  #  nginx 用户修改为root
:wq!    #保存退出
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak   #备份原有配置文件
vi /usr/local/nginx/conf/nginx.conf  #编辑

index index.php index.html index.htm;   #增加index.php
 # pass the PHPscripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ \.php$ {
   root          html;
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   include       fastcgi_params;
 }
#取消FastCGI server下location的注释,并要注意fastcgi_param行的参数,/scripts改为$document_root 或者使用绝对路径
/usr/local/nginx/sbin/nginx -t    #检查Nginx配置

/usr/local/nginx/sbin/nginx -s reload # 平滑重启


2、PHP配置

在源码包解压文件里复制出来

cp /usr/local/test/upload/php-5.6.31/php.ini-development /usr/local/php/etc/php.ini


vi /usr/local/php/etc/php.ini #编辑
date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC
expose_php = Off #在432行 禁止显示php版本的信息
:wq! #保存退出

2、配置php-fpm

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf   #备份原有配置文件
vi /usr/local/php/etc/ php-fpm.conf    #编辑
user = www   #为用户为nginx
group = www   #为组为nginx
/etc/init.d/mysqld restart  #重启MySql
/usr/local/nginx/sbin/nginx -s reload     # 平滑重启 nginx
/usr/local/php/sbin/php-fpm  restart  #重启php-fpm

5、启动php测试

#启动

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

#测试php

cd /usr/local/nginx/html

vi test.php

添加如下内容:
<?php  
 echo phpinfo();  
?>

:wq!保存退出。

浏览器输入:http://XXXXXXXX/test.php

如果出现:PHP Version 5.6.31 界面,显示php详细的配置的界面,说明安装正确

6、php重启、停止

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

2.解压Discuz_X3.2_SC_UTF8.zip,得到3个文件夹(readme,upload,utility
3.把upload里所有文件复制到/usr/local/nginx/html/bbs/

4.chmod -R 777 /usr/local/nginx/html

bbs 是新建的目录





备注

nginx默认站点目录是:/usr/local/nginx/sbin/nginx 

php默认站点目录是:/usr/local/php/sbin/php-fpm
权限设置:chown nginx.nginx/usr/local/nginx/html/ -R
MySQL数据库目录是:/var/lib/mysql
权限设置:chown mysql.mysql -R /var/lib/mysql


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NeilNiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值