存档

文章标签 ‘日本vps’

如何设计一个成功的网站

2013年5月16日 没有评论

随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。作为网络世界的支撑点的网站,更是人们关注的热点:政府利用网站宣传自己的施政纲领,日益成为与百姓交流的直通车;企业利用网站宣传自己的形象,挖掘无限商机;个人利用网站展示个性风采,创建彼此沟通的桥梁。越来越多的人希望拥有网站,开辟网络世界里的一片天地。如何设计一个出色的网站呢?关于这个问题,人们讨论的很多,可以讨论的内容也很多,加之网络技术的飞速发展,很难提出一个绝对权威和正确的设计思路,笔者不才,根据自己的设计体 会,总结出以下基本设计思路:

一、定位网站的主题和名称

网站的主题也就是网站的题材,网站设计开始首先遇到的问题。网站题材千奇百怪,琳琅满目,只要想的到,就可以把它制作出来。下面是美国《个人电脑》杂志(PC Magazine)评出的99年度排名前100位的全美知名网站的十类题材:第1类:网上求职;第2类:网上聊天/即时信息/ ICQ;第3类:网上社区/讨论/邮件列表;第4类:计算机技术;第5类:网页/网站开发;第6类:娱乐网站;第7类:旅行;第8类:参考/资讯;第9类:家庭/教育;10类:生活/时尚;每个大类都可以继续细分,比如娱乐类再分为体育/电影/音乐等小类,音乐又可以按格式分为MP3,VQF,Ra等,按表现形式分古典,现代,摇滚等。同时,各个题材相联系和交叉结合可以产生新得题材,例如旅游论坛(旅游+讨论),经典入球播放(足球+影视)按这样分下去,题材可以有成千上万种。这么多题材,如何选择呢?遵循的原则如下:1、主题要小而精:定位要小,内容要精。如果你想制作一个包罗万象的站点,把所有你认为精彩的东西都放在上面,那么往往会事与愿违,给人的感觉是没有主题,没有特色,样样有,却样样都很肤浅,因为你不可能有那么多的精力去维护它。网站的最大特点就是新和快,目前最热门的个人主页都是天天更新甚至几小时更新一次。最新的调查结果也显示,网络上的”主题站”比”万全站”更受人们喜爱,就好比专卖店和百货商店,如果我需要买某一方面的东西,肯定会选择专买店。2、题材最好是你自己擅长或者喜爱的内容。比如:你擅长编程,就可以建立一个编程爱好者网站;对足球感兴趣,可以报道最新的战况,球星动态等。这样在制作时,才不会觉得无聊或者力不从心。兴趣是制作网站的动力,没有热情,很难设计制作出优秀的网站。3、题材不要太滥或者目标太高。”太滥”是指到处可见,人人都有的题材;比如软件下载,免费信息。”目标太高”是指在这一题材上已经有非常优秀,知名度很高的站点,你要超过它是很困难的。

如果题材已经确定以后,就可以围绕题材给网站起一个名字。网站名称,也是网站设计的一部分,而且是很关键的一个要素。你来看,”电脑学习室”和”电脑之家”显然是后者简练;”迷笛乐园”和”MIDI乐园”显然是后者明晰;”儿童天地”和”中国幼儿园”显然是后者大气。我们都知道PIII的中文名称”奔腾”,如果改为”奔跑”,可能就没有今天这么”火”了。和现实生活中一样,网站名称是否正气,响亮,易记,对网站的形象和宣传推广也有很大影响。我的建议是:1、名称要正。其实就是要合法,和理,和情。不能用反动的,色情的,迷信的,危害社会安全的名词语句。2、名称要易记。最好用中文名称,不要使用英文或者中英文混合型名称。另外,网站名称的字数应该控制在六个字(最好四个字)以内,四个字的也可以用成语。字数少还有个好处,适合于其他站点的链接排版。3、名称要有特色。名称平实就可以接受,如果能体现一定的内涵,给浏览者更多的视觉冲击和空间想象力,则为上品。例如:音乐前卫,网页陶吧,e书时空等。在体现出网站主题的同时,能点出特色之处。

定位网站的CI形象

所谓CI(corporate identity),意思是通过视觉来统一企业的形象。一个杰出的网站,和实体公司一样,需要整体的形象包装和设计。准确的,有创意的CI设计,对网站的宣传推广有事半功倍的效果。具体的做法是:

1、设计网站的标志(logo)

就如同商标一样,标志是你站点特色和内涵的集中体现,看见标志就让大家联想起你的站点。标志的设计创意来自你网站的名称和内容:

(1)网站有代表性的人物、动物、花草等,可以用它们作为设计的蓝本,加以卡通化和艺术化,例如迪斯尼的米老鼠,搜狐的卡通狐狸等等。

(2)网站有专业性的,可以以本专业有代表的物品作为标志。比如中国银行的铜板标志,奔驰汽车的方向盘标志等等。

(3)最常用和最简单的方式是用自己网站的英文名称作标志。采用不同的字体,字母的变形,字母的组合可以很容易制作好自己的标志。

2、设计网站的标准色彩

网站给人的第一印象来自视觉冲击,确定网站的标准色彩是相当重要的一步。不同的色彩搭配产生不同的效果,并可能影响到访问者的情绪。举个实际的例子就明白了:IBM的深蓝色,肯得基的红色条型,windows视窗标志上的红蓝黄绿色块,都使我们觉得很贴切,很和谐。”标准色彩”是指能体现网站形象和延伸内涵的色彩。一般来说,一个网站的标准色彩不超过3种,太多则让人眼花缭乱。标准色彩要用于网站的标志,标题,主菜单和主色块。给人以整体统一的感觉。至于其它色彩也可以使用,只是作为点缀和衬托,绝不能喧宾夺主。适合于网页标准色的颜色有:蓝色,黄/橙色,黑/灰/白色三大系列色,要注意色彩的合理搭配。

3、设计网站的标准字体

和标准色彩一样,标准字体是指用于标志,标题,主菜单的特有字体。一般我们网页默认的字体是宋体。为了体现站点的”与众不同”和特有风格,我们可以根据需要选择一些特别字体。例如,为了体现专业可以使用粗仿宋体,体现设计精美可以用广告体,体现亲切随意可以用手写体等等。

4、设计网站的宣传标语

也可以说是网站的精神,网站的目标。用一句话甚至一个词来高度概括。类似实际生活中的广告金句。例如:鹊巢的”味道好极了”;麦斯威尔的”好东西和好朋友一起分享”;Intel的”给你一颗奔腾的心”等等。

三、确定网站的栏目

建立一个网站好比写一篇文章,首先要拟好提纲,文章才能主题明确,层次清晰。如果网站结构不清晰,目录庞杂,内容东一块西一块。结果不但浏览者看得糊涂,自己扩充和维护网站也相当困难。网站的题材确定后,并且收集和组织了许多相关的资料内容,但如何组织内容才能吸引网友们来浏览网站呢?栏目的实质是一个网站的大纲索引,索引应该将网 站的主体明确显示出来。一般的网站栏目安排要注意以下几方面:

1、要紧扣主题

将你的主题按一定的方法分类并将它们作为网站的主栏目。主题栏目个数在总栏目中要占绝对优势,这样的网站显的专业,主题突出,容易给人留下深刻印象。

2、设立最近更新或网站指南栏目

设立”最近更新”的栏目,是为了照顾常来的访客,让你的主页更有人性化。如果主页内容庞大,层次较多,而又没有站内的搜索引擎,设置”本站指南”栏目,可以帮助初访者快速找到他们想要的内容。

3、设立可以双向交流的栏目

比如论坛,留言本,邮件列表等,可以让浏览者留下他们的信息。

4、设立下载或常见问题回答栏目

网络的特点是信息共享。如在你主页上设置一个资料下载栏目,便于访问者下载所需资料。另外,如果站点经常收到网友关于某方面的问题来信,最好设立一个常见问题回答的栏目,既方便了网友,也可以节约自己更多时间。

四、确定网站的目录结构

网站的目录是指你建立网站时创建的目录。例如:在用frontpage98建立网站时都默认建立了根目录和images(存放图片)子目录。目录结构的好坏,对浏览者来说并没有什么太大的感觉,但是对于站点本身的上传维护,内容未来的扩充和移植有着重要的影响。下面是建立目录结构的一些建议:

1、不要将所有文件都存放在根目录下,会造成文件管理混乱

你常常搞不清哪些文件需要编辑和更新,哪些无用的文件可以删除,哪些是相关联的文件,影响工作效率。另外,上传速度慢。服务器一般都会为根目录建立一个文件索引。当您将所有文件都放在根目录下,那么即使你只上传更新一个文件,服务器也需要将所有文件再检索一遍,建立新的索引文件。很明显,文件量越大,等待的时间也将越长。所以,尽可能减少根目录的文件存放数。

2、按栏目内容建立子目录

子目录的建立,首先按主菜单栏目建立。例如:企业站点可以按公司简介,产品介绍,价格,在线定单,反馈联系等建立相应目录。其他的次要栏目,类似what’s new,友情连接内容较多,需要经常更新的可以建立独立的子目录。而一些相关性强,不需要经常更新的栏目,例如:关于本站,关于站长,站点经历等可以合并放在一个统一目录下。所有程序一般都存放在特定目录。例如:CGI程序放在cgi-bin目录。所有需要下载的内容也最好放在一个目录下。

3、在每个主栏目目录下都建立独立的images目录

为每个主栏目建立一个独立的images目录是最方便管理的。而根目录下的images目录只是用来放首页和一些次要栏目的图片。

4、目录的层次不要太深

目录的层次建议不要超过3层,维护管理方便。

5、不要使用中文目录

6、不要使用过长的目录

五、确定网站的链接结构

网站的链接结构是指页面之间相互链接的拓扑结构。它建立在目录结构基础之上,但可以跨越目录。建立网站的链接结构有两种基本方式:

1、树状链接结构

类似DOS的目录结构,首页链接指向一级页面,一级页面链接指向二级页面。这样的链接结构浏览时,一级级进入,一级级退出。优点是条理清晰,访问者明确知道自己在什么位置,不会”迷”路。缺点是浏览效率低,一个栏目下的子页面到另一个栏目下的子页面,必须绕经首页。

2、星状链接结构

类似网络服务器的链接,每个页面相互之间都建立有链接。这种链接结构的优点是浏览方便,随时可以到达自己喜欢的页面。缺点是链接太多,容易使浏览者迷路,搞不清自己在什么位置,看了多少内容。

windows 给帐户添加“作为服务登录”权限

2013年5月7日 没有评论

应用到: Windows Server 2003 R2
给帐户添加“作为服务登录”权限
向本地计算机中的帐户添加“作为服务登录”权限
打开“本地安全策略”。
在控制台树中,双击“本地策略”,然后单击“用户权限分配”。
在细节窗格中,双击“作为服务登录”。
单击“添加用户或用户组”,然后添加适当的帐户到具有作为服务登录权限的帐户列表。
处于加入某个域的工作站或服务器上时,向某个组策略对象的帐户添加“作为服务登录”权限
单击“开始”,指向“运行”,键入 mmc,然后单击“确定”。
在“文件”菜单中,单击“添加/删除管理单元”。
在“添加/删除管理单元”中,单击“添加”,然后在“添加独立管理单元”中双击“组策略对象编辑器”。
在“选择组策略对象”中单击“浏览”,浏览至要修改的组策略对象 (GPO),单击“确定”,然后单击“完成”。
单击“关闭”,然后单击“确定”。
在控制台树中,单击“用户权限分配”。
位置
GroupPolicyObject [ComputerName] Policy

计算机配置

Windows 设置

安全设置

本地策略

用户权限分配

在细节窗格中,双击“作为服务登录”。
如果尚未定义该安全设置,请选中“定义这些策略设置”复选框。
单击“添加用户或用户组”,然后将适当的帐户添加到具有作为服务登录权限的帐户列表。
处于已安装 Windows Server 2003 Administration Tools Pack 的域控制器或计算机中时,向某个组策略对象的帐户添加“作为服务登录”权限
打开“Active Directory 用户和计算机”。
在控制台树中,右键单击要编辑安全设置的域或组织单位 (OU)。
单击“属性”,然后单击“组策略”选项卡。
在“组策略对象链接”中,单击域的组策略对象或要编辑安全设置的 OU,然后单击“编辑”。
在控制台树中,单击“用户权限分配”。
位置
GroupPolicyObject [ComputerName] Policy

计算机配置

Windows 设置

安全设置

本地策略

用户权限分配

在细节窗格中,双击“作为服务登录”。
如果尚未定义此安全设置,请选中“定义这些策略设置”复选框。
单击“添加用户或用户组”,然后将适当的帐户添加到具有作为服务登录权限的帐户列表。
处于域控制器中时,仅向域控制器的帐户添加“作为服务登录”权限
打开“域控制器安全策略”。
在控制台树中,单击“用户权限分配”。
位置
安全设置

本地策略

用户权限分配

在细节窗格中,双击“作为服务登录”。
如果尚未定义此安全设置,请选中“定义这些策略设置”复选框。
单击“添加用户或用户组”,然后将适当的帐户添加到具有作为服务登录权限的帐户列表。
注意
要打开“本地安全策略”,请单击“开始”,依次指向“控制面板”、“管理工具”,然后双击“本地安全策略”。

要打开“域控制器安全策略”,请单击“开始”,依次指向“所有程序”、“管理工具”,然后单击“域控制器安全策略”。

更改了安全设置后,该设置将在下一次刷新设置时生效。

在工作站或服务器上,每 90 分钟刷新一次安全设置;在域控制器上,每 5 分钟刷新一次安全设置。不管是否进行更改,安全设置都会每 16 小时刷新一次。

PHP在64位Win2003和IIS下运行设置方法

2013年5月7日 没有评论

环境是windows 2003 sp2 企业版 64位
iis配置好PHP之后居然出现错误信息:

%1 不是有效的 Win32 应用程序。
说这不是一个有效的win32程序…

解决办法:
由于系统是64位的..只好将IIS改为32位的工作模式。
于是找到了这条命令,详情参见微软官方的帮助文档:
Configuring IIS to Run 32-bit Applications on 64-bit Windows (IIS 6.0):
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”
或者
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 //这是一行命令!!切勿当成2条语句执行上面的命令是将将IIS由64位模式修改为32位模式。
更改完模式之后然后按照32位系统配置php即可

操作完成后支行 iisreset 重启iis 生效

如果你要从32位改为64位的.也只需要一个命令

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs
SET W3SVC/AppPools/Enable32bitAppOnWin64 0 //这是一行命令..切勿当成2条语句执行
当然,在更改完之后,PHP是无法运行的了,.NET运行的的话,就需要重新注册一次
32位:%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
64位:%SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.40607\aspnet_regiis.exe -i

[转]系统启动时出现错误:应用程序-特定 权限设置未将 COM 服务器应用程序

2013年5月4日 没有评论

系统启动时出现错误:应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 {BA126AD1-2166-11D1-B1D0-00805FC1270E})的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE 的解决.
系统是windows server 2003R2.启动时出现了问题:
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 {BA126AD1-2166-11D1-B1D0-00805FC1270E})的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。
看此提示,于是找到组件服务管理器,展开DCOM服务,但是找死找不到(CLSID 为 {BA126AD1-2166-11D1-B1D0-00805FC1270E})的项.

根据提示信息,实际上是说NETWORK SERVICE没权限激活CLSID为{BA126AD1-2166-11D1-B1D0-00805FC1270E}的应用程序。可以通过使用组件服务管理工具修改此安全权限。
1、如果按上面的提示去使用组件服务管理工具找CLSID为{BA126AD1-2166-11D1-B1D0-00805FC1270E}的应用程序是找不到的。
2、需要先运行regedit.exe在注册表中查找出{BA126AD1-2166-11D1-B1D0-00805FC1270E}对应的AppID值{27AF75ED-20D9-11D1-B1CE-00805FC1270E}
3、然后再打开组件服务,查看方式为详细信息,找到DCOM 配置里的netman,选中按鼠标右建选属性。
4、在netman属性里的安全 -> “启动和激活权限” -> 自定义编辑,在启动权限里加入NETWORK SERVICE用户,允许本地启动和本地激活,确定后就不会再报这个DCOM错了。
照着操作,问题顺利解决.

php扩展php_curl.dll不加载解决方法

2013年5月3日 没有评论

方法一(已通过测试)已经内置有php_curl.dll,在ext目录下,此DLL用于支持SSL和zlib.
在php.ini中找到有extension=php_curl.dll, 去掉前面的注释.
设置extension_dir=c:\php\ext, 刷新PHP页面时报错, 说找不到模块php_curl.dll.
拷贝php_curl.dll 到windows\system32,还是同样的错.
在网上找了一下,需要将:
libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll
都拷贝到system32目录下,重启apache即可.

方法二也可试试:
这个php_curl.dll就依赖两个文件(ssleay32.dll和libeay32.dll)如果这两个文件没有配置对那么就会提示找不到此动态库,这两个文件在php的目录下面。
解决办法:在Apache的httpd.conf的文件中配置一下:
LoadFile “D:/webserver/php/ssleay32.dll”
LoadFile “D:/webserver/php/libeay32.dll”
然后重启一下apache服务就ok了。

ps:不管是iis还是apache,直接复制以上三个dll文件到system32目录下一般就可以解决问题。反正这三个文件是一定要在一起才生效。不然不行。

ssh连接的时候出现Host key verification failed.

2013年5月1日 没有评论

今天在服务器上执行远程操作命令出现以下的问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@www ~]# ssh 192.168.1.**
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
3c:2a:3a:d5:ae:2b:76:52:*:*.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:20
RSA host key for 192.168.1.** has changed and you have requested strict checking.
Host key verification failed.

解决方法:
在正在操作的机器上执行

1
vi ~/.ssh/known_hosts

进入此目录,删除的192.168.1.**相关rsa的信息即可.
或者删除这个文件

1
2
cd ~/.ssh/
rm known_hosts

怎么查看SQL SERVER 2000是否打过SP4的补丁

2013年4月30日 没有评论

有几次帮客户解决数据库问题,并不知道数据库的版本是否打过sp4补丁,又没有地方可查,网上有给出比较好的解决方案,只要查询版本号就知道。
在查询分析器中输入

select @@version

或者输入

print @@version

如果是安装过SP4的补丁。应该是下面的信息:
Microsoft SQL Server 2000 – 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
其他版本信息如下
6.50.201 SQL Server 6.5 RTM
6.50.213 SQL Server 6.5 with Service Pack 1
6.50.240 SQL Server 6.5 with Service Pack 2
6.50.258 SQL Server 6.5 with Service Pack 3
6.50.281 SQL Server 6.5 with Service Pack 4
6.50.415 SQL Server 6.5 with Service Pack 5
6.50.416 SQL Server 6.5 with Service Pack 5a
7.00.623 SQL Server 7.0 / MSDE 1.0 RTM
7.00.699 SQL Server 7.0 SP1 July 1999
7.00.842 SQL Server 7.0 SP2 March 20th, 2000
7.00.961 SQL Server 7.0 SP3 December 15th, 2000
7.00.1063 SQL Server 7.0 SP4
8.00.194 SQL Server 2000 RTM
8.00.384 SQL Server 2000 SP1
8.00.534 SQL Server 2000 SP2 November 30th, 2001
8.00.760 SQL Server 2000 SP3
8.00.2039 SQL Server 2000 SP4

ps: sql2000 sp4后的一个安全补丁SQL2000-KB948110-v8.00.2050-x86x64-CHS

linux(centos)绑定ARP的方法

2013年4月16日 没有评论

ARP协议是“Address Resolution Protocol”(地址解析协议) 的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主 机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标 MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

而ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

在工作中经常遇到有服务器受到ARP欺骗攻击,严重影响了网络的正常运营,于是想到将网关的ARP条目进行绑定。

本文是关于linux服务器下arp网关的绑定

1、查看网关的arp信息
[root@Vtest ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.103 ether 00:16:ea:27:7b:04 C eth0
192.168.1.1 ether 40:16:9f:6c:39:1e C eth0

说明:
Address: 主机的IP地址
Hwtype: 主机的硬件类型
Hwaddress:主机的硬件地址
Flags Mask:记录标志,”C”表示arp高速缓存中的动态条目,”CM”表示静态的arp条目。

我们需要绑定的就是192.168.1.1所在的一行。

2、建立一个静态IP –>>mac对应的文件
[root@Vtest ~]#echo ’192.168.1.1 40:16:9f:6c:39:1e’>>/etc/ip-mac

3、设置开机自动绑定

arp信息重启后会清空,所以需要开机的时候自动绑定。服务器启动过程最后运行的脚本是rc.local,我们把绑定的命令就加到这个文件的最后一行。

[root@Vtest ~]#echo ‘arp -f /etc/ip-mac’ /etc/rc.local

4、手动绑定一下
[root@Vtest ~]#echo arp -f /etc/ip-mac

[root@Vtest ~]#arp -s 192.168.1.1 40:16:9f:6c:39:1e
5、验证
[root@Vtest ~]# arp -a
(192.168.1.103) at 00:16:ea:27:7b:04 [ether] on eth0
(192.168.1.1) at 40:16:9f:6c:39:1e [ether] PERM on eth0
[root@Vtest ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.103 ether 00:16:ea:27:7b:04 C eth0
192.168.1.1 ether 40:16:9f:6c:39:1e CM eth0

从以上显示的信息来看,已经绑定成功了,第一个命令结果中的”PERM”表示Permanent,永久的意思,即绑定成永久arp条目。到这里绑定就完成了,你的网关arp绑定了么,为了稳定运行,赶快绑定吧。

6、这只能防住一些arp攻击,如果将网内所有ip mac导入ethers文件,能有效的防止arp攻击
安装nmap:

rpm -vhU http://nmap.org/dist/nmap-6.25-1.i386.rpm
rpm -vhU http://nmap.org/dist/zenmap-6.25-1.noarch.rpm
rpm -vhU http://nmap.org/dist/ncat-6.25-1.i386.rpm
rpm -vhU http://nmap.org/dist/nping-0.6.25-1.i386.rpm
扫描同网段所有ip
nmap -sP 192.168.1.0/24 2>&1 | tee ip.log
扫描,结果我的arp表里就有那个网段所有机器的mac,将所有信息复制至/etc/ip-mac文件

解决mysql数据库Forcing close of thread 的错误提示

2013年4月8日 没有评论

今天发现客户的网站老出现打不开的情况,发现连接数有超出的现象,但观察系统事件日志,都是下面的错误:

MySQL: Forcing close of thread **** user:”

事件类型: 警告
事件来源: MySQL
事件种类: 无
事件 ID: 100
日期: 2013-4-8
事件: 12:21:01
用户: N/A
计算机: vps12com0630
描述:
MySQL: Forcing close of thread 123756 user: ”

For more information, see Help and Support Center at http://www.mysql.com.

检查系统资源和连接数都是正常的情况下,没有找到解决办法。

在mysql配置文件my.ini 的 [mysql] 下面加上这个解决问题了!

skip-locking
skip-name-resolve

其他的同类错误要注意查看日志。新版本mysql的写法应该是:

skip-external-locking
skip-name-resolve

nginx.conf配置文件详解

2013年4月1日 没有评论

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

以下是配置文件 nginx.conf 中文注释说明:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#使用哪个用户启动 nginx 前面是用户,后面是用户组
user www www;
 
#nginx工作的进程数量
worker_processes 2;
 
# [ debug | info | notice | warn | error | crit ] 日志的位置
error_log /var/htdocs/logs/nginx_error.log crit;
error_log /dev/null;
 
#进程号保存文件
pid /usr/local/nginx/nginx.pid;
 
#每个进程可以打开的最大文件字节数
worker_rlimit_nofile 51200;
 
events
{
# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
use epoll; #使用epoll(linux2.6的高性能方式)
worker_connections 51200; #每个进程最大连接数(最大连接=连接数x进程数)
}
 
http
{
#文件扩展名与文件类型映射表
include mime.types;
 
#默认文件类型
default_type application/octet-stream;
 
#日志文件格式
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
 
log_format download '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';
 
#默认编码
charset utf-8;
 
server_names_hash_bucket_size 128;
#开启高效文件传输模式
sendfile on;
#以下两个选项用于防止网络阻塞
 
tcp_nopush on;
tcp_nodelay on;
 
#长链接超时时间
keepalive_timeout 300;
 
#fastcgi连接超时时间,下面的看字面意思都能理解个大概了,就不解释了.
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_temp_path /dev/shm;
 
#打开gzip压缩
gzip on;
#最小压缩文件大小
gzip_min_length 1k;
#压缩缓冲区
gzip_buffers 4 8k;
#压缩版本(默认1.1,前端为squid2.5使用1.0)
gzip_http_version 1.1;
#压缩类型,默认就已经包含text/html 所以下面就不用再写了,当然写上去的话,也不会有问题,但是会有一个warn
gzip_types text/plain application/x-javascript text/css text/html text/javascript application/xml;
#错误页面
error_page 404 http://yhjhappy234.blog.163.com/;
error_page 403 http://yhjhappy234.blog.163.com/;
#上传文件大小限制
client_max_body_size 2m;
#设定请求缓
client_header_buffer_size 16k;
large_client_header_buffers 4 64k;
#设定负载均衡的服务器列表
#如果在同一台机器上,单独起4组独立的php-cgi进程(每组8个子进程),性能应该不如1组php-cgi进程(32个子进程),因为1组进程,eaccelerator的PHP二进制文件缓存是共享的,1组进程命中率较高。
#不过好处是,碰到某组的页面假死的话,其他端口就可以接管了,实测下来似乎发生502错误的概率降低了很多,或者说我这样配置以后还没有遇到
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server 192.168.101.26:8080 weight=5;
server 192.168.101.27:8080 weight=1;
server 192.168.101.202:8080 weight=1;
}
#下面开始虚拟主机的配置
server
{
listen 80;
server_name www.kedou.com;
index index.jsp;
root /usr/local/tomcat/webapps/ROOT;
if (-d $request_filename)
{
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
#设定本虚拟主机的访问日志
access_log logs/www.kedou.com.access.log main;
 
location ~ .*\.php?$
{
include fcgi.conf;
fastcgi_pass 192.168.101.202:8080
fastcgi_index index.jsp;
}
#如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid
#如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好
location ~ ^/(img|js|css)/ {
root /var/htdocs/kedou;
expires 24h;
}
 
#对 "/" 启用负载均衡
location / {
proxy_pass http://127.0.0.1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
 
proxy_temp_file_write_size 64k;
}
 
#设定查看Nginx状态的地址
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
}
}
}

修改Nginx版本头信息(可选),编辑src/http/ngx_http_header_filter_module.c:

1
# vi +48 src/http/ngx_http_header_filter_module.c

找到下面两行:

1
2
static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

将其修改为:

1
2
static char ngx_http_server_string[] = "Server: Ninja Web Server" CRLF;
static char ngx_http_server_full_string[] = "Server: Ninja Web Server" CRLF;

保存并关闭文件。现在可以开始编译服务器了,将下面的配置代码添加到nginx.conf中,禁止在所有自动产生的错误页面中显示Nginx版本号:

1
server_tokens off