Ubuntu 11.04 安装LNMP 提示php-fpm文件夹不存在

把Linode的VPS转移到了Japan的机房中,顺便把整个VPS格式化了,换了Ubuntu 11.04的系统,安装LNMP 0.7完毕后,运行php探针提示502 bad gateway错误,无奈,重新安装,无果,查询,找到有人说autoconf的版本不正确,更新,依旧不能行,没办法,自己手动configure一遍php,发现如下问题

configure: error: libjpeg.(a|so) not found.

找来找去,发现原来libjpeg的链接库文件在/usr/lib/i386--gnu/中,做了一个链接到/usr/lib/再次configure,正常

在安装前执行如下指令即可
ln -s /usr/lib/i386--gnu/libjpeg* /usr/lib/
ln -s /usr/lib/i386--gnu/libpng* /usr/lib/

让CentOS默认生成core dump

CentOS中默认设置了ulimit -c 0也就是默认程序不生成core dump,这样很麻烦,每次启动程序前都要让用户先执行一次ulimit -c ulimited,有时候用户忘记则不生成core,很不利于错误分析,所以研究了下如何让系统默认就生成core.

在网上找了部分资料,看到了

CentOS 5中ulimit值调整并永久生效的方法

http://www.sunchis.com/html/os/linux/2011/0609/338.html

这篇文章,其中说通过编辑/etc/security/limits.conf文件可以实现ulimit的值设定,测试了nofile后的确可行,但是写入了

* soft core ulimited
* hard core ulimited

重新登陆却没有效果

[root@localhost ~]# ulimit -a
core file size          (blocks, -c) 0

通过研究,发现/etc/profile文件中有一句

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

二话不说,把第二行用#注释掉后,即

# No core files by default
#ulimit -S -c 0 > /dev/null 2>&1

保存重新登陆用户,再次查看,一切正常!

[root@localhost ~]# ulimit -a
core file size          (blocks, -c) ulimited

使用core dump调试Linux下程序的出错点

之前研究gmsv 发现gmsv每次关闭都会提示一个signal xx 之后仔细研究发现signal是个无比强大的东西 自从cg-x-server引用这个系统后 排错调试的效率大大提高了!哈哈哈…

采用网上已有文章的话说 就是

软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。

收到信号的进程对各种信号有不同的处理方法。处理方法可以分为三类:第一种是类似中断的处理程序,对于需要处理的信号,进程可以指定处理函数,由该函数来处理。第二种方法是,忽略某个信号,对该信号不做任何处理,就象未发生过一样。第三种方法是,对该信号的处理保留系统的默认值,这种缺省操作,对大部分的信号的缺省操作是使得进程终止。进程通过系统调用signal来指定进程对某个信号的处理行为。

在进程表的表项中有一个软中断信号域,该域中每一位对应一个信号,当有信号发送给进程时,对应位置位。由此可以看出,进程对不同的信号可以同时保留,但对于同一个信号,进程并不知道在处理之前来过多少个。

当程序收到SIGQU99v,SIGILL,SIGABRT,SIGFPE,SIGSEGV时候,会默认生成一个dump core,这个dump core可以通过gdb来查找程序崩溃的代码
猛击阅读全文

Page 1 of 55123456789...Last »