您的位置:首页 > 运维架构 > Nginx

centOS5.6 下的nginx+mysql+php+php-fpm安装与配置

2012-07-04 17:25 1301 查看
nginx安装:我是直接按照官网上的方法安装

一、访问nginx官网:http://nginx.com/ (目前稳定版是nginx-1.2.2 )。进入下载页面(http://nginx.org/en/download.html),这个页面介绍的怎么安装nginx。对于centos的用户,nginx官方给出了rpm包源,下载后用yum可安装,也可以直接下载源码安装。在此我是用的是rpm源的安装方法。

二、rpm -ivh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm
命令来下载rpm包

三、yum install nginx

四、设置开机自启,启动nginx,关闭nginx服务

>chkconfig nginx on

>/etc/init.d/nginx stop

>/etc/init.d/nginx start

五、nginx的配置文件目录都在/etc/nginx下(包括fastcgi的配置,下面要用到)。

六、测试:直接在浏览器中输入http://192.168.1.220(你机器的ip地址)访问

如果出现,那么恭喜你,nginx安装成功!

Welcome to nginx!

mysql安装:确保先于php安装,因为这个才能保证php正确加载mysql扩展
一、yum install mysql mysql-server php-mysql
二、查看mysql安装情况。
>mysql -u root
如果能进入,那么mysql安装成功。
设置root密码
>mysql -u root password mypassword
(如果是源码和rmp安装,官方下载地址:http://mysql.mirrors.hoobly.com/Downloads/

mysql的版本众多,对于我这个beginner来说有点为难啊!)

关于mysql的安装,如果yum来安装,centos的默认源是5.0的,版本太老了。所以研究了怎么从官方获取最新rpm源来安装。

获取源:

wget http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.25a-1.rhel5.x86_64.rpm/from/http://cdn.mysql.com/--------》mysql的服务端
wget http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.25a-1.rhel5.x86_64.rpm/from/http://cdn.mysql.com/---------》mysql的客户端
wget http://www.mysql.com/get/Downloads/MySQL-5.5/MySQL-devel-5.5.25a-1.rhel5.x86_64.rpm/from/http://cdn.mysql.com/---------》mysql的开发包,要支持php,必须安装此包,不然会出现找不到mysql.h,客户端没有绑定错误
rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpm MySQL-client-5.5.25a-1.rhel5.x86_64.rpm MySQL-devel-5.5.25a-1.rhel5.x86_64.rpm

yum install MySQL-server-5.5.25a-1.rhel5.x86_64.rpm MySQL-client-5.5.25a-1.rhel5.x86_64.rpm MySQL-devel-5.5.25a-1.rhel5.x86_64.rpm

安装php和php-fpm

一、php的版本选择以前的稳定版5.3.14。由于php5.3.x直接绑定php-fpm,所以php-fpm是没有php5.3.x的包。

二、通过源码安装php5.3.14。

wget http://cn.php.net/get/php-5.3.14.tar.bz2/from/this/mirror
tar -xvjf php-5.3.14

cd php-5.3.14

下载源码

三、安装(php源码安装的话,其参数会非常多。具体看你加载那些扩展)

> ./configure -enable-fpm --with-mysql=/usr/bin/mysql --with-curl --with-zlib_dir=/usr/lib64 --with-gd --with-mysqli

( -enable-fpm 开启php-fpm,cgi模式

--with-mysql=/usr/bin/mysql /usr/bin/mysql是你的mysql客户端的地址

--with-mysqli 加载mysqli扩展

--with-curl加载curl扩展

--with-zlib_dir=/usr/lib64这个暂时不知道什么意思,但是不加上会出现:configure error:Try adding --with-zlib_dir=<DIR>……错误

--with-gd加载gd扩展

--with-mcrypt

--with-mhash

--with-mbstring



>make
>make install
四、配置nginx来支持php
找到/etc/nginx/conf.d/default.conf,打开编辑它
>vi /etc/nginx/conf.d/default.conf
去掉下面部分的注释用于支持 php 脚本:

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

include /etc/nginx/fastcgi_params;

}
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; /usr/share/nginx/html指你的网站目录
include /etc/nginx/fastcgi_params;
要确保找对文件地址

重启nginx服务

>/etc/init.d/nginx stop

>/etc/init.d/nginx start

启动php-fpm
>/usr/local/sbin/php-fpm
五、测试php文件
在/usr/share/nginx/html目录下创建phpinfo.php文件
>vi phpinfo.php
其内容:
<?php
phpinfo();
六、测试
然后在浏览器中输入http://(你机器的ip地址)/phpinfo.php,如果出一个php的特色标志页面,就说明安装成功了
七、其他问题
error: mysql configure failed.问题

说实话,加载mysql扩展是废了我一番功夫。因为每次编译的时候都会error: mysql configure failed.这个问题。我看了一个config.log文件,但由于本人能力有限,没看出什么名堂。所以就借助Google找答案。结构是在64位的centos的mysql官方rpm都会有这个问题。(查看你的系统的版本:使用uname -a,如果出现 Linux 2.6.18-238.el5
#1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_64 GNU/Linux 就说明是64位。而i386是32位的)
解决方法:使用下面命令后,再重新编译php
ln -s /usr/lib64/mysql/ /usr/local/lib/mysql

ln -s /usr/include/mysql/ /usr/local/include/mysql

八、php-fpm重启
php5.3内置了fpm,那么fpm进程就只能用信号控制
>locate php-fpm.pid
cat /usr/local/php/var/run/php-fpm.pid

>kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

>ps aux|grep php-fpm
九、安装phpmyadmin

到phpmyadmin官网上去下载最新的包(http://www.phpmyadmin.net/home_page/downloads.php
cd /usr/share/nginx/html----->你的nginx网站目录
wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.5.2/phpMyAdmin-3.5.2-all-languages.tar.bz2 tar -xvjf phpMyAdmin-3.5.2-all-languages.tar.bz2
cp
phpMyAdmin-3.5.2-all-languages phpmyadmin

cp config.sample.inc.php config.inc.php----> 一般这部不需要
十、加载php扩展
例如加载zip扩展
cd php-5.3.14(php的源码目录)
cd ext/zip(扩展对应的源码目录)
/usr/local/bin/phpize(用phpize扩展挂载工具)

./configure
--with-php-config=/usr/local/bin/php-config

make
make
install
如果按装成功,会返回此扩展的安装目录(如/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/)
vi
/etc/php.ini
在php.ini文件中加入
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/zip.so

重启php-fpm
(期间我安装扩展又出现来问题,冥冥修改了php.ini文件(此处的php.ini的路径是/etc/php.ini)但phpinfo()输出就是没有加载上。所有的编译和安装都没有报错。我也仔细查看了zip.so的路径也是正确。思索了一会突然看见phpinfo()输出信息中关于php.ini的描述是这样的

Configuration File (php.ini) Path/usr/local/lib
Loaded Configuration File(none)
居然路径是在/usr/local/lib下,进去却没发现php.ini文件。原来我在源码安装时没有配置--prefix,所以php.ini的默认路径是/usr/local/lib。这时需要把/etc/php.ini考到/usr/local/lib下。
此外/etc/php.ini中的extension_dir的路径是/usr/lib64/php/modules
extension_dir=/usr/lib64/php/modules
modules所以最好把zip.so拷贝到/usr/lib64/php/modules下,然后在php.ini中加一句
extension=zip.so

然后重启php-fpm,就可以看到加载的扩展。

十一、安装过程中遇到的问题

1.安装php中的mcrypt出问题:mcrypt.h
not found. Please reinstall libmcrypt
解决方法:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz ----->ps: 解压
cd libmcrypt-2.5.7

mkdir -p /usr/local/libmcrytp

./configure prefix=/usr/local/

make

make install
假设安装在/usr/local/,在configure PHP的时候加上--with-mcrypt=/usr/local/lib
2.

参看资料:
1.php-fpm重启:http://blog.sina.com.cn/s/blog_6fb90ed30100u06p.html
2.ubuntu和linux上安装lnmp:http://www.cslog.cn/Content/ubuntu-10-04-nginx-0-8-52-php-fpm-5-3-3-apc-mysql-i//article/2648079.html
3.error: mysql configure failed问题:http://blog.csdn.net/wlx3351/article/details/5938964http://mylinux.5d6d.net/thread-856-1-1.html

4.erro:mysql configure failed问题的另一种解决方法:http://www.bitbi.biz/%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85php%E5%87%BA%E7%8E%B0configureerrormysql-configure-failed%E8%A7%A3%E5%86%B3-115/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: