分类目录归档:业务范围

DNS中的资源记录类型

DNS分为正向查找区域和反向查找区域,然后在分为,主要,辅助,存根区域,在这些区域里,又存在着很多的记录,今天,就让我们来看看这些记录:

1.A记录
A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少,   它是域名和IP地址的对应关系,表现形式为     www.contoso.com   192.168.1.1  这就是一个A记录!A记录除了进行域名IP对应以外,还有一个高级用法,可以作为低成本的负载均衡的解决方案,比如说,www.contoso.com  可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡
2.NS记录
NS记录和SOA记录是任何一个DNS区域都不可或缺的两条记录,NS记录也叫名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器。因此,任何一个DNS区域都不可能缺少这两条记录。NS记录,说明了在这个区域里,有多少个服务器来承担解析的任务,
3.SOA记录
NS记录说明了有多台服务器在进行解析,但哪一个才是主服务器呢,NS并没有说明,这个就要看SOA记录了,SOA名叫起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主要的服务器
4.MX记录
全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!
5.Cname记录
又叫别名记录,我们可以这么理解,我们小的时候都会有一个小名,长大了都是学名,那么正规来说学名的符合公安系统的,那个小名只是我们的一个代名词而已,这也存在一个好处,就是比暴漏自己,比如一个网站a.com 在发布的时候,他可以建立一个别名记录,把B.com发不出去,这样不容易被外在用户所察觉!达到隐藏自己的目的!
6.SRV记录
SRV记录是服务器资源记录的缩写,SRV记录是DNS记录中的新鲜面孔,在RFC2052中才对SRV记录进行了定义,因此很多老版本的DNS服务器并不支持SRV记录。那么SRV记录有什么用呢?SRV记录的作用是说明一个服务器能够提供什么样的服务!SRV记录在微软的Active Directory中有着重要地位,大家知道在NT4时代域和DNS并没有太多关系。但从Win2000开始,域就离不开DNS的帮助了,为什么呢?因为域内的计算机要依赖DNS的SRV记录来定位域控制器!表现形式为:
—ldap._tcp.contoso.com 600 IN SRV 0 100 389 NS.contoso.com
ladp: 是一个服务,该标识说明把这台服务器当做响应LDAP请求的服务器
tcp:本服务使用的协议,可以是tcp,也可以是用户数据包协议《udp》
contoso.com:此记录所值的域名
600: 此记录默认生存时间(秒)
IN: 标准DNS Internet类
SRV:将这条记录标识为SRV记录
0:优先级,如果相同的服务有多条SRV记录,用户会尝试先连接优先级最低的记录
100:负载平衡机制,多条SRV并且优先级也相同,那么用户会先尝试连接权重高的记录
389:此服务使用的端口
NS.contoso.com:提供此服务的主机
7.PTR记录
PTR记录也被称为指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名。由于我们在前面提到过,DNS的反向区域负责从IP到域名的解析,因此如果要创建PTR记录,必须在反向区域中创建。

PHP编译进Apache静态内核

PHP编译进Apache静态内核

Apache整合PHP有两种方式:一种是DSO模式,把PHP当作Apache的外部模块来调用,这样增加了Apache的灵活性,但会带来5% 的性能降低;

另一种方式是把PHP编译进Apache的内核,这样牺牲了以后调整的灵活性(每次对PHP的重新编译,都需要再次编译Apache),但性能会高一些。对Perl也是如此。相比之下,本人更愿意使用第二种方式,即把PHP编译进Apache的静态内核。

 

一.编译Apache:

 

1. 进入Apache展开目录;

 

2. ./configure –prefix=/usr/local/apache1.3 –disable-module=all\

 

–enable-module=access –enable-module=log_config \

 

–enable-module=dir –enable-module=mime \ ##Apache工作的基本模块

 

(说明:如果以后使用DSO方式,则编译时加上 –enable-mdule=so)

 

二.安装PHP:

 

1. 进入PHP展开目录;

 

2. ./configure –prefix=/usr/local/php4 \

 

–with-apache=../apache_1.3.27 ##这里指定Apache的源代码目录

 

3. make;make install

 

三.安装Apache:

 

1. 进入Apache展开目录;

 

2. ./configure –prefix=/usr/local/apache1.3 –disable-module=all \

 

–enable-module=access –enable-module=log_config \

 

–enable-module=dir –enable-module=mime \

 

–activate-module=src/modules/php4/libphp4.a ##把PHP模块编译进去

 

3. make;make install

 

四。配置Apache:

 

修改httpd.conf文档:

 

1、Timeout 300—>Timeout 120

 

2、MaxKeepAliveRequests 100

 

3、KeepAliveTimeout 5

 

4、ServerSignature on—>ServerSignature off

 

5、Options Indexes FollowSymLinks 行把indexes删掉(目录的Options不要带index选项)

 

6、将Apache运行的用户和组改为nobody

 

7、MaxClients 150——>MaxClients 1500

 

(该参数是多少有一个基本的算法,例如2G的机器,一个Apache+PHP进程大概消耗4M内存,则最高效率的进程数为2g/4m * 2=1000,最大进程数为1000*1.5=1500;1.3下要调整到高于256须在编译Apache前修改其源代码)

 

(对apache2.0版本,将worker MPM字段里的MaxClients 150——>MaxClients 1500)

 

8、DirectoryIndex index.html index.html.var 后面加上index.php

 

9、查找包含大量AddType命令的小节,添加下面这一行: AddType application/x-httpd-php .php

 

Apache版本:Apache-2.0.47

 

PHP版本:PHP-4.3.2

 

a、安装Apache:

 

进入Apache安装目录;

 

./configure –prefix=/usr/local/apache2 –enable-so

 

make;make install

 

b、安装PHP:

 

进入PHP安装目录;

 

./configure –prefix=/usr/local/php4 -

 

-with-apxs2=/usr/local/apache2/bin/apxs

 

make;make install

 

c、配置Apache:

 

修改httpd.conf,上述配置工作照做;

 

另外修改的地方:

 

LoadModule php4_module modules/libphp4.so (这一项在装完php后会自动添加)

 

AddType application/x-httpd-php .php (这一项手工添加)

Linux系统优化思路

Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache、 tomcat、mysql、php等等,开源软件的最大理念是自由、开放,那么linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最 低廉的成本,达到应用最优的性能。因此,谈到性能问题,主要实现的是linux操作系统和应用程序的最佳结合。 继续阅读

如果你Unix/Linux的chmod文件被取消x属性,怎么办?

如果某天你的Unix/Linux系统上的chomd命令被某人去掉了x属性(执行属性),
那么,你如何恢复呢?

下面是一些答案:

1)重新安装。对于Debian的系统:1 sudo apt-get install –reinstall coreutils

2)使用语言级的chmod。
Perl:perl-e ‘chmod 0755, “/bin/chmod”‘
Python:python -c “import os;os.chmod(‘/bin/chmod’, 0755)”
Node.js:require(“fs”).chmodSync(“/bin/chmod”, 0755);
C程序:1
2
3
4
5
6 #include
#include
void main()
{
chmod(“/bin/chmod”, 0000755);
}

3)使用已有的可执行文件。1
2
3
4
5
6
7 $cat – > chmod.c
void main(){}
^D

$cc chmod.c
$cat /bin/chmod > a.out
$./a.out 0755 /bin/chmod
1
2
3 $cp true > new_chmod
$cat /bin/chmod > new_chmod
$./new_chmod 0755 /bin/chmod

4)使用GNU tar命令1
2 $tar –mode 0755 -cf chmod.tar /bin/chmod
$tar xvf chmod.tar
1 tar –mode 755 -cvf – chmod | tar -xvf -

5)使用cpio (第19到24字节为file mode – http://4bxf.sl.pt)1
2
3
4 echo chmod |
cpio -o |
perl -pe ‘s/^(.{21})…/${1}755/’ |
cpio -i -u

6)使用hardcore1 alias chmod=’/lib/ld-2.11.1.so ./chmod’

7)使用Emacs

Ctrl+x b > * scratch*
(set-file-modes “/bin/chmod” (string-to-number “0755″ 8))
Ctrl+j

嗯,挺强大的,不过为什么不用install命令呢?1
2 install -m 755 /bin/chmod /tmp/chmod
mv /tmp/chmod /bin/chmod

各位,你的方法呢?

调整nginx出现502错误

最近某台服务器经常出现502错误,特地今天优化了一番。

502就是后端cgi或者代理服务器执行超时,nginx抛出来的信息,现在是跳转了,虽然跳转了,但是还是不爽。

1.request_terminate_timeout 执行php超时参数

2.max_children的合理设置

3.max_requests的合理设置

4.绑定nginx工作的CPU,腾空CPU0,CPU0要做网卡中断等事宜。

5.优化后端mysql

6.优化代理超时部分

7.fastcgi_connect_timeout、fastcgi_send_timeout、fastcgi_read_timeout

8.升级linux内核到 2.6.36-rc8

修复ip_conntrack: table full, dropping packet.问题,这个问题不是网络上说的由ip_conntrack_max引起的。

putty输入中文

默认状态下向putty中输入中文会变成…可以用以下方法解决: Category中选择Window=>Appearance=>change…将字体设置为Fixedsys字符集设 置为CHINESE_GB2312 然后别忘了save一下要不就得每次更改了。主要是要把字符集设置为CHINESE_GB2312。

用putty登录了不能输入中文如何解决

1、
vi /etc/sysconfig/i18n
2、
LANG=”zh_CN.GB18030″
LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
SYSFONT=”lat0-sun16″
SYSFONTACM=”8859-15″
3、保存退出
4、
source /etc/sysconfig/i18n
5、putty的中文支持还是很好的,呵呵打开putty主程序,选择window-〉Appearance-〉Font settings-〉Change…,选择Fixedsys字体,字符集选择CHINESE_GB2312。在window-〉Appearance-〉Translation中,Received data assumed to be in which character set 中,把Use font encoding改为UTF-8如果经常使用,把这些设置保存在session里面. 现在打开putty,登录成功后,在shell中输入:export LC_ALL=’zh_CN.utf8′,这样应该可以的

putty支持utf-8解决方案

suse建议用户使用utf8的字符集,但是通常在windows下的term终端使用utf8会带来一些问题,比如putty,使用 vi时,会发生一些问题。
下面是解决方法
Step1:
把 PuTTY 的字符集修改为 UTF-8,

window—-translation—received data assumed to be in which character set
改称utf8
然后选择一个支持 UTF-8 的中文字体,
如宋体、新宋体等。
Step2:
修改/etc/vimrc,加上
set encoding=utf-8
set fileencoding=utf-8
这样即可
当然,这是在linux下编辑的所有文本文件都是utf8格式的,如果需要转为gbk格式的,可以用下列命令
iconv -f utf-8 -t gbk src.txt >dst.txt