ubuntu编译安装lnmp

http://blog.s135.com/nginx_php_v6参考文档

 

 

1.sudo tar zxvf nginx -0000.tar.gz

1.Cd nginx -0000

2../configure报错啦啊啊啊啊---nginx重写需要pcre支持。

 

 

下载pcre.解压sudo tar zxvf pcre------.tar.gz

3.然后进入到cd pcre-8.33,进行配置、编译、安装

 Sudo  ./configure

 然后又报错啦啊啊啊啊,需要c++支持瓦

 

4.解决方法:需要先安装libtool和gcc-c++ 

sudo apt-get install libtool 
sudo apt-get install gcc-c++ 

这算是安装完了libtool了吗。。没有提示瓦

安装gcc-c++,又错了。

在网上逛了半圈。终于找到答案了。。

在root用户权限下使用命令apt-get install gcc-c++ 提示couldn't find package

改用apt-get install build-essential安装就可以了

这样就安装成功了吧

接下来回到安装pcre吧。

执行编译sudo make(因为刚刚报错了。所以要再进行一次sudo .configure,然后make)

执行安装 sudo make install

完毕后,再回到正题。安装nginx时.configure报错的,现在再执行一次。

如图。提示需要zlib库。

 

那就安装zlib库

哎。Unable to locate package zlib

  无法找到包Zlib

又要找方法了。。终于找到了。如下:

 

zlib的官网打不开,apt-get insatll zlib也找不到软件包,貌似不在软件源里?解决方法是打开ubuntu software center,搜索zlib,找到zlib1g-dev这个包,安装成功。

 

命令行方式:

sudo apt-get install zlib1g-dev

 

貌似成功了

现在问题貌似都解决了。再回到正题,安装nginx。刚刚是在.configure时出错的,现在再执行以下sudo ./configure

哇靠,终于不报错了。。

现在开始编译 sudo make

编译完成,如上图,开始安装sudo make install

安装完成了。。

安装完成后在/usr/local 下 会有个nginx目录,查看下。确实有,用nginx -v查看显 nginx 版本号的时候为什么会有这样事情呢。。。。

据他人说要切换到root安装那几个包。可是切换不了。还是按照如下方法搞定的

Su passwd root   

Su -

回到什么的话题。刚刚提示了需要选择安装包,好吧

 

好吧。安装完毕后,重启nginx

在url地址栏中输入127.0.0.1   出现如下图:

这样子,over了吧

二.开始安装php

1.获取源码包 

 

 

 

编译mysql报错。。

解决方法:

1说明 curses/termcap 库没有安装 
apt-cache search curses | grep lib 


2)安装 libncurses5-dev ,然后重新运行配置 
apt-get install libncurses5-dev

 

这样就是mysql完成了。。No,

看下方的错误。提示Libtool没有安装。可是我已经安装完成了

,还好找到了解决方法:看下图

打开 configure,把 $RM $cfgfile” 那行删除掉,重新再运行 ./configure 就可以了

看到了吧。没有错了。。嘿嘿

 

Mysql编译出错

解决方法:

 

执行configure无错误,在make的时候却报:

make[2]: *** [do_abi_check] 错误 1
make[2]: Leaving directory `/tmp/mysql-5.5.3-m3
make[1]: *** [abi_check] 错误 2
make[1]: Leaving directory `/tmp/mysql-5.5.3-m3
make: *** [all-recursive] 错误 1

居然是mysqlbug

解决方法:

configure完成之后,用你喜欢的编辑器打开Makefile,即do_abi_check:目标后的所有语句。

删除红色部分

do_abi_check:
    set -ex; \
    for file in $(abi_headers); do \
             gcc -E -nostdinc -dI \
                      -I$(top_srcdir)/include \
                      -I$(top_srcdir)/include/mysql \
                      -I$(top_srcdir)/sql \
                      -I$(top_builddir)/include \
                      -I$(top_builddir)/include/mysql \
                      -I$(top_builddir)/sql \
                                     $$file 2>/dev/null | \
                      /bin/sed -e '/^# /d' \
                                -e '/^[     ]*$$/d' \
                                -e '/^#pragma GCC set_debug_pwd/d' \
                                -e '/^#ident/d' > \
                                           $(top_builddir)/abi_check.out; \
                      /usr/bin/diff -w $$file.pp $(top_builddir)/abi_check.out; \
                      /bin/rm $(top_builddir)/abi_check.out; \
    done

解决完后,再次执行 sudo make ,这样子就可以正常编译了。要很久哦。。。

这样应该就编译好了吧

执行sudo make isntall安装

PHP安装

1.提示缺少libxml2,如下方法装上即可

 

2.又错了,缺少openssl

方法:

 

configure: error: Cannot find OpenSSL's <evp.h>

分类: php2012-03-07 09:59 3745人阅读 评论(0) 收藏 举报

compilerlibrarycommandubuntu

When compiling a software package that is dependent on OpenSSL, it might happen that your compiler will give you the following error:

configure: error: Cannot find OpenSSLs <evp.h> or <hmac.h>

in this case, the compiler wants to tell you that you havent the openSSL developer library installed. Do so by:

 

sudo apt-get install openssl-dev(这个命令在ubuntu上不可以。需要使用下面的

on some systems, like Ubuntu Feisty, you might need to use this command:

sudo apt-get install libcurl3-openssl-dev

3.错了。。

解决方法:

 

 

 

 

 

1. 装上他。。apt-get install libjepg-dev 

2.拷贝过去cp -frp /usr/lib64/libjpeg.* /usr/lib/

sudo cp -frp /usr/lib/i386-linux-gnu/libjpeg.* /usr/lib/

 

 

第一个问题:configure: error: libjpeg.(a|so) not found    很多人都纳闷儿了,我都安装了的,为什么就找不到呢?找不到其实就应试想到它的搜索位置里面是没有的,要不然才不会说not found

    原因是我们大部分一些软件只要rpm -qa | grep ***

    这时下面就有两个重复的的软件

[root@test php-5.2.13]# rpm -qa | grep jpeg
libjpeg-6b-33
libjpeg-6b-33
libjpeg-devel-6b-33

    32位和64位的都装了。你可以强制删除两个包,再重装64位的包。

    rpm --allmatches --nodeps

    这种方法真是损系统又损你.有时候强制执行的东西也会随便把lib中的一些包给强制删了.所以我不建议这么做,重复就让它重复吧,没关系的!

    要解决问题就是它没找到,我安装了的,那我得去找找看它到底是放那里去了.

[root@test php-5.2.13]# updatedb
[root@test php-5.2.13]# locate libjpeg.so
/usr/lib64/libjpeg.so.62
/usr/lib64/libjpeg.so.62.0.0
/usr/lib64/libjpeg.so
/usr/lib/libjpeg.so
[root@test php-5.2.13]# locate libjpeg.a
/usr/lib64/libjpeg.a
/data0/software/jpeg-6b/libjpeg.a
[root@test php-5.2.13]#

    我们在编译的时候经常看到一个库的文件,一般就是以*.a,*.so等名字的,尝试的搜索搜索,不行就模糊搜索!

    通过上面的搜索其实就知道一些原因了,configure一般的搜索编译路径为/usr/lib/下,因为php默认就在/usr/lib/下找相关库文件,而x64机器上是在:/usr/lib64.这时你就可以直接把需要的库文件从/usr/lib64中拷贝到/usr/lib/中去就可以了.

    那么记得要在configure前执行如下的命令:

    cp -frp /usr/lib64/libjpeg.* /usr/lib/

4.错了。。

 

 

 

安装php出现make: *** [sapi/cgi/php-cgi] Error 1

 

>安装php环境出现

ext/iconv/iconv.o: In function `php_iconv_stream_filter_ctor’:
/usr/local/soft/php-5.2.14/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open’
collect2: ld returned 1 exit status
make: *** [sapi/cgi/php-cgi] Error 1

我的编译是这样:

./configure –prefix=/usr/local/php –with-gd=/usr/local/gd –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –with-freetype-dir=/usr/local/freetype –with-mysql=/usr/local/mysql –enable-fastcgi –enable-fpm

解决办法:

增加 – - disable-cli

Sudo make --disable-cli  

Sudo make install --disable-cli

 

查询locate

 

Root执行还提示权限不够???

用ls -l 查看后,发现没有赋予可执行权限:

Chmod 744 phpini.sh   ./phpini.sh即可

 

备注:安装张宴博客的来安装的话。有个地方需要更改:

加速器的内存:他设置了64M,这样太多了。会启动不来

eaccelerator.shm_size="16"

 

Linuxhosts文件位置:/etc/hosts

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7是一种流行的Linux操作系统,LNMP代表着使用Linux、Nginx、MySQL和PHP构建的服务器环境。在CentOS 7上编译安装LNMP可以提供一个非常强大和灵活的Web服务器环境。 首先,我们需要在CentOS 7上安装必要的软件包和依赖项。打开终端,使用以下命令安装必要的软件包: ``` sudo yum install -y epel-release ``` 接下来,我们需要安装LNMP的各个组件。首先,安装Nginx: ``` sudo yum install -y nginx ``` 安装完成后,启动Nginx服务: ``` sudo systemctl start nginx ``` 然后,我们需要安装MySQL数据库。使用以下命令安装MySQL: ``` sudo yum install -y mariadb-server mariadb ``` 安装完成后,启动MySQL服务: ``` sudo systemctl start mariadb ``` 接下来,我们需要设置MySQL的安全性选项: ``` sudo mysql_secure_installation ``` 按照提示设置密码和其他选项。 最后,我们需要安装PHP。使用以下命令安装PHP及相关扩展: ``` sudo yum install -y php php-fpm php-mysql ``` 安装完成后,启动PHP-FPM服务: ``` sudo systemctl start php-fpm ``` 现在,您的CentOS 7上已经成功安装LNMP。您可以通过在浏览器中输入服务器的IP地址来测试您的Web服务器,您将看到Nginx的默认欢迎页面。您可以将您的Web应用程序放置在Nginx的默认根目录"/usr/share/nginx/html"下,或者您可以根据需要进行自定义。 这只是一个简单的步骤指南,您可能需要根据您的具体需求进行一些其他设置和配置。不过,这个简单的安装方法应该可以让您在CentOS 7上快速搭建一个LNMP服务器环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值