无尽的Php,无尽的探索

以Php为乐

导航

<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

留言簿

文章分类

搜索

最新评论

调教您的CentOS的VPS

现在很流行vps,而CentOS的强大也使得这个操作系统成为最流行的服务器操作系统,以下是我的一些实战经验,这里仅贴命令,稍作解释,具体不过多阐述。

首先是在控制面板中新装操作系统,现在主机商的这项服务都很智能一键安装,一般都是最小化安装,开机,Putty链接服务器。

只需要填写IP地址,即可在开启了SSH服务的机器上登录,默认端口22

输入用户名,一般是root,然后是密码,注意在输入密码的时候linux是不会显示的,然后就可以执行命令了。

先简单的说几个常用命令:
top    //查看系统的最高负载记录
free -m   //释放内存
unrar x -o- -y  /home/ben/upfile/2010-Jul-11.rar   /home/www/upfile/    //将压缩文件解压到目标目录
ls       //列目录
cd     //进入目录

更多命令请参考:http://linux.chinaitlab.com/special/linuxcom/

好,现在开始调教系统,我是打算用kloxo来做方案,那么首先卸载预装的mysql等服务。
----------------------------------------------------------------
rpm -qa | grep mysql         
rpm -e dovecot
rpm -e mysql

rpm -qa | grep php
rpm -e php-cli
rpm -e php-ldap
rpm -e php-common

rpm -qa | grep httpd

---------------------------------------------------
默认安装的apache服务器和mysql都已经卸载完毕,安装kloxo并配置好简体中文环境。
------------------------------------------------------------------
wget http://www.ctohome.com/linux-vps-pack/kloxo_with_chinese_language.sh;sh ./kloxo_with_chinese_language.sh;
------------------------------------
启动服务
---------------------------------
/script/restart
------------------------------------
服务启动之后就可以在http://ip:7778下登录管理平台了。
kloxo非常强大,详细的应用可以参考:http://www.ctohome.com/FuWuQi/Kloxo/

------------------------------
编辑防火墙规则,停止某些端口,并重新启动服务。
在这里要注意的是,kloxo的默认端口没必要暴露在外,如果可以请修改一个大于10000的端口防止被扫描到。
当然要和防火墙的开的端口对应,否则自己就没法上去了。
还有一个端口是SSH的端口,也就是Putty用到的,也需要修改,不要使用默认的22。
-----------------------------------------------
vi /etc/sysconfig/iptables
service iptables restart
iptables -L
-----------------------------

--------------------------------------

删除不用的账户和用户组。以下命令可以复制了再Putty下一次性执行。
----------------------------
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp

groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
---------------------------------------------------
关闭不必要的服务
---------------------------------------------------

chkconfig anacron off
chkconfig apmd off
chkconfig atd off
chkconfig autofs off
chkconfig cpuspeed off
chkconfig cups off
chkconfig cups-config-daemon off
chkconfig gpm off
chkconfig isdn off
chkconfig netfs off
chkconfig nfslock off
chkconfig openibd off
chkconfig pcmcia off
chkconfig portmap off
chkconfig rawdevices off
chkconfig readahead_early off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig ip6tables off
chkconfig avahi-daemon off
chkconfig firstboot off

chkconfig sendmail off
chkconfig mcstrans off
chkconfig pcscd off

chkconfig hidd off
chkconfig vncserver off
chkconfig messagebus off
chkconfig mdmonitor off
chkconfig acpid off
chkconfig wpa_supplicant off
chkconfig winbind off

 

chkconfig irda off
chkconfig hplip off
chkconfig hidd off
chkconfig dund off

chkconfig yum-updatesd off

chkconfig --list

------------------------------------------------------
有些人不习惯命令行操作,可以配置以下X界面。
我选择了轻量级的XFace方案,占用资源少。
————————————————————

yum groupinstall "X Window System"
yum groupinstall "XFCE-4.4"
————————————————
启动X会话。
在此之前,配置一下Putty的X界面选项。具体的操作我后面再说。
——————————
xfce4-session

——————————
ls  /usr/local/lxlabs/kloxo/etc/conf      //列出kloxo的配置文件

————————————
常用命令补充:
查看内存使用、CPU资源占用、以及释放内存:
cat /proc/meminfo
cat /proc/cpuinfo
free -m
——————————————————
free后显示项目中文含义:

其中:

引用
total 内存总数
used 已经使用的内存数
free 空闲的内存数
shared 多个进程共享的内存总额
buffers Buffer Cache和cached Page Cache 磁盘缓存的大小
-buffers/cache 的内存数:used - buffers - cached
+buffers/cache 的内存数:free + buffers + cached

可用的memory=free memory+buffers+cached 。

有了这个基础后,可以得知,我现在used为163MB,free为86MB,buffer和cached分别为10MB,94MB。
——————————————————————————————————
关于内存的使用,我看到一些人在说内存总是变得很小,而在缓存中有很多的被占用了
比如PHPfan上的:http://www.phpfans.net/ask/answer1/2878157838.html
事实上这是没必要的!内存中缓存的内容越多,和硬盘读取的机会就越少,节省了IO开销,速度就会更快!
------------------------
buffers与cached的区别。
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给文件做缓冲。
那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件
-----------------------------------------
以下我补充一些其他大牛的看法说明这个问题:
--------------------------------------------
手动释放缓存
/proc 是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前 kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。操作如下:

 

引用
[root@server test]# cat /proc/sys/vm/drop_caches
0

首先,/proc/sys/vm/drop_caches的值,默认为0。

引用
[root@server test]# sync

手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

引用
[root@server test]# echo 3 > /proc/sys/vm/drop_caches
[root@server test]# cat /proc/sys/vm/drop_caches
3

将/proc/sys/vm/drop_caches值设为3

引用
[root@server test]# free -m
total used free shared buffers cached
Mem: 249 66 182 0 0 11
-/+ buffers/cache: 55 194
Swap: 511 0 511

再来运行free命令,会发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB。那么有效的释放了buffer和cache。

◎ 有关/proc/sys/vm/drop_caches的用法在下面进行了说明

引用
/proc/sys/vm/drop_caches (since Linux 2.6.16)
Writing to this file causes the kernel to drop clean caches,
dentries and inodes from memory, causing that memory to become
free.

To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches.

Because this is a non-destructive operation and dirty objects
are not freeable, the user should run sync first.

-/+ buffers/cache: 58 191

这才是系统可用的内存大小。
实际项目中告诉我们,如果因为是应用有像内存泄露、溢出的问题,从swap的使用情况是可以比较快速可以判断的,但free上面反而比较难查看。
相反,如果在这个时候,我们告诉用户,修改系统的一个值,“可以”释放内存,free就大了。用户会怎么想?不会觉得操作系统“有问题”吗?
所以说,我觉得既然核心是可以快速清空buffer或cache,也不难做到(这从上面的操作中可以明显看到),但核心并没有这样做(默认值是0),我们就不应该随便去改变它。
一般情况下,应用在系统上稳定运行了,free值也会保持在一个稳定值的,虽然看上去可能比较小。
当发生内存不足、应用获取不到可用内存、OOM错误等问题时,还是更应该去分析应用方面的原因 ,如用户量太大导致内存不足、发生应用内存溢出等情况,否则,清空buffer,强制腾出free的大小,可能只是把问题给暂时屏蔽了 。

     我觉得,排除内存不足的情况外,除非是在软件开发阶段,需要临时清掉buffer,以判断应用的内存使用情况;或应用已经不再提供支持,即使应用对内存的时候确实有问题,而且无法避免的情况下,才考虑定时清空buffer。 (可惜,这样的应用通常都是运行在老的操作系统版本上,上面的操作也解决不了)。
————————————————————————————————
简单说一下Putty使用X界面:
哎Putty中配置 “connection -> SSH -> X11”

当然首先本地要装一个X服务端。网上推荐多的是Xming,我用了也确实不错。
在命令行输入:xlogo 如果出现一个黑漆漆的窗口中间一个X的话,就说明配置成功了。
现在进入我刚才说的XFACE。启动服务:xfce4-session
然后就会看到一只小老鼠一只在跑,在跑,在跑,跑啊跑,呵呵终于进入桌面环境了,现在就跟本地使用没区别了!

posted on 2010-08-09 22:47 ben 阅读(447) 评论(0)  编辑 收藏 引用 网摘 所属分类: 服务器环境


只有注册用户登录后才能发表评论。
网站导航: