参考文章:ubuntu安装LNMP0.6和“502错误及/usr/local/php/sbin/php-fpm: 没有那个文件或目录”解决方案

windows下有XAMPP,Apache+MySQL+PHP+Perl,一键安装,配置成web服务器。

Linux也不甘示弱,放出了LNMP,Linux+Nginx+MySQL+PHP,一键安装,打造Linux的web服务器。

据说以后还会有LAMP(Linux+Apache+MySQL+PHP)出现。

进入主题:

一、下载LNMP安装包(推荐下载完整版)

LNMP 0.6
下载版:http://soft.vpser.net/lnmp/lnmp0.6.tar.gz(23.31KB)
完整版:http://soft.vpser.net/lnmp/lnmp0.6-full.tar.gz(50.56MB)

二、安装LNMP

安装简单,请参考http://www.lnmp.org/install.html

不同的Linux版本安装方法不同,请仔细查看。如果你还没安装,那最好直接看到下面的解决方法。

三、出现502 Bad Gateway错误。

安装完之后,打开浏览器,输入127.0.0.1,出现如下图所示的界面。

LNMP安装成功

不过,不管点探针还是phpinfo还是phpMyAdmin都出现可恶的502 Bad GateWay,没有出现预料中的画面。

检查发现PHP根本就没有安装进去。。无语了。

原因分析:

究其原因,就是“Autoconf version 2.58 or higher is required for this script ”要求autoconf版本高于2.58而一键安装包里把autoconf版本换成了2.13

解决方法:

第一种:

卸载LNMP,在终端中进入lnmp0.6-full的目录后,运行./unistall.sh

删掉这个解压包,重新解压一次。(什么!你把下载来的压缩包删了?!!再下一次吧你。)

在终端中,进入lnmp0.6-full目录

sudo chmod 777 ubuntu.sh (更改ubuntu.sh的权限)

gedit ubuntu.sh (用gedit编辑ubuntu.sh文件,没有gedit的话,用vi或者vim)

在278和279行,有如下两句

patch -p 1 -i ../suhosin-patch-5.2.14-0.9.7.patch
cd php-5.2.14/

调换一下顺序,改为:

cd php-5.2.14/
patch -p 1 -i ../suhosin-patch-5.2.14-0.9.7.patch

再找到280行,有

./buildconf --force

更改为

PHP_AUTOCONF=autoconf213 PHP_AUTOHEADER=autoheader213 ./buildconf --force

然后重新安装LNMP。此方法完美进行,至今未发现什么问题。

第二种:

该方法不需要重新安装,但是过程比较麻烦。而且Laycher试了一次还是没有成功,最后使用了第一种方法。

1.卸载automake。apt-get remove automake
这样并不能卸载2.13,需要sudo  rm /usr/local/bin/autoconf 才行。可能是因为2.13编译问题。

2.下载autoconf2.61。点此下载
不要尝试更高版本,经测试,更高版本容易出错。

3.在终端解压压缩包,并安装。
tar xzf autoconf-2.61.tar.gz
cd autoconf-2.61
./configure --prefix=/usr
make
make install

4.然后重新编译php-fpm(重新解压一次lnmp0.6压缩包,因为下面两个gz文件被删除了。)
在终端中进入lnmp的目录并解压php,然后按照下面命令编译安装
tar zxvf php-5.2.14.tar.gz
gzip -d ./suhosin-patch-5.2.14-0.9.7.patch.gz
gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1
cd php-5.2.14/
patch -p 1 -i ../suhosin-patch-5.2.14-0.9.7.patch (此处ubuntu.sh脚本中和上句弄反,这也可能是错误原因之一)
./buildconf --force
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic --enable-suhosin
make
make install
mkdir -p /usr/local/php/etc/
cp php.ini-dist /usr/local/php/etc/php.ini
strip /usr/local/php/bin/php-cgi
cd ../
ln -s /usr/local/php/bin/php /usr/bin/php

第三种:

下载autoconf2.61.复制到lnmp解压包里,删除原来的autoconf2.13.修改ubuntu.sh 196 197行,替换
2.13为2.61.修改278 279行互换,重新编译安装。

当然,也可以直接把文件名改成2.13,那么就不用改ubuntu.sh文件了。

成功安装之后呢,再点上图中的任何链接,就不会出现502错误了。点探针会出现如图所示。

探针

>> 若为原创,转载请注明: 转载自Laycher's Blog

>> 本文链接地址: Ubuntu下安装LNMP0.6出现502 Bad Gateway错误

>> 订阅本站: http://feed.feedsky.com/laycher