LNMP平台搭建---PHP安装篇

在前面三篇中,我们安装了Linux系统、Web服务器Nginx、MySQL数据库服务器,这篇就来将搭建动态网站的最后一步:PHP安装。

  Nginx服务器只能响应静态资源请求,对于动态资源请求就不行了,因此,需要借助脚本语言来处理,这一过程大概这样:

  1. 配置Nginx服务器能接受动态资源请求;

  2. 将动态资源请求转发到脚本语言解析器去处理;

  3. Nginx继续处理静态资源请求,脚本语言返回结果后再返回给客户端

  在Nginx服务器和PHP解析器两者之间,就需要借助FastCGI这一个桥梁了,FastCGI其实就是socket,主要把动态语言和Web服务器隔离开并搭建通讯管道,它采用C/S架构(Web服务器/PHP解析器),这样,Nginx服务器就专门处理静态资源请求和将动态资源转到后端PHP解析器执行,PHP解析器就专门处理动态请求并生成静态资源返回给Nginx服务器。

  Nginx服务器是支持FastCGI的,在其安装目录的conf目录下可以看到fastcgi的配置文件:

  

  PHP程序安装需要依赖一下这些库,在安装它之前必须先安装它们:

  zlib-devel    libxml2-devel    libjpeg-devel      libjpeg-turbo-devel   libiconv-devel  freetype-devel   libpng-devel   gd-devel  

  libcurl-devel  libxslt-devel    libmcrypt-devel  mhash mcrypt

  安装这些依赖库都不难,这里yum安装就行了

  然后就可以进行php的安装了,源码安装linux平台软件步骤都差不多,解压,配置生成makefile,然后make,最后sudo make install。

  1. 解压,进入目录:

    

  2. 配置生成makefile文件,配置参数如下:

    ./configure --prefix=/home/linjk/usr/php/php-5.3.27 --with-mysql=/home/linjk/usr/mysql/mysql-5.5.32 --with-iconv-dir=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --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-zend-multibyte --enable-static --with-xsl

(2017年5月19日更新: 在安装Zabbix是发现找不到Mysql数据库,需要增加--with-mysqli选项,最终配置参数如下)

./configure --prefix=/home/linjk/usr/php/php-5.3.27 --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --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-zend-multibyte --enable-static --with-xsl —with-gettext --with-mysqli=/usr/local/mysql/bin/mysql_config

   3. 编译:

    sudo ln -s /home/linjk/usr/mysql/mysql-5.5.32/lib/libmysqlclient.so.18 /usr/lib64/

    在解压后进入目录后的目录下执行:

    sudo touch ext/phar/phar.phar

    make  

    sudo make install

  4. 安装完成后,配置php.ini文件

    cp php.ini-production /home/linjk/usr/php/php-5.3.27/lib/php.ini

  5. 配置PHP服务

    cd /home/linjk/usr/php/php-5.3.27/etc

    cp php-fpm.conf.default php-fpm.conf

  6. 启动php服务

    /home/linjk/usr/php/php-5.3.27/sbin/php-fpm

    检查一下:

    

  7. 配置Nginx服务器支持php的请求,这里新建一个网站,就是在nginx.conf新增一个虚拟主机server块,其配置如下:

    

    这里设置了其监听端口和域名,并且启用了ssl协议支持,并配置支持html和php的资源请求

    然后测试nginx配置文件没问题后,进行重启"sudo ./nginx -s reload"即可。

  8. 测试PHP请求是否有效:

    最常用的检查脚本如下:

    <?php

      phpinfo();

    ?>

    这里使用一个获取当前目录下文件来演示,这个目录下我上传了安装linux服务器会用到的一些资源库,也方便以后下载,代码如下:

 1 <html>
 2     <head>
 3         <meta charset="UTF-8">
 4     </head>
 5     <body>
 6 
 7     <h3>upload文件夹当前存在的文件:</h3>
 8     <br/>
 9     <?php
10     /**
11      * 列出html/upload路径下所有文件.
12      * User: linjk
13      * Date: 06/11/2016
14      * Time: 20:10
15      */
16     define("LIST_DIR", "../../upload");
17 
18     if (defined("LIST_DIR")) {
19         $filesnames = scandir(LIST_DIR);
20 
21         foreach ($filesnames as $name) {
22             if ($name=="." || $name=="..") {
23                 continue;
24             }
25 
26             $url="https://www.linjk.cn:3298/upload/".$name;
27 
28             echo "<a href='$url'>" . $name . "</a><br/>";
29         }
30     }
31     ?>
32     </body>
33 </html>

    这里使用phpstorm进行开发php程序,配置服务器路径和环境然后就可以使用SFTP协议上传和同步文件了,上传后访问结果如下:

    

    这样,基于LNMP平台的动态网站就搭建完成了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值