月度归档:2011年11月

LNMP搭建中可能出现的一些问题及解决方法


在搭建的过程中出现很多问题,尽管以前装过几次,但也并不轻松。

首先系统安装好。这次我采用的是Centos5.6VM7.0环境

 

刚开始就出现了一个问题,系统安装好后,ssh竟然无法连接,照理说应该是默认已经安装好了的。

Ps –ef | grep ssh

也有程序运行。22端口也开了。网络连接dhcp自动分配地址,也是可以ping通的,telnet通信也是正常的。但ssh客户端就是怎么也连接不上。

 

我的错误状态和这位童鞋说的一模一样。

问题一   问题二

 

具体原因还是没有明白,最后系统重装,但依然如此,可能就是我机器的问题?!叫同事机器连接,果然就连接上了。很不明白。于是系统再次替换为Centos6.0

 

总结:ssh连接问题

1、  保证网络连接正常能ping

2、  Sshd服务器是启动状态

3、  22端口是打开的,或者暂时关闭防火墙测试

4、  采用telnet测试下

5、  多用几种客户端工具测试如putty,xshell等,多用其他的机器测试下。

6、  那就只好悲催的重装咯。。。

 

安装过程中可能产生的错误

 

Ps:在安装nginx或者php等得过程中,主要出现的问题都是缺少依赖包问题。一部分是程序数据路径错误等的问题,还有一部分是读写权限不够的问题。还有查找错误的时候不要只看报出来的错误信息,要多看更深层次的日志信息。

Tail –f  /var/log/messages

Tail –f  /var/log/mysqd.log

less /var/log/messages 

 

Nginx

安装加载ssl错误

***[/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 2

 

with-pcre Nginxrewrite功能需要使用pcre库才能工作,而Nginx的编译参数里面的这个选项并不是像常规的那样指定pcre的安装目录,而是指定pcre源代码的目录。

参考

 

 

Mysql

error: Nocurses/termcap library found

解决:需要安装依赖库ncurses-5.2.tar.gz

 

[ERROR]Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’texist

数据库的数据文件未找到所以无法找到打开权限表了。

解决:

mysql源目录中,运行初始化权限表的时候使用增加参数–datadir ,命令格式为:

scripts/mysql_install_db–user=mysql –datadir=/u01/mysql/data

参考 


 

libexec/mysqld:Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’

无法创建或写入mysqld.pid文件。

解决:创建写入权限问题,如果没有mysqld目录则建立

mkdir/var/run/mysqld

chmod g+w /var/run/mysqld/

参考 


 

mysql启动错误

Startingmysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
071112 00:22:06 mysqld ended

 

bin/mysqladmin:connect to server at ‘localhost’ failed

error:’Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

Checkthat mysqld is running and that the socket: ‘/tmp/mysql.sock’ exists!

分析:是/tmp/mysql.sock 不存在

解决:

# cd/var/lib/mysql/

由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,创建符号连接:

# ln -s/var/lib/mysql/mysql.sock /tmp/mysql.sock

 

参考  

 

 

GD库安装产生错误

GD库需要fontconfig依赖包所以需要安装

make[3]:*** [fcfreetype.lo] Error 1

../fontconfig/fcfreetype.h:27:22:error: ft2build.h: No such file or directory

解决:

./configure–with-freetype-config=/usr/local/freetype/bin/freetype-config,应该用freetype下的可执行程序来编译!

参考 

 

 

errorwhile loading shared libraries: libiconv.so.2: cannot open shared object file:No such file or directory

解决:

但是在/usr/local/lib下却能找到libiconv.so.2,解决方法是将/usr/local/lib路径添加到/etc/ld.so.conf文件中,然后用sudo ldconfig命令加载,再重新输入sudo make install命令就可以了。

参考一   参考二 


 

PHP

libxml2未找到

Consideradjusting the PKG_CONFIG_PATH environment variable if you

installedsoftware in a non-standard prefix.

 

Alternatively,you may set the environment variables LIBXML2_CFLAGS

andLIBXML2_LIBS to avoid the need to call pkg-config.

See thepkg-config man page for more details.

解决:

已经安装好了libxml2库,但环境变量未设置好。

确定 /usr/local/libxml2/lib/pkgconfig 目录下有 libxml-2.0.pc

exportPKG_CONFIG_PATH=/usr/local/libxml2/lib/pkgconfig:$PKG_CONFIG_PATH

再次make install

参考

 

ldap这个包始终没有安装成功,在安装过程中包一个又一个的依赖,明明已经安装了包却还是报告你必须先安装某些包。。。都已经搞晕了。

configure:error: Cannot find ldap.h

缺少openldap

参考


解决:暂无

error:BDB/HDB: BerkeleyDB not available

缺少依赖包BerkeleyDB

参考

解决:暂无

 

Make: *** [sapi/cgi/php-cgi.exe] Error 1

解决:缺少libiconv

 

Make test 错误

ERROR:invalid PHP executable specified by TEST_PHP_EXECUTABLE  = /opt/software/lamp/php-5.2.17/sapi/cli/php

解决:直接忽略 make install

参考

 

 

LNMP搭建需要的一些依赖包

之前整理过一份这样的文档:Centos5.5上LNMP(spawn-fcgi)平台搭建

对于一些依赖包可能不是很好找,现整理出这一份粗略的依赖包地址。大部分可以直接wget获得。人人为我,我为人人。

 

Nginx

nginx-1.0.10   http://nginx.org/

依赖包
–openssl-1.0.0a.tar.gz  wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
–pcre-8.12.tar.gz      http://www.pcre.org

 

Mysql

mysql-5.0.81.tar.gz        http://mysql.cs.pu.edu.tw/

依赖包

–ncurses-5.2.tar.gz        http://ftp.gnu.org/gnu/ncurses/

 

Php  

Php 5.2.7.tar.gz             http://php.net/downloads.php

依赖包

–curl-7.23.0.tar.gz    http://curl.haxx.se/download/
–freetype-2.4.6.tar.gz http://download.savannah.gnu.org/releases/freetype/
–gd-2.0.35.tar.gz  http://download.chinaunix.net/download.php?id=6665&ResourceID=3479
–gettext-0.18.1.1.tar.gz   http://ftp.gnu.org/gnu/gettext/
–jpegsrc.v8b.tar.gz   http://ijg.org/files/jpegsrc.v8b.tar.gz
–libiconv-1.14.tar.gz  http://ftp.gnu.org/gnu/libiconv/
–libmcrypt-2.5.8.tar.gz   http://code.google.com/p/lcmp/downloads/detail?name=libmcrypt-2.5.8.tar.gz
–libpng-1.5.6.tar.gz  http://www.libpng.org/pub/png/libpng.html
–libxml2-2.7.7.tar.gz  http://xmlsoft.org
–mcrypt-2.6.8.tar.gz  http://sourceforge.net/projects/mcrypt/files/
–mhash-0.9.9.9.tar.gz http://sourceforge.net/projects/mhash/files/mhash/
–zlib-1.2.5.tar.gz http://php.net/zlib  http://www.zlib.net/

 

Php扩展

–PDO_MYSQL-1.0.2.tgz  http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

eaccelerator-0.9.2a.tar.gz http://sourceforge.net/projects/eaccelerator/files/latest/download?_test=goal

ZendOptimizer
http://docs.linuxtone.org/soft/bsder/ZendOptimizer-3.3.0a-freebsd6.0-i386.tar.gz

 

fastcgi管理

spawn-fcgi 1.6.3http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz

 

memcache-2.2.6.tgz

http://pecl.php.net/package/memcache

 

对于新手来说找包不是很方便,且国内几乎没多少人来做这种开源的包维护;大部分都是国外的。所以推荐下面两个网站,大部分的包都可以在上面找到。

http://ftp.gnu.org/

http://sourceforge.net/

 

 

参考:http://archive.cnblogs.com/a/2100467/

     http://www.phpfans.org/94.html