2016年08月的文档 9篇:

2017.7第2篇
2017年07月31日 11:37

这个KVM测试2天多了,满意度超出了预期,恨不得再买一个。也许是之前的VPS上面建的站点太多,但都是流量很小的站点,那些站点的流量总和不到auiou.com的1/10。我发现auiou.com搬出之后,原来的OpenVZ VPS空间也突然变快了,几乎和这个KVM一样快。这个博客的流量也不至于影响那个OpenVZ VPS空间的速度,不过可以肯定的是,用了KVM肯定不会后悔,是从未体验过的稳定。

用了KVM,就回不去OpenVZ;用了OpenVZ,就回不去虚拟主机,因为稳定性KVM > OpenVZ > 虚拟主机。三者的价格也是从大到小排列,有优惠的时候三者价格差别非常小,而且很多是终身优惠的。不过,各有各的好处,因为KVM、OpenVZ有极大的调试空间,所以折腾帝多,影响了整台服务器的性能。虚拟主机只能用于存放网页,有很多虚拟主机并不比VPS差。

2011年时在Backy LLC买过两个4美元/yr的空间,那时是史上最便宜的虚拟主机,cPanel面板,容量好像是5G,无限域名,当时不怎么稳定,后来不久这家被hostnine收购,那2个空间还是原来的续费价格,好像变成了无限流量的,访问一直非常稳定,和现在hostnine在售的$11.09/月的套餐配置是完全一样的。用了VPS之后,就放弃了那2个虚拟主机。现在用的OpenVZ,续费$5.1/yr;用的KVM,续费$8.75/yr。

虚拟主机cPanel最大的优点是支持泛域名解析,缺点是不能关闭网站访问日志(会降低服务器性能),但cPanel仍然是最好的虚拟主机面板。VPS操作系统,用CentOS 5最好,因为它版本老,最省内存,调试方便,最适于PHP。Ubuntu/Debian,适于Ubuntu/Debian的老用户,在本机安装更方便。如果是上手VPS时间不长的朋友,直接安装CentOS系统,省很多事;Ubuntu/Debian出现的问题较多。

固定链接 | 发表评论(1) | Trackback(0)

auiou.com今天换上了KVM
2017年07月29日 08:52

一转眼又将近一年没有更新了。发现友情链接里的博客,有很多人现在都是三四年,甚至更长时间更新一回。这个博客终于换上了高大上的KVM,用的是VirMach的256M KVM VPS,试用了几个小时,感觉比原来的OpenVZ更稳定一些,网页秒开的机率提高了很多。

价格低得惊人,都是趁优惠时入手的,平时的价格是这时的两三倍。现在的256M SSD KVM VPS是$8.75/yr;本博客之前是512M OpenVZ VPS,$5.1/yr,用了将近一年,非常稳定,从未宕机。

这个博客是用NoSQL写,所以大约最多只多占用3M的内存,64M或128M内存的VPS也是可以运行的。
对于很省资源的程序来说,KVM比OpenVZ的优势是KVM秒开网页的次数更多。OpenVZ因为超售严重,所以影响了访问速度。

一直在寻找香港空间,但是香港空间较贵,带宽比美国空间小很多,现在只能老老实实继续用美国空间了。

固定链接 | 发表评论(0) | Trackback(0)

CentOS, Debian, Ubuntu三种VPS系统的LAMP属性小结
2016年08月28日 12:04

为了使新开发的VPS面板,尽量多兼容不同的系统,这几天在Linux主机上重装了10多次系统。CentOS 5、6、7三种系统,Apache的进程都是httpd,配置文件位于/etc/httpd/conf/httpd.conf,PHP的配置文件位于/etc/php.ini,httpd进程所在的用户名是apache。
CentOS 5、6、7三种系统的Rewrite模块,默认都是开启的,安装PHP后直接支持Rewrite。
PHP的安装命令这三种系统都是yum -y install php。

Debian和Ubuntu的LAMP环境属性几乎相同。Apache的进程都是apache2,配置文件位于/etc/apache2/apache2.conf以及/etc/apache2/sites-enabled/000-default;apache2进程所在的用户名是www-data;Rewrite模块,默认不开启;php.ini这当中大部分系统都在/etc/php5/php.ini,例如Debian 6.0、8.0、Ubuntu 14.04。
PHP的安装命令这当中大部分系统都是apt-get -y install php5,而到了Ubuntu 16.04,改为apt-get -y install php。

由于时间的关系,MySQL还没来得及测试不同环境下的属性。MySQL的安装原理其实很好理解,需要假定它是一个完全独立的外挂,原本和Apache(或Nginx)、PHP是没有联系的。这些全部安装成功后,再安装MySQL。(在本机Windows下的MySQL安装也是同理,安装好Apache+PHP之后,最后安装MySQL,MySQL只是像一个外挂被PHP调用而已。)

关于PHP版本。基本上没有必要更新CentOS、Debian、Ubuntu自带的软件源,例如CentOS 5.3自带的PHP源是PHP 5.1.6,CentOS 6.7自带的PHP源是PHP 5.3.3,Ubuntu 12.04自带的PHP源是PHP 5.3.10,CentOS 7.0.1406自带的PHP源是PHP 5.4.16,Ubuntu 16.04自带的PHP源是PHP 7.0.8。想提高PHP版本,直接升级系统为高一些的版本即可。对于多数的PHP程序而言,PHP平台、以及Apache、Nginx、MySQL的新旧版本的区别很小。例如PHP+NoSQL,只要主机支持PHP就可以运行,哪怕是PHP4都可以正常运行。如果没有必要,无需追求高版本,而是哪个最节省资源,就用哪个。

有些PHP程序如果对PHP版本有强制的要求,例如phpMyAdmin要求PHP版本是5.3以上,那么系统就选用CentOS 6或者7。
32位和64位的系统,尚未看出文件配置上的区别。

还有一点不同,使用cp命令,如cp file1 file2,当file2存在时,CentOS系统会提示是否覆盖,而Debian、Ubuntu会直接覆盖而没有提示。

固定链接 | 发表评论(1) | Trackback(0)

Debian 6.0和Ubuntu 14.04新装机的参数记录
2016年08月25日 20:25

新开发的Linux VPS面板,需要支持多平台,这里记录各平台的新装机的参数。CentOS 6 x86的开机内存和硬盘占用数:

CentOS 6 x86的进程数:

Ubuntu 14.04 x86的开机内存和硬盘占用数:

Ubuntu 14.04 x86的进程数:

固定链接 | 发表评论(0) | Trackback(0)

Linux VPS的速度优化
2016年08月25日 08:07

昨天发现我的VPS,大约两三个小时就增加1 MB的使用空间。在SSH使用du -h --max-depth=1 -b (目录) 的命令,列出要监视的文件夹的大小。经过几个小时的对比,最终发现,/var/log这个文件夹在迅速增加。因为之前已经在Apache的配置文件里关闭了访问日志、错误日志,就没在意。这次依然出现错误日志,经过排查,在php.ini查找关键词“log”,发现默认的log_errors = On,于是把它改为log_errors=Off或在这行之前加分号,重启Apache,这样,/var/log/httpd就彻底不再出现错误日志。

在/var/log的Linux系统日志文件里,btmp最大,达到了2M多。经过查询资料,是syslogd进程在起作用(CentOS 6 是rsyslogd进程),用service syslogd stop和chkconfig syslogd off命令都不起作用。只能用killall -9 rsyslogd强行终止此进程,因为暂时无法禁止自启,每次重启服务器都要用这条命令强行终止。

在/etc/sysctl.conf,CentOS 6是/etc/rsyslogd.conf,这个文件是Linux系统日志的配置文件,把所有的行都加上#,然后重启VPS,重启后输入killall -9 rsyslogd命令。但我发现/var/log的部分日志文件还在增长,只是慢了一些。

至此得出一个结论,Linux的VPS,无论是CentOS,还是Debian、Ubuntu,通常Linux系统日志都是默认开启的。而Apache、Nginx、PHP、MySQL这些后台,通常默认也是开启错误日志或访问日志的。而且这些日志,每新增加一次错误/访问日志,日志文件就是增加几K的字节,那么日志文件很快就达到几M,几十M。这些文件服务器在写入时,是先读取文件,再增加新的记录,此时就会浪费服务器资源,特别是访问量大的站点会是一笔庞大的浪费。

所以,如果想让主机跑得更快,要关闭Linux系统日志、Apache日志、Nginx日志、PHP日志、MySQL日志。Apache、Nginx、PHP、MySQL的日志关闭方法,是在配置文件里查找“log”,在有参数的语句前加注释号,然后重启Apache或Nginx。

auiou.com关闭了所有的日志,访问速度达到了更佳的状态。

网站的错误日志,通常没有作用,建议可以关闭。访问日志,也没有作用,它的文件大小增长速度惊人。VPS相对于虚拟主机,很大的优点是VPS可以修改Apache、Nginx、PHP、MySQL的配置文件,来关闭日志。Linux虚拟主机,日志一般都是开启的,大大降低了主机的性能。

固定链接 | 发表评论(0) | Trackback(0)

Nginx与.htaccess
2016年08月24日 07:25

本文通过Nginx与Apache的不同,讨论.htaccess。最近开始测试Nginx,查阅了很多Nginx的网页,可悲国内太多文章是转来转去,甚至有很多是没有经过验证的、错误的。经过测试,Nginx实质上并不像Apache一样支持.htaccess,也就是说实质上目前并不支持.htaccess。而是目前的Nginx,直接支持Rewrite。

Nginx使用Rewrite的方法,网上有2种,一种是在/etc/nginx/nginx.conf文件里的站点设置server{}里写上include …….htaccess语句,第二种方法是同样在server{}的位置,直接写上Rewrite的语句。实际上,这两种方法是同一种。

这里讨论实现伪静态的Rewrite和404页,这两者是不一样的。

国内使用Wordpress、Discuz的用户,多数人是在站点根目录建立.htaccess,在此文件写入Rewrite语句,但较少人是用Apache的404页来实现伪静态。这两者实现的效果是一模一样的,相比较而言,Rewrite有2个缺点,一是需要调用Rewrite模块、二是正则表达式规则不易使用。用404页来实现伪静态,正好克服了这2个缺点,因为404错误的功能是Apache内置的,用$aa=$_SERVER['REQUEST_URI'];来获取地址栏,用explode("&",$aa)来提取地址栏的所有参数,会有极大的灵活性,并重新处理。

甚至可以看出调用Rewrite模块在多数情况下,是不必要的,因为被Rewrite调用的动态页面,同样要用$_GET["name"]来获取参数值。而404页的伪静态,通过explode()函数已经分析出了这些参数值。这等于多调用了一个Rewrite模块。

但有一种情况必须用Rewrite模块,就是伪静态后的页面,如果它是接受Post提交的页面,这时不能用404页。而Get的页面,可以用404页。

经过测试,发现Nginx与Apache的Rewrite过程几乎是相同的,如果.htaccess是放置在站点的根目录,那么这个过程几乎是完全相同的,也就是这个Rewrite的规则对站点的所有页面都发出了指令,或者说是整站的全局设置。例如,在站点根目录里的.htaccess,有一条规则是对abc.php进行伪静态重写,而如果被访问的页面是def.php,虽然没有对def.php进行伪静态重写,但是def.php也接收到了对于abc.php的重写规则,只是没有对def.php产生作用。不仅如此,根目录的.htaccess对站点的所有页面都会发出指令。对于访问量不大的站点,可能影响较小,但是访问量大的站点是有一定影响的。
简单地说,如果把.htaccess放在根目录,是对整站的全局设置(Nginx与Apache都是这样的)。

可能有朋友会想到,如果把Nginx所include的.htaccess文件,不放在根目录,是不是就能避免全局设置?Apache可以避免,但是Nginx避免不了。因为Nginx所include的文件,无论.htaccess文件是处于哪层目录,它的作用级别,都是全局的,这是因为include起的作用只是引用代码而已,它还是在server{}这里产生作用。

Apache的.htaccess,经过测试,是对当前目录、以及它的所有子目录生效。例如,如果把.htaccess放在根目录,则对整站有效。如果把.htaccess放在/abc目录,则只对/abc目录和/abc的所有子目录有效。对于程序开发者而言,是不会把.htaccess放在网站根目录(因为会产生不必要的全局设置),而是在需要Rewrite的目录建立一个.htaccess文件(更好的解决办法是用404来实现伪静态)。

既然Nginx不能避免Rewrite的全局设置,也就是让目录下的.htaccess生效,那么我们试一试Nginx能不能用404页来实现伪静态?结果太遗憾了。Nginx虽然支持自定义404错误页,但是访问伪静态的链接,马上跳转到404的文件页面。而Apache,则是停留在伪静态的链接,不会跳转。

由此可见,无论是Rewrite、还是404页,Apache都比Nginx完善。在此看来,目前的Nginx如果能够改进这两方面,就会成为PHP的Web服务器的首选。

在打开网页方面,Nginx确实比Apache快很多。究竟为什么快,需要做很多的测试,或者在某一天就会无意间发现原因。我打开VPS的Apache的配置文件,发现LoadModule语句,竟然加载了52个模块。而我在本机测试的miniapache(迷你Apache),只加载7个模块。这些模块加载得太多,可能对Apache的速度有影响。

固定链接 | 发表评论(0) | Trackback(0)

CentOS 6新装机的参数记录
2016年08月23日 18:45

因为需要全新开发VPS面板,需要在多平台下测试,这里记录一下CentOS 6 x86的VPS重新安装系统后的参数,以备查阅:除去sendmail进程,重启后,内存占用量为5.61 MB,硬盘占用640.34 MB,如下图,

新装的CentOS 6 x86,有21个进程,如下图:

固定链接 | 发表评论(0) | Trackback(0)

auiou.com的VPS的内存占用测试
2016年08月23日 08:20

经过这几天的很多调试,VPS重装过100多次系统,已经初步适应了VPS的使用。今天再次给服务器重装系统,为了打造一个纯净高效的环境。使用的系统是CentOS 5 x86,版本是CentOS 5.3,CentOS 5最适用于PHP+NoSQL,只需安装PHP,因为自带Apache。VPS默认的sendmail进程是开启的,可以在SSH用这个命令停止和禁止自启:

service sendmail stop && chkconfig sendmail off

CentOS 5直接在SSH执行这个命令就可以安装PHP:
yum -y install php
然后输入:service httpd restart

就可以直接支持PHP+NoSQL。/etc/php.ini此文件可以不作任何配置。

下图是auiou.com此时的内存占用情况,用的是自己编写的PHP+NoSQL全动态页:

这个结果也令自己感到欣喜。打开了几个本站的页面之后,内存的占用量在9.7M~10.5M,比前两天的占用量又降低了,因为当时安装PHP时也有安装其它的PHP扩展,这次一个扩展都没有,PHP版本为5.1.6。

为了测试最纯净的环境,用了另一台VPS,同样是CentOS 5.3,只安装php,除去sendmail进程。重启后,内存占用量为6.68M。

看来,很明显PHP+NoSQL有更好的性能,能承受更多的流量。前几天测试了使用PHP+MySQL的知名博客程序,打开几个页面后,内存占用量在35M~70M。

固定链接 | 发表评论(0) | Trackback(0)

2016年8月第一帖
2016年08月18日 20:15

好久没有更新此博客了,这2年当中更多的是更新QQ空间、朋友圈。我女儿下个月也8周岁了,去年9月上了小学一年级,下个月她二年级。在学校的强制陪读下(每天都要家长判作业),这一年,我每天至少要辅导她1-2个小时的作业,写得不好的部分擦掉重写。每天能陪在她身边,是我最幸福的时光,我时常带她去跑步。

今天把auiou.com搬到了VPS上,用的是virmach的512M RAM VPS,网站上的价格是$3/月左右。我是用$5.1/年的优惠价格买到的。网站时快时慢,可能是因为价格太便宜,超售严重。总体来说还是比较满意的,比虚拟主机稳定。512M RAM,这两天RAM的占用量在8M~20M左右。

VPS的稳定性还是和价格成正比。因为价格便宜的空间,用户就多。过去很多人写博客用的VPS价格在$20/月,这个便宜的空间更多的是带来使用上的体验。

这两天的测试中发现,VPS与虚拟主机,另一个很大的不同是VPS可以用exec()函数来调用部分Linux命令,实现如.tar.gz的压缩和解压缩,在关键时刻还是能发挥很大的作用。

固定链接 | 发表评论(0) | Trackback(0)

王志勇:程序设计者。
1980-09-26 (38周岁)

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

Blog存档 Archives

2018年10月
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2018 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue