在与DH的客服多方联系协调,也许是PS这个计划还比较新,我们这些小白鼠是首当其冲,也因如之前的blog所言,我难以放弃那种自由使用的感觉,于是便续费使用第2年,虽然问题很多,但自由度让我可以自己去修理它。求他们,不如自己动手吧,他们实在回复得太慢了。
首先,我要找到的是最大的造成Interal500错误的原因,按DH方的说法,是WordPress造成的,特别是WP-SuperCache之类的程序(它在.htaccess中有修改,一定要清理掉) ,还有RSS一些插件,GOOGLE SiteMap的频率等都按一定的优化方式进行调整,让WP程序装入一个独立的SHELL用户下,进行观察,发现无论网站 是否繁忙,都有一个php5.cgi 占用20%的内存,在我仅有的150MB内存上吃掉1/5,是何等的心痛。于是经过好几个星期的搜索并没有任何优化的方案,唯一锁定的方法就是限制PHP的内存使用。也就是使用每个独立的php.ini.
这儿有个非常有用的链接: http://wiki.dreamhost.com/index.php/PHP.ini
大至的方法是:比如你的域名是 www.abc.com (以下的这部分换成你的域名)
建立一个 /home/www.abc.com/cgi-bin
在建立文件 /home/www.abc.com/cgi-bin/php-wrapper.cgi
内容为:
#!/bin/sh
export PHPRC=./cgi-bin
exec /dh/cgi-system/php5.cgi
接着COPY系统的php.ini
cp /etc/php5/php.ini /home/www.abc.com/cgi-bin/php.ini
然后建立文件 /home/www.abc.com/.htaccess
内容为:
Options +ExecCGI AddHandler php5-cgi .php Action php-cgi /cgi-bin/php-wrapper.cgi Action php5-cgi /cgi-bin/php-wrapper.cgi 以下的几步很重要,不然你将继续得到500错误: cd /home/www.abc.com/cgi-bin/ chmod 755 php-wrapper.cgi chmod 640 php.ini chmod 755 ../cgi-bin 你可以建立一个 /home/www.abc.com/phpinfo.php试试: 内容如下: <?php echo phpinfo(); ?> 你使用Browser访问http://www.abc.com/phpinfo.php 注意Loaded Configuration File 这一行是不是你自己定制的php.in,如果是则基本成功了。 然后再修改/home/www.abc.com/cgi-bin/php.ini 查找:memory_limit 设置成为 memory_limit = 16M ; Maximum amount of memory a script may consume (128MB) 目前像我这种小站16M足够了 如果你使用了XCache 记得缩小你的XCache大小。 如果使用和安装Discuz论坛,可恶的DH竟然让我把 <? ?> 全改为 <?php ?> 其实只要找到php.ini中的: short_open_tag 并设置为 short_open_tag = On 便大功告。今天就通过这样的方法,将资源很好的利用,并控制在一定的范围内, 暂时不出现500错误了,希望这文章能帮到一些仍在寻找这个问题解决方法的朋友。 特别的小包: dreamhost500solved
让人又爱又恨DreamHost真是有点OVERLOAD了吧。 问题的解决方法真是让人哭笑不得,先是说我的UCENTER带有加密成份,然后再说,原来你是PS系统,你加钱,加内存吧,这招倒是挺商人的,可你也得让我感觉我用的实在,于是我用了最简单的
<? echo phpinfo(); ?> 在mod_php5下进行运行竟然不执行,写给support, support告诉我的答案是要写成
<?php echo phpinfo(); ?> 结果是说不兼容。。。。真是漏洞百出呀。 真想一恨心退了它,可它的某些好功能,比如自由的定制,自由的使用,SVN功能,端口映射都让人用的十分舒服,那种 cPanel制式的管理方式还是不太适合,唯有安慰自己我,作为研究站点和空间站,这个价钱也已经不错了。我想主要是PS host 比较新,问题多的一大罗,真让人担心,也许站点起来了,我做好备份后,再找一个更稳定点的空间,甚至租用服务器, 虚拟机实在是让人有点使用的不舒服了。
接 下来,应对DreamHost 大量消耗我的资源,使我的服务器很难有更好的表现,于是我使用Nginx作为我的静态文件服务器。感觉效果还不错,最起码多学到一招。在 DreamHost上,下载nginx的tar.gz版本的文件到一个目录下,然后进行编译,我想其他主机也许不支持这些这么自由的举动。然后将下面的语 句键入
./configure –with-pcre=/home/templexp/nginx/pcre-7.8/ –prefix=/home/templexp/local/nginx –with-http_ssl_module
$ make
$ make install
如果有SSL的需求,可以改为./configure –with-pcre=/home/templexp/nginx/pcre-7.8/ –prefix=/home/templexp/local/nginx –with-http_ssl_module 不过我还没试在DH目前的情况下,能否使用SSL协议。
接下来这句话也蛮有用,主要是当你修改了 nginx.conf后,执行一下以下语句,便更新了配置
kill -HUP `cat /home/templexp/local/nginx/logs/nginx.pid`
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Dec | Feb » | |||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |