LNMP即linux+nginx+mysql+php. 用来搭建php+mysql网站很好的选择。下面开始安装; 一、Nginx yum安装:http://bfe99.blog./blog/1072496/1313414 编译安装:http://bfe99.blog./blog/1072496/1131164 测试:直接在浏览器中输入http://192.168.1.220(你机器的ip地址)访问 如果出现,那么恭喜你,nginx安装成功! Welcome to nginx! 注:防火墙的配置。 二、MySQL 待续。 三、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 ####################################################
#################yum安装########## yum install php-fpm service php-fpm start 如果找不到源则进行下面操作: ·首先,添加atomic源,这个atomic是专为LAMP设置的,很多源在有了新的版本之后会删除旧的版本,因此无法使用。在终端输入以下代码: wget -q -O - http://www.atomicorp.com/installers/atomic | sh·其次使用yum的附加选项–enablerepo(这个可以指定从哪个源安装软件),再次,使用–exclude选项(排除特定的包),这里呢,就写出我们需要的命令: yum --enablerepo=atomic --exclude=php*5.3*--exclude=php*5.4* install php 。两个排除(–exclude。5.3和5.4,自己融汇贯通),一个指定(–enablerepo,当然可以像–exclude一样连续两个。)####################################### #########################php5.4安装也说一下############## 使用 WebtaticEL6的YUM源来安装php5.4,我们首页安装Webtatic EL6 YUM源 rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm yum install php54w 如果安装失败,建议您先卸载以前的php再进行安装,使用yum remove php php-* 附带的php扩展列表: Package | Provides | php54w | mod_php | php54w-bcmath |
| php54w-cli | php-cgi, php-pcntl, php-readline | php54w-common | php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib | php54w-dba |
| php54w-devel |
| php54w-embedded | php-embedded-devel | php54w-enchant |
| php54w-fpm |
| php54w-gd |
| php54w-imap |
| php54w-interbase | php_database, php-firebird | php54w-intl |
| php54w-ldap |
| php54w-mbstring |
| php54w-mcrypt |
| php54w-mssql |
| php54w-mysql | php-mysqli, php_database | php54w-odbc | php-pdo_odbc, php_database | php54w-pdo |
| php54w-pgsql | php-pdo_pgsql, php_database | php54w-process | php-posix, php-sysvmsg, php-sysvsem, php-sysvshm | php54w-pspell |
| php54w-recode |
| php54w-snmp |
| php54w-soap |
| php54w-tidy |
| php54w-xml | php-dom, php-domxml, php-wddx, php-xsl | php54w-xmlrpc |
| php54w-zts |
|
注意事项 最新版本中的error_reporting 中E_ALL 现在包含了 E_STRICT,会出现更多的警告及错误提示。默认情况下error_reporting是关闭状态,但是如果是从旧的php版本中升级而来,php.ini可能得不到更新,error_reporting可能开启着。 关于php5.4在centos5上的安装升级 因为centos已经过去的版本了,用的越来越少,把php5.4移植到centos5上也需要大量的工作,估计够呛能完成啊。 ########################################################
service php-fpm start netstat -tunlp | grep 9000 测试是否安装成功
四、让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测试文件 vi phpinfo.php 其内容: <?php phpinfo();?> 浏览http://(你机器的ip地址)/phpinfo.php 如果出一个php的特色标志页面,就说明安装成功了。 五、问题总结 安装php中的mcrypt出问题:mcrypt.h not found. Please reinstalllibmcrypt 解决方法: yum install libmcrypt 编译安装遇到的问题比较多,建议yum安装。
重启nginx时提示ive"root" is not terminated by ";" 发现配置文件里面少;可}这里要注意. 可以用grep 来查看下. 网上也有人说: 将重新后的url用双引号引起来! 出错:rewrite ^/date/([0-9]{6})/?([0-9]+)?/?$/index.php?action=article&setdate=$1&page=$2 last;
正确:rewrite"^/date/([0-9]{6})/?([0-9]+)?/?$"/index.php?action=article&setdate=$1&page=$2 last; 这个我没试.不知是否有用.
|