/usr/local/src/下都有什么:.tar.gz文件和解压之后的源码
/usr/local/下都有什么:源码编译之后的东西
安装mysql客户端
安装mysql服务端
启动mysql服务端
service mysqld start
nginx+php的编译
apache一般是把php当做自己的一个模块来启动的.
而nginx则是把http请求变量(如get,user_agent等)转发给 php进程,即php独立进程,与nginx进行通信. 称为 fastcgi运行方式.二者是平等的关系
因此,为apache所编译的php,是不能用于nginx的,需要重新编译.(此机器之前在详解apache的时候安装了php,所以现在需要make clean一下,执行make clean,需要先cd php-5.4.19,php-5.4.19是源码文件夹)
注意: 我们编译的PHP 要有如下功能:
连接mysql的功能, gd库画图, ttf(字体功能), 以fpm(fastcgi)方式运行
现在我们知道我们编译php,需要什么东西了。那么我们cd php-5.4.19,然后
./configure –help |grep xxx
第一个,先看mysql
第二个,gd库
安装gd库
第三个,ttl
./configure --prefix=/usr/local/fastphp \
--with-mysql=mysqlnd \
--enable-mysqlnd \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv
--enable-fpm
./configure 出错:报出png.h找不到,报出.h文件找不到的,都是没有头文件,需要安装xx-devel
安装好yun install gd-devel后 再次./configure 执行完成,没有报错,则执行 make && make install,这个命令要很久
命令执行完毕,安装完成。
装错了,没有以fpm方式运行,删掉:
因为没有以fpm形式运行,只有fpm形式运行,才能以独立进程编译。
如下这条命令(./configure –help….)需要先cd到php的目录中去执行
同样在该目录下,运行
再执行make && make install 进行编译
编译完毕后: 需要拷贝两个配置文件
1.把源码包中的php.ini-development 复制到 fastphp/lib/php.ini下
nginx+php的配置比较简单,核心就一句话----
把请求的信息转发给9000端口的PHP进程,
让PHP进程处理 指定目录下的PHP文件.
如下例子:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
//告诉php到底要运行哪个页面
//$fastcgi_script_name:文件名字是什么
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;//少了这句不行
}
1:碰到php文件,
2: 把根目录定位到 html,
3: 把请求上下文转交给9000端口PHP进程,
4: 并告诉PHP进程,当前的脚本是 $document_root$fastcgi_scriptname
(注:PHP会去找这个脚本并处理,所以脚本的位置要指对)