9月21
安装Quota
Quota允许你设置用户的磁盘限额。所以如果你的服务器将来会有多个用户使用,安装Quota还是很有用的。
用root用户运行yum安装quota:
yum install quota
编辑/etc/fstab,对根目录(/)添加,usrquota,grpquota
vi /etc/fstab
编辑后的文件类似这样:
ext3 defaults,usrquota,grpquota 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
Quota允许你设置用户的磁盘限额。所以如果你的服务器将来会有多个用户使用,安装Quota还是很有用的。
用root用户运行yum安装quota:
yum install quota
编辑/etc/fstab,对根目录(/)添加,usrquota,grpquota
vi /etc/fstab
编辑后的文件类似这样:
ext3 defaults,usrquota,grpquota 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
9月21
编辑/etc/hosts
首先用vi打开/etc/hosts:
vi /etc/hosts
内容大概类似于这样:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1
::1 localhost6.localdomain6 localhost6
一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
当然每行也可以是两部份,即主机IP地址和主机名;比如
192.168.1.100 myhost100。
这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
首先用vi打开/etc/hosts:
vi /etc/hosts
内容大概类似于这样:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1
::1 localhost6.localdomain6 localhost6
一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
当然每行也可以是两部份,即主机IP地址和主机名;比如
192.168.1.100 myhost100。
这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
9月21
这一系列关于Centos的文章目的是解释如何在Centos 5.3上设置一些必须的服务器,包括:apache web服务器,postfix邮件服务器,FTP服务器,DNS服务器,MySQL,防火墙,等等。这一系列文章的步骤是在Centos 5.3的x64版本上进行实验的,不过你应该可以可以在x32版本上按照相同的步骤进行设置。在这一系列文章中我们将使用以下软件:
http://www.hecks.tk/admin.php?act=carecenter
1.Web 服务器: Apache 2.2,PHP 5.1.6
2.数据库服务器: MySQL 5.0
3.邮件服务器: Postfix
4.DNS 服务器: BIND9 (chrooted)
5.FTP 服务器:Proftpd
6.POP3/IMAP 服务器: Dovecot
7.Webalizer 用于web服务器的统计
硬件以及软件需求
首先你需要下载并刻录CentOS 5.3的安装dvd,你可以从http://isoredirect.centos.org/centos/5/isos/x86_64/ 选择64位机器的安装盘。如果是32位的机器可以从这里下载:http://isoredirect.centos.org/centos/5/isos/i386/。下载iso文件以后你需要刻录出来。注意可能dvd的安装文件是BT种子(.torrent文件),如果你需要刻录DVD的话需要有一个BT的客户端。
http://www.hecks.tk/admin.php?act=carecenter
1.Web 服务器: Apache 2.2,PHP 5.1.6
2.数据库服务器: MySQL 5.0
3.邮件服务器: Postfix
4.DNS 服务器: BIND9 (chrooted)
5.FTP 服务器:Proftpd
6.POP3/IMAP 服务器: Dovecot
7.Webalizer 用于web服务器的统计
硬件以及软件需求
首先你需要下载并刻录CentOS 5.3的安装dvd,你可以从http://isoredirect.centos.org/centos/5/isos/x86_64/ 选择64位机器的安装盘。如果是32位的机器可以从这里下载:http://isoredirect.centos.org/centos/5/isos/i386/。下载iso文件以后你需要刻录出来。注意可能dvd的安装文件是BT种子(.torrent文件),如果你需要刻录DVD的话需要有一个BT的客户端。
9月21
在Oracle中分页查询是通过rownum来实现的
,举例来说,假如我希望返回某个特定查询的前20条记录,那么查询应该是类似这样的
:
select * from MY_TABLE where rownum <= 20;
对于一个每页为20条记录第分页查询,加入你希望查询第二页的记录,那么就应该是
select * from MY_TABLE where rownum between 21 and 40
对于mysql来讲,分页查询可以用limit查询实现,比如查询前20条记录可以是:
select * from MY_TABLE limit 20;
同样的,如果需要查询第20到40条记录可以这样:
select * from MY_TABLE limit 19, 20;
其中第一个参数是起始行(从0开始),第二个参数是要返回的行数。
,举例来说,假如我希望返回某个特定查询的前20条记录,那么查询应该是类似这样的
:select * from MY_TABLE where rownum <= 20;
对于一个每页为20条记录第分页查询,加入你希望查询第二页的记录,那么就应该是
select * from MY_TABLE where rownum between 21 and 40
对于mysql来讲,分页查询可以用limit查询实现,比如查询前20条记录可以是:
select * from MY_TABLE limit 20;
同样的,如果需要查询第20到40条记录可以这样:
select * from MY_TABLE limit 19, 20;
其中第一个参数是起始行(从0开始),第二个参数是要返回的行数。
9月21
设置防火墙对于你的Linux服务器来说非常重要。但是默认情况下CentOS的设置通常不能满足我们的需要。你可以通过如下步骤简单设置iptables防火墙:
首先要禁用掉SELinux,通常来说SELinux没有什么特别大的用处。用root用户打开/etc/selinux/config:
vi /etc/selinux/config
将其中的SELINUX=enforcing删除并用下面一行字替换:
SELINUX=disabled
之后我们来修改iptables的设置,打开iptables的配置文件:
vi /etc/sysconfig/iptables
下面是一个iptables的示例:
首先要禁用掉SELinux,通常来说SELinux没有什么特别大的用处。用root用户打开/etc/selinux/config:
vi /etc/selinux/config
将其中的SELINUX=enforcing删除并用下面一行字替换:
SELINUX=disabled
之后我们来修改iptables的设置,打开iptables的配置文件:
vi /etc/sysconfig/iptables
下面是一个iptables的示例:
9月20
Java中利用Thread的stop()方法来终止一个线程是不安全的(这个方法已经被标为depracated)。但是你如何终止一个线程的执行呢?
一个比较好的办法是在你的线程类里面定义一个属性用来表示是否该线程应该被停止。在线程的执行过程中根据这个属性的值来判断是否线程继续向下执行。
还是有点不明白么?可以参照一下下面这段简单的代码:
只要在其他地方调用这个线程的done()方法,这个线程就会停止执行了,注意这只是一个简单的示例,没有考虑synchronize之类的问题。
一个比较好的办法是在你的线程类里面定义一个属性用来表示是否该线程应该被停止。在线程的执行过程中根据这个属性的值来判断是否线程继续向下执行。
还是有点不明白么?可以参照一下下面这段简单的代码:
只要在其他地方调用这个线程的done()方法,这个线程就会停止执行了,注意这只是一个简单的示例,没有考虑synchronize之类的问题。
9月20
C#中把Hashtable中的键或者值转化成ArrayList最简单的办法就是使用ArrayList的构造函数。Hashtable.Keys以及Hashtable.Values属性都返回一个System.Collections.ICollection,你可以将它们传给ArrayList的构造函数:






:
