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!
(如果是源码和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) |
此外/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/,http://blog.csdn.net/21aspnet/article/details/6581724
3.error: mysql configure failed问题:http://blog.csdn.net/wlx3351/article/details/5938964,http://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/