LNMP即linux+nginx+mysql+php.
用来搭建php+mysql网站很好的选择。下面开始安装;
一、Nginx
yum安装:http://bfe99.blog.51cto.com/blog/1072496/1313414
编译安装:http://bfe99.blog.51cto.com/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;
这个我没试.不知是否有用.
共同学习,写下你的评论
评论加载中...
作者其他优质文章