本帖最后由 苦丁茶 于 2012-7-31 15:35 编辑
一.关于RPM包安装以及源码编译:
Linux系统下安装软件有两种方式:一种是通过软件包安装,一种是通过源码编译安装。 ........ 具体的比较详见附件,帖子篇幅有限~~
本文这里针对源码编译安装PHP并搭配nginx运行(源码安装nginx见文章附录)做了一些配置过程中的记录。具体的配置过程如下。
二.配置过程:
配置前的准备工作: 创建安装目录,这里假设为/usr/local/php:
1. cd /usr/local/php 进入该目录 下载php源码 wget http://cn.php.net/get/php-5.3.10.tar.gz/from/this/mirror
2.安装编译php所需要的库文件 yum -y install libevent libevent-devel libxml2 libxml2-devel libmcrypt libmcrypt-devel libmcrypt libmcrypt-devel curl-devel libpng-devel libtool-ltdl-devel (比较多,我这里一次性下载了)
3.添加用户组和用户账号:(我这里以fpm用户组和fpm用户名为例)
4.解压缩php源代码包:
5.进入解压好的php-5.3.10 这个目录配置相应的参数:
附:具体的参数:(篇幅限制,见附件) 不出意外的话,会看到下图的结果:
6.编译:(这个过程比较耗时)
编译完成的最后会出现下图:
7.开始安装:
8.复制php.ini到php安装目录 php.ini-development 到/usr/local/php/lib 这个目录下并重命名为php.ini:
9.做方便php的运行的链接,不用配置环境变量
现在我们可以查看php的版本:
10.php-fpm的配置
进入php-fpm的主配置文件 php-fpm.conf,找到图中的部分做相应的修改:
使用命令php-fpm启动php,可以使用命令ps aux | grep php查看php进程是否开启:
11. 配置php-fpm 能通过unix domain socket的方式实现快速连接(可选) 说明:平时大家配置的nginx连接fastcgi的方式都是tcp的,现在我们尝试使用的是一种速度更快的方法即unix domain socket: cd /var/run 进入该目录,创建一个php-fpm.sock 文件并修改其所有者: vi /usr/local/php/etc/php-fpm.conf
12.同时修改nginx(niginx的安装请参考附录)的主配置文件/etc/nginx/nginx.conf ,增加下面这句: fastcgi-pass unix:/var/run/php-fpm.sock
13.最后就是在/usr/share/html 这个目录下创建一个文件夹 命名为info.php,在里面添加以下测试内容: <?php /*注意脚本语言的书写*/
phpinfo();
?> 三.测试结果: 在页面输入http://192.168.1.111/info.php(我这里以ip地址为192.168.1.111做例子)就可以看到php的测试页面:
四.可能遇到的问题的解决方案: (P.S.我在做测试的时候发现nginx在安装的过程中出现的问题比较多,所以这里列举的都是nginx的问题)
1.第一次下载nginx源代码包的时候,由于网速不稳定遇到wget断开再重新连接的情况,原本以为没什么问题,结果在解压缩时提示下图的错误:
后来我使用wget -c +网址 重新下载,再解压缩就没这个问题了。使用wget -c断点续传,对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。
2.启动nginx时提示下图的错误:
这种情况出现的原因是因为nginx重复启动了,如果是需要重新启动nginx可以使用命令 /usr/sbin/niginx -s reload
3.另外,还需要注意的一点是,niginx和php这里并没有设置开机自启动,所以每一次开机启动时都需要手动启动php以及nginx。
附录: 源码编译安装Nginx :(帖子篇幅有限,附录的具体内容详见附件)
wdos系统源码编译安装php(搭配nginx运行).doc (401.06 KB)
|