昨天开始玩VPS,基于Xen的360M VPS。总得来说,玩VPS和玩独服linux/unix是一样的,区别就是档次不一样。前者好比伊利香雪儿,3块钱一杯;后者好比和路雪,5块钱一杯。吃的感觉是一样的。

玩VPS的首要任务是选择系统…在Host2ez购买的VPS默认安装的是centos 5.3。经过测试,是最大化精简安装。提供的编辑器是nano,没有vi,这个问题纠结了我大半个小时。我就想不通怎么会有没vi的服务器。nano就nano吧,反正一样用。没有apache、没有mysql、没有php,什么组件都没有。用SSH登录,一键安装kloxo,以上组件均会自行安装。关于这个,可以看看这个网站的教程:Kloxo使用教程,虽然内容比较少,但是对入门的同学再好不过了。

花了半天学会了kloxo,听说nexusphp开源了。这是一个好消息。不过安装nexusphp其实挺复杂的,研究了有一个晚上吧。说说遇到的几个问题:

1.Nexusphp的服务器环境要求:apache+mysql+php+memcache+mbstring。上传文档、改了allconfig.php网站出现500错误,但是没有错误提示。

解决方法:在kloxo开启“显示出错信息”,具体在哪里,我也找不到了。

处理这个之后,很清楚的发现,服务器找不到memcache类,那就安装吧。

2.安装memcache,其实花得时间最多。最麻烦。如果服务器不支持memcache,那么,在运行nexusphp的时候会出现如下错误:

Fatal error: Class 'Memcache' not found in /home/rock/domains/panyingxue.com/public_html/pt/classes/class_cache.php  on line 4

安装memache的方法可以参考:Linux下memcache安装

事实上安装了以上步骤之后,用php -m还是没有memcache组件的。也就是说还没有安装完成。所以,还需要手动更改php.ini,在需要添加一行:
注意:kloxo的php.ini在两个地方,有两个,现在用到的是:

nano /usr/local/lxlabs/ext/php/etc/php.ini

使用ctrl+w查找 mysql.so
在下面一行添加

extension=memcache.so

并且将memcache.so复制到

/usr/local/lxlabs/ext/php/lib/

问题又出现了,memcache.so在哪里。这就是上面安装memcache没有提到的:
以下是解决方法:

#if apt-get, rpm, or yum doesn't work
cd /usr/src/
wget http://pecl.php.net/get/memcache-2.2.4.tgz
tar -zxvf memcached-2.2.4.tgz
cd memcached-2.2.4
phpize && ./configure --enable-memcache && make
cp modules/memcache.so /usr/local/lxlabs/ext/php/lib/
 
# Note: packaged extension modules are now loaded via the .ini files
# found in the directory /etc/php.d
touch /etc/php.d/memcached.ini
echo 'extension=memcache.so' > /etc/php.d/memcached.ini
 
service httpd restart

如果上述代码在编译时出现错误,说缺少ZLIB组件,用rpm -q zlib却提示已安装的情况下,记得安装下zlib-devel

yum install zlib-devel

这样重启apache之后memcache就正确安装了,可以用php -m或者phpinfo查看是否正确安装。

3.安装完以上组件后,nexusphp应该能正确访问了。只要数据库连接正确。

4.环境配置完成之后还发现一个问题,说tracker 发出无效数据
遇到这个情况,大部分是因为服务器配置存在问题引起的。

nano /etc/php.ini
 
将allow_call_time_pass_reference = Off 改为 On

标签: , ,
本文作者: rocklee
本文链接: 写点玩VPS的事儿
博主操作: