hudeya 发表于 2018-12-12 09:40:51

CentOS6安装配置PHP5.6(LNMP环境)

  0.安装的环境说明
  本次安装的php的图解如下,Nginx和php在同一个服务器上,MySQL单独一个服务器。前面已经说了如何去搭建Nginx服务,如何配置虚拟主机,MySQL也在之前的博文说到安装。以后再整理一份完整的LNMP搭建的博客。

http://s1.运维网.com/images/20180330/1522370747245794.png
  检查Nginx和MySQL的安装情况,确认两者都已经安装了,并且能够正常运行。下面安装php需要的类库工具。
http://s1.运维网.com/images/20180330/1522370985714705.pnghttp://s1.运维网.com/images/20180330/1522371095842317.png
  1.安装前的准备

  本次安装php是为了搭建lnmp环境,其中Nginx+php在同一个主机,MySQL单独一个主机。在前面已经把Nginx和MySQL搭建好了,这里在Nginx服务器上安装php。本次安装php的版本是5.6,在安装之前需要确认安装一些的库文件。
  (1)安装php所需的lib库
rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel  注:每个lib一般都会存在一个以"devel"命名的包,安装这个"devel"的包,对应的lib也会安装好了,所以这里只需要检查安装devel的包的情况。
  如果没有安装,请使用yum来安装
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
yum install -y freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel  如无意外,上面的这些包除了libiconv-devel没有成功安装之外,都能够正常安装,如果这些包安装出错的请根据提示信息自行百度,libiconv-devel需要自行编译安装。从网上下载的源码包为“libiconv-1.15.tar.gz”,解压之后编译安装:

tar -xf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --prefix=/usr/local/libiconv
make
make install  (2)使用epelyum源来安装libmcrypt库、mhash加密拓展库和mcrypt加密拓展库

  在CentOS默认的yum源里面没有上面提到的这些库文件,因此需要实现配置epel第三方yum源,不然使用编译安装的办法会比较麻烦

yum install epel-release    #可以直接用命令安装epel源
wget -O /etc/yum.repos.d/epel.repo    #也可以直接下载epel的yum源文件  安装对应的类库
yum install -y libmcrypt-devel    #动态加载的模块
yum install -y mhash            #基于离散数学原理的不可逆的PHP加密方式拓展库
yum install -y mcrypt             #实现加密解密的功能  2.开始安装PHP(FASTCGI)服务
  从php官网下载的版本是"php-5.6.31.tar.gz",当然也有更新版本的。解压之后编译安装。

tar -xf php-5.6.31.tar.gz
./configure --prefix=/usr/local/php5.6.31 --with-mysql --with-pdo-mysql-with-mysqli--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --disable-rpath--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization--with-curl--enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets   --with-xmlrpc --enable-zip --enable-soap --enable-short-tags--enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --with-iconv=/usr/local/libiconv  编译成功的话,会出现以下的提示。如果失败了,请根据具体的提示解答。

http://s1.运维网.com/images/20180330/1522372446940743.png
  其中,下面说明部分的编译参数说明

参数说明--prefix=/usr/local/php5.6.31指定安装的位置--with-mysql --with-pdo-mysql-with-mysqli安装php需要的mysql内容,如果是lnmp在同一主机上,用--with-mysql="mysql的安装路径"--with-fpm-user=nginx指定php-fpm的进程用户为nginx,group的同理--enable-fpm激活php-fpm方式服务--with-iconv=/usr/local/libiconv指定iconv的路径(之前编译出错几次都是因为没有指定这个参数)  安装php,这样php就安装成功了。

make
make install  3.配置php的配置文件php.ini

  在php的安装包解压路径下,找到php.ini的模版文件,可以看到有两个文件。
http://s1.运维网.com/images/20180330/1522373191371710.png
  在这里我们使用后面的那个,production的。把这个文件复制到php目录下,然后改名为php.ini

cp php.ini-production /usr/local/php5.6.31/lib/php.ini  配置php-fpm.conf,这里直接用php-fpm.conf.default模版
cd /usr/local/php5.6.31/etc/
cp php-fpm.conf.default php-fpm.conf  4.启动php服务(FastCGI方式)
  检查配置文件有没有错误,没有的话启动php

/usr/local/php5.6.31/sbin/php-fpm -t
/usr/local/php5.6.31/sbin/php-fpmhttp://s1.运维网.com/images/20180330/1522373680272123.png
  检查端口,9000的端口是否已经启动,启动了的话,那就可以了。

http://s1.运维网.com/images/20180330/1522373777722960.png
  5.配置Nginx支持php程序访问
  在之前的www.conf虚拟主机的配置文件里面加入php的解析
15      location ~ .*\.(php|php5)?$ {
16         root html/www;
17         fastcgi_pass 127.0.0.1:9000;
18         fastcgi_index index.php;
19         include fastcgi.conf;
20   }  完整的配置如下图:

http://s1.运维网.com/images/20180330/1522374019273768.png
  检查并启动Nginx

http://s1.运维网.com/images/20180330/1522374087396845.png
  6.测试LNMP是否起效。
  (1)测试php解析

  进入到www的站点,添加一个文件index.php

echo "" >html/www/index.phphttp://s1.运维网.com/images/20180330/1522374243763916.png
  在浏览器上输入网址验证,得到下图的页面就是OK了。也可以在linux用links工具: links www.pcm.com/index.php

http://s1.运维网.com/images/20180330/1522374320233057.png
  (2)测试php连接MySQL的情况

  同样在www的目录下新建一个test_mysql.php的文件,加入以下的内容:

  浏览器打开这个页面得到结果如下,这个表示成功了,到这里LNMP就搭建成功了。

http://s1.运维网.com/images/20180330/1522374559965017.png
  如果出现错误的提示如下,那就是数据库那里没有给到权限。

http://s1.运维网.com/images/20180330/1522374724959661.png
  登陆数据库服务器,然后添加一个root账号,允许192.168.31.10主机访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.31.10' IDENTIFIED BY 'pcm123456';
flush privileges ;


页: [1]
查看完整版本: CentOS6安装配置PHP5.6(LNMP环境)