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

centos6.4 nginx php mysql 编译安装一些补充事项

2014-03-02 21:57 896 查看
最近经济出问题,只好更好一下VPS。由快速的香港VPS(75元/月)更好为 米国VPS(39元/月).

趁着周末,决定抛弃军哥的LNMP一键包了,自己去编译安装LNMP,哈。平时在群里看一些朋友都在编译安装了,遂自己也动手体验一下。PS:我用ubuntu下,基本都是apt-get完成的,基本版本可以保持最新的了。

说个题外话,为什么我要编译LNMP呢?因为军哥的LNMP一键包并非比较新的版本,为了保持自己的程序和自己的开发环境持平,遂选择编译安装。

一些参考的网站:

NGINX安装:http://www.nginx.cn/install

PHP安装:http://www.nginx.cn/231.html

Mysql安装:http://blog.51yip.com/mysql/1312.html (Mysql源码包下载:http://download.softagency.net/MySQL/Downloads/MySQL-5.6/

Nginx的安装过程,基本按照参考网站的方法进行就可以了,这里没有比较大的问题。

接着安装PHP,这里可能会出现比较多的问题了。

1.编译安装时,

./configure #此处必须要带安装目录(在你不熟悉PHP的目录布置下)。
./configure --prefix=/usr/local/php  --enable-fpm #这部分记得写上,后面的参数都是安装时附带安装上的扩展。

编译安装完毕后,配置一下nginx,让nginx能够支持PHP. 接下来,会遇到一个问题,如何重启php-fpm?

文中给出的 kill -INT `cat /usr/local/php/var/run/php-fpm.pid` 可能并不能终止php-fpm!这时候可以用这个方式来重启 php-fpm.

ps -ef | grep php-fpm #获取php-fpm的进程

kill [进程的ID]  #终止php-fpm进程; [进程ID]指的是 标记着master 的进程ID 。不含[] 例如root 19723 1 0 17:49 ? 00:00:00 php-fpm: master process

/usr/local/php/sbin/php-fpm #启动php-fpm

好了,php-fpm已经重启了。如果按照上面方法,你终止后无法启动php-fpm,请回看参考网站,第一次编译安装先按照教程操作一次就行了。另外,我下载的是5.5.9 ,将教程的php-5.4.7.tar.gz 改为 php-5.9.9.tar.gz 则可。

php.ini 如果不知道在哪里,写一个测试的文件( phpinfo() ),上传到服务器。你就知道php.ini在哪里了。默认编译安装完毕,是没有这个文件的。你要从 安装包中 复制一份过去。参照网站有提及的。

PHP安装完毕,接着我们安装mysql. 网上一些教程比较旧,还用make安装。刚开始我就被坑了不少。还有就是,我一直想吐槽Mysql官方,找个下载地址都很难,网上教程提及的地址都已经404.。Mysql安装参照本文前面的网站,基本可以正常安装的了。

Msyql安装完毕,有一些地方需要注意的,mysql.cnf配置文件记得添加,不然的话,后面启动可能会出现报错的现象

socket = /usr/local/mysql/mysql.sock

接着去下载phpMyAdmin。这里就不提及方法了。运行时,会遇到某些函数没有运行的情况. 这说明我们缺少一些必要的扩展。

回答PHP的源码安装包(示例都是在 /usr/local/src/php-5.5.9). ,在ext目录下,进入需要安装的扩展。

安装方法如下:

/usr/local/php/bin/phpize #只有在PHP扩展时,才有效。具体用途自己谷歌吧。如果你运行这个命令提示 不存在。那么说明你没有安装上面的教程安装,用这个命令找 这个文件吧: find / -name phpize
./configure --with-php-config=/usr/local/php/bin/php-config #添加扩展到PHP配置文件
make #提示一下,这里很容易会出现 error [xxx.lo] 1 之类错误。这时候自行搜索对应的扩展安装方法就行了。切忌直接搜索 make: *** [xxxx.lo] Error x 。这是浪费人生事件。最好的解决是:php编译XXX扩展方法
make install #
编译完毕后,别忘在 php.ini添加对应的配置项 extension=xxx.so

三个常见的扩展安装配置方法:

./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql #Mysql
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config #Mysqli
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo_mysql=/usr/local/mysql #pdo

另外,安装完Mysql, Mysqli, PDO_Mysql扩展后,记得到php.ini中添加对应的设置.不然 会无法连接Mysql
pdo_mysql.default_socket= /usr/local/mysql/mysql.sock
mysqli.default_socket = /usr/local/mysql/mysql.sock
mysql.default_socket = /usr/local/mysql/mysql.sock

nginx php mysql配置好后,phpMyAdmin可能会遇到 无法登陆之类的问题。

尝试将config.sample.inc.php 修改为 config.inc.php

基本上,LNMP已经可以正常使用了!后面在更新业务的需求,进行扩展的安装。对了,Mysql默认编译安装完毕后,可能处于 严格模式。 亲们,记得改为 宽松模式。

后记:在接触这次编译安装,发现并没有想象中的难,很多地方都是自己疏忽大意容易起的。linux有一个很好的特点,每个操作出错,都会有对应的错误提示。根据上面的提示,网上一搜基本都有答案。找不到的话,换一个思路去搜索,说不定就找到答案了。其次就是,网上很多教程都是老旧的,而且一推站互抄,太恶心了。最后,上面操作如果会编写shell脚本的话,以后可以更加事倍功半 :)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: