又折腾了一个新VPS,系统是 CentOS 6.2 32位,安装LNMP过程发生了两个问题:
1、安装完LNMP之后,reboot重启CentOS之后,网页无法打开
首先排查是否80端口被其他程序占用,查询得到占用80端口的进程是2个nginx,于是kill掉这两个进程,然后重启nginx,结果问题还是没能解决。
于是百度了一下,看到有阿里云主机重启后网页无法打开的解决方案,大概是说阿里云主机的Linux系统内核有改动,导致Nginx无法启动,直接执行 echo “/usr/local/nginx/sbin/nginx”>>/etc/rc.local? 添加一条开机启动规则即可。但是这个方案依旧不适用我的情况,因为我查看的结果是nginx已经启动但网页无法打开的状况。
于是继续寻找答案…. 到最后发现其实是防火墙的问题!我关闭防火墙 /etc/init.d/iptables stop 网页就能恢复正常访问!不关闭防火墙直接增加80端口通过的步骤如下:
/etc/init.d/iptables status?? 查看防火墙规则
/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT? 添加80端口开放规则 (dport前面是两个-)
/etc/rc.d/init.d/iptables save?? 保存文件
/etc/init.d/iptables restart?? 重启防火墙服务
2、升级php之后,mysql变成到了mysqlnd 5.0.10 (我本来安装的是5.5版本)
探针显示:mysqlnd 5.0.10 – 20111026 – $Id: c85105d7c6f7d70d609bb4c000257868a40840ab $? 我查了一些资料才知道原来是我搞混了, 探针显示是客户端的MySQL版本、而非服务器端的,探针没有连上数据库所以无法得到服务器的准确版本。可以通过在shell终端输入 rpm -qa |grep mysql 或其他命令查看MySQL版本,也可以通过web浏览器登陆phpMyAdmin也能看到MySQL版本。
LNMP自带了php的升级脚本,我本来以为是用它升级php导致了MySQL的降级,但实际上探针看到的版本是客户端的,我的MySQL其实还是5.5版本的。针对客户端与服务端的区别,摘录如下:
Mysql Native驱动(Mysql Native Driver 简称:mysqlnd )在PHP5.3.0版本中被引入。PHP5.4之后的版本mysqlnd被作为默认配置选项。 有zend 公司开发的MySQL数据库驱动,采用PHP开源协议(即 PHP license)避免了任何可能存在的版权问题。
也就是说,mysqlnd是php自带的、连接mysql的工具,php探针只能看到它是用什么客户端连接到mysql的。
【版权声明】
含有照片的文章谢绝转载,包括但不限于本人及本人亲友的照片
涉及中国大陆现状的描述、本人的政治评论等相关文章谢绝转载
其余文章允许非商用性质的转载,但请保留链接 400.tw/?932
- « 上一篇:天猫魔盒折腾备忘录
- 山地玫瑰:下一篇 »