前不久剁手独服,又玩了PT,当时看到HDHome开放注册就注册了挂着,结果2天就把所有考核指标达到了。
这两天刚想看看独服拿来干嘛,今天又有朋友给我发消息说有不错的VPS,我之前看到自己忍住了,今天看到朋友买,没忍住跟着一起剁手了。
拿过来想起宝塔面板3月快出3.X系列的正式版了,那么现在的版本应该也挺稳定的,于是就试着装这个,结果真的很坑爹,一上来就是用面板改了端口就访问不到面板了,因为iptables阻拦,因为它没有在修改的同时设置iptables,我当时是先用终端:
service iptables stop
关掉防火墙一试就可以了,确定问题在此,那么此时我们需要手动给它添加个规则:
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT //注意这里面的8888要改成你自己修改的端口
然后再保存,并启动防火墙,应该也没事了:
service iptables save
service iptables restart
前面这个已经够坑爹了,但是和后面我遇到的问题比起来,这其实根本不算什么!
后面遇到的问题不多,就是nginx和php都起不来,下面说一下具体的问题和我的折腾过程。
问题表现:
我们在面板首页可以看到,nginx和php都没有启动,点击旁边的按钮会提示你启动成功,但是你刷新看状态未变,在面板的进程管理里也找不到相关进程。
而此时我正好在终端查询nginx的版本:
然后,遇到错误提示“/usr/bin/nginx: /lib64/libc.so.6: version 'GLIBC_2.14' not found”,根据这个提示判断,应该是glibc的版本问题,我们可以通过命令:
strings /lib64/libc.so.6 |grep GLIBC_
来查询glibc的版本,一查果然glibc的版本是2.12,需要升级,编译升级这个其实不难,挨个输入命令:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz //下载glibc-2.14
tar -xzvf glibc-2.14.tar.gz //解压
mkdir build // 在glibc-2.14目录下建立build文件夹
cd build // 进入build目录
../configure --prefix=/opt/glibc-2.14 // 配置glibc并设置当前glibc-2.14安装目录
make && make install // 编译安装glibc-2.14库(这一步需要一些时间)
rm -rf /lib64/libc.so.6 // 先删除先前的libc.so.6软链
$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6 //解决删除libc.so.6之后导致系统命令不可用
ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6 //建立软链接
如果上面升级遇到问题,可以用下面的命令来还原:
LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so
这边我当时参考了两个教程,基本上说到了前后所需注意事项,按照教程操作即可:
http://www.laozuo.org/9687.html
http://www.jb51.net/os/RedHat/538539.html
升级完成之后,再去面板启动nginx就一切顺利了。
不过php依旧点击启动后没反应,去宝塔论坛看到有用户几天前也发帖子在咨询这个问题,但是官方人员只是让用户提供更多信息,没给出直接的解决办法,根据前面一个问题的经验,我们试着去终端启动看报错吧!
这里也有很明确的错误提示:“Starting php-fpm /www/server/php/55/sbin/php-fpm: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory”
通过网上搜索,我们知道这是表示系统不知道libpng15.so在哪个目录下,总之找不到这货就对了。之所以找不到,一个是因为系统里木有或者版本不对啥的,那么我们只能另外去下载然后放进去。还有一个原因是在默认路径下,找不到该文件,而通常很多so的文件都在/usr/local/lib目录下,所以此时只要在/etc/ld.so.conf里面加上这个路径就行了。
cat /etc/ld.so.conf
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
通过以上命令,写入路径后,我们可以再试试启动php,但是此时问题并没有解决,然后我开始怀疑,是我系统中没有,于是自己打命令下载编译:
wget https://excellmedia.dl.sourceforge.net/project/libpng/libpng15/1.5.28/libpng-1.5.28.tar.gz
tar -zxvf libpng-1.5.28.tar.gz
cd libpng-1.5.28
./configure --prefix=/usr/local/png
make && make install
按照上面的操作之后,我们再执行前一步的操作,添加我们前面配置的另外一个路径:
cat /etc/ld.so.conf
echo "/usr/local/png/lib" >> /etc/ld.so.conf
ldconfig
执行完毕,再来启动php,我们可以发现它的错误提示变了,此时是另外一个库了
此时,我心中一万匹草泥马呼啸而过,我十分怀疑宝塔这个面板在纯净版的centos中基本没办法正常搭建起环境,因为它都是直接装编译好的,也没有环境配置方面的工作,相比以前是极速了,但是用起来蛋疼了不少。
后面我也不写了,目测应该是有一堆库都找不到,需要手动下载编译安装,虽然最后能解决,不过这肯定不是最好的办法。
================前面是宝塔3.X垃圾版,下面是安利AD================
最后的最后,得安利一下今天入的这个香港的小鸡,来自HostShare,价格低廉配置却不低,唯一的缺点是带宽小,不过用来折腾着玩,比外面那些每月5刀的妖艳贱货还是只强不弱的。另外,HostShare是loc那边传说中的组长旗下,已有多年的信用,可靠性也很棒!
双核2G内存, 20G SSD硬盘, 1M出口峰值,10M入口, 独立IP一个,仅需28元/月
小鸡位于香港九龍新蒲崗CLOUDIE机房. 电信直连以及多线路BGP接入, 测试ip: 45.125.12.1 /45.125.13.1
购买链接:http://t.cn/zOvIkvb
需要先注册然后登陆了才能看到可以购买的套餐和价格,购买前需先充值,充值支持支付宝。