如何给安装好Linux服务器进行优化设置和安全设置

如何给安装好Linux服务器进行优化设置和安全设置,第1张

1、 关闭不需要的服务

这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性

那么哪些服务是肯定要保留的呢

在linux机器上通常有四项服务是必须保留的

iptables

linux下强大的防火墙,只要机器需要连到网上,哪里离得开它

network

linux机器的网络,如果不上网可以关闭,只要上网当然要打开它

sshd

这是openssh server,如果你的机器不是本地操作,而是托管到IDC机房,

那么访问机器时需要通过这个sshd服务进行

syslog

这是linux系统的日志系统,必须要有,

否则机器出现问题时会找不到原因

除了这四项必需的服务之外,其他的服务需要保留哪些呢

这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)

web服务器,就需要启用apache

2、 关闭不需要的tty

请编辑你的/etc/inittab

找到如下一段:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问

此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的

你用ps auxf这个命令可以看到,是六个进程

root 3004 00 00 1892 412 tty1 Ss+ Jun29 0:00 /sbin/mingetty tty1

root 3037 00 00 2492 412 tty2 Ss+ Jun29 0:00 /sbin/mingetty tty2

root 3038 00 00 2308 412 tty3 Ss+ Jun29 0:00 /sbin/mingetty tty3

root 3051 00 00 1812 412 tty4 Ss+ Jun29 0:00 /sbin/mingetty tty4

root 3056 00 00 2116 412 tty5 Ss+ Jun29 0:00 /sbin/mingetty tty5

root 3117 00 00 2396 412 tty6 Ss+ Jun29 0:00 /sbin/mingetty tty6

3 如何关闭这些进程

通常我们保留前2个控制台就可以了,

把后面4个用#注释掉就可以了

然后无需重启机器,只需要执行 init q 这个命令即可

init q

q作为参数的含义:重新执行/etc/inittab中的命令

修改完成后需重启机器使之生效

4 、如何关闭atime

一个linux文件默认有3个时间:

atime:对此文件的访问时间

ctime:此文件inode发生变化的时间

mtime:此文件的修改时间

如果有多个小文件时通常没有必要记录文件的访问时间,

这样可以减少磁盘的io,比如web服务器的页面上有多个小

如何进行设置呢

修改文件系统的配置文件:vi /etc/fstab

在包含大量小文件的分区中使用noatime,nodiratime两项

例如:

/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0

这样文件被访问时就不会再产生写磁盘的io

5、 一定要让你的服务器运行在level 3上

做法:

vi /etc/inittab

id:3:initdefault:

让服务器运行X是没有必要的

6, 优化sshd

X11Forwarding no //不进行x图形的转发

UseDNS no //不对IP地址做反向的解析

7、 优化shell

修改命令history记录

# vi /etc/profile

找到 HISTSIZE=1000 改为 HISTSIZE=100

然后 source /etc/profile

cs16的FPS终极优化指南

许多游戏玩家都遭遇过游戏画面刷新率过低的问题。大家都知道,Windows桌面的刷新率通常是85Hz,至少75Hz,这样的刷新率才能产生不会出现闪烁的显示画面。但在游戏和一些大型3D软件中,会将刷新率降回60Hz,这将带来严重的画面闪烁和抖动,使用时间长了必定头昏眼花。

ATi的显卡则得升级到催化剂36版以上才有类似的选项,叫做“DirectX覆盖刷新速率”,将其设定为“与桌面相同”,即可解决游戏画面刷新率过低的问题。

在NVIDIA的显卡中一直有一项“垂直同步”的选项,通常是默认打开的。设置“垂直同步”之后,许多玩家面临一个问题,就是性能降低,譬如在CS之类的游戏中,帧速率无法超过60fps,严重影响竞技水平的发挥。这种现象对测试人员而言是常识,在测试中必须关闭“垂直同步”才不会限制显卡性能的发挥,但是关闭对游戏画面有很大的影响,是以损失画质为代价。

如何做到既保证性能,又保证舒适?问题的根源是Windows默认的游戏刷新率是60Hz。简单的解决办法是修改注册表。

1先在 开始菜单 运行 里面 输 regedit 然后确定 进入注册表。

在注册表中找到路径“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass”

3点注册表编辑里面的查找 搜寻“Monitor”键值。找到后,会发现该分支下应该有类似“0000MODESXXX,XXX”的键,XXX,XXX这就是该电脑的最大分辨率。

4右击“MODES”新建一个项。

5如果你电脑是1024X768,名称就输1024,768。如果是800X600,名称就输800X600

当然你也可以建多个分辨率的名称。

6在右边的窗口右击新建一个字符串值,名称输入Mode1

8双击“Mode1”,数值设为“85-85,85-85” 当然你也可以设为“100-100,100-100” 前提是你的显示器刷新率支持100HZ的,不要太高哦,85就是标准的了!

就是这样了,关闭注册表并重启电脑,检查显示器设置,如果发现刷新率已经改为设定的值85Hz,就说明修改成功了,进CS,画面稳定,不闪烁,也达到了85HZ,最重要的是帧速率基本稳定在85fps(注册表数值设100的话,CS里画面刷新率就达到了100HZ,帧速率可以稳定在100fps)如果你的电脑性能不行,那是先天不足,可能会有误差。

下面有几个不是默认设置,大家可以用用:

brightness "3"(明亮些,默认是1)

s_eax "1"(打开声卡的EAX,方位感更好,默认是0)

cl_cmdrate "80"(网络传输更高,只要是宽带都行,LINE甚至可以100,ADSL不行默认好像是60)

m_filter "0" (“关闭鼠标平滑”,感觉定位更准,KING在CCSK上也是这么说,默认是1)

cl_dynamiccrosshair "0"(关闭武器动画,在行进中准星不变。默认是1)

以上一点小小的改动都是在CPL的允许下的,所以更加没有什么作弊嫌疑,其中最具争议性的cl_dynamiccrosshair "0"也是CPL允许的,大家放心。不过你们可以去试试,虽然在移动中准星不变了,但是只是虚拟的,也就是说,子弹还是按照原来扩大的准星弹道来飞,只是感觉更容易瞄而已(远距离),如果碰到要压枪的时候,很难控制(近距离)。这是用了以后的一个问题,还有就是如果FPS不稳定的话,连第一枪都不准。所以dynamiccrosshair是0还是1,要看你平时的FPS稳不稳定。(稳定就0不稳定还是用1好)

1 首先,我们要改善你的游戏帧数使其达到标准在:Cs16中文版\valve\configcfg文件,然后把下面的指令加进去再改:Cs16中文版\cstrike_schinese\configcfg文件

cl_weather "0"

fps_max "150"

developer "1"

r_dynamic "1"

r_novis "0"

r_traceglow "1"

r_wateralpha "1"

r_mirroralpha "0"

r_bmodelhighfrac "50"

r_lightmap "0"

gl_max_size "256"

precache "1"

mp_decals "20"

gl_affinemodels "0"

gl_alphamin "025"

gl_clear "0"

gl_dither "1"

gl_flipmatrix "0"

gl_flashblend "0"

gl_lightholes "0"

这样在CS中就会自动调用你的这个valve\configcfg文件中内容,注意跟15不同的是如果你直接修改cstrike_schinese\configcfg文件的话,上面一些参数会在你第二次进入CS时候失效。

然后你要把垂直同步,各向异性过滤和全屏反锯齿关掉,你可以在显卡设置里面找到

本config优化了fps,我自己有时能到230多,当然和个人显卡有关!

需要改动的configcfg文件是:Cs16中文版valve下面的那个,其他的改也没用!

一、前端优化

网站性能优化是一个很综合的话题,涉及到服务器的配置和网站前后端程序等各个方面,我只是从实际经历出发,分享一下自己所尝试过的网站性能优化方法。之所以在标题上挂一个web20,是因为本文更偏重于中小网站的性能优化,我所使用的系统也是典型web20的LAMP架构。

首先讲讲前端的优化,用户访问网页的等待时间,有80%是发生在浏览器前端,特别是页面和页面中各种元素(、CSS、Javascript、flash)的下载之上。因此在很多情况下,相对于把大量的时间花在艰苦而繁杂的程序改进上,前端的优化往往能起到事半功倍的作用。雅虎最近将内部使用的性能测试工具yslow向第三方公开,并发布了著名的网站性能优化的十三条规则,建议你下载并安装yslow,并作为测评网站优化效果的工具。下面我挑其中特别有价值的具体说明一下优化的方法:

对于第一次访问您网站,尚未在浏览器cache中缓存您网站内容的用户,我们可以做的事情包括:

1)减少一个页面访问所产生的)会有利于提高浏览器并行下载网页内容的能力。

对于您网站的经常性访问用户,主要的优化思路就是最大限度利用用户浏览器的cache来减少服务器的开销。

1)在header中添加过期时间(ExpiresHeader)

在header中给静态内容添加一个较长的过期时间,这样可以使用户今后访问只读取缓存中的文件,而不会与服务器产生任何的交互。不过这样做也存在一些问题,当、CSS和js文件更新时,用户如果不刷新浏览器,就无法获得此更新。这样,我们在对、css和js文件修改时,必须要进行重命名,才能保证用户访问到最新的内容。这可能会给开发造成不小的麻烦,因为这些文件可能被站点中的许多文件所引用。flickr提出的解决办法是通过urlrewrite使不同版本号的URL事实上指向同一个文件,这是一个聪明的办法,因为url级别的操作效率是很高的,可以给开发过程提供不少便利。

要理解为什么这样做,必须要了解浏览器访问url时的工作机制:

a第一次访问url时,用户从服务器段获取页面内容,并把相关的文件(images,css,js)放在高速缓存中,也会把文件头中的expiredtime,lastmodified,ETags等相关信息也一同保留下来。

b用户重复访问url时,浏览器首先看高速缓存中是否有本站同名的文件,如果有,则检查文件的过期时间;如果尚未过期,则直接从缓存中读取文件,不再访问服务器。

c如果缓存中文件的过期时间不存在或已超出,则浏览器会访问服务器获取文件的头信息,检查lastmodifed和ETags等信息,如果发现本地缓存中的文件在上次访问后没被修改,则使用本地缓存中的文件;如果修改过,则从服务器上获取最新版本。

我的经验,如果可能,尽量遵循此原则给静态文件添加过期时间,这样可以大幅度减少用户对服务器资源的重复访问。

2)将css和js文件放在独立外部文件中引用

将css和js文件放在独立文件中,这样它们会被单独缓存起来,在访问其他页面时可以从浏览器的高速缓存中直接读取。一些网站的首页可能是例外的,这些首页的自身浏览可能并不大,但却是用户访问网站的第一印象以及导向到其他页面的起点,也可能这些页面本身使用了大量的ajax局部刷新及技术,这时可以将css和js文件直接写在页面中。

3)去掉重复的脚本

在IE中,包含重复的js脚本会导致浏览器的缓存不被使用,仔细检查一下你的程序,去掉重复引用的脚本应该不是一件很难的事情。

4)避免重定向的发生

除了在header中人为的重定向之外,网页重定向常在不经意间发生,被重定向的内容将不会使用浏览器的缓存。比如用户在访问,服务器会通过301转向到/,在后面加了一个“/”。如果服务器的配置不好,这也会给服务器带来额外的负担。通过配置apache的alias或使用mod_rewrite模块等方法,可以避免不必要的重定向。

还有一些,比如使用CDN分发机制、避免CSS表达式等、避免使用ETags等,因为不太常用,这里就不再赘述了。

做完了上述的优化,可以试着用yslow测试一下网页的性能评分,一般都可以达到70分以上了。

当然,除了浏览器前端和静态内容的优化之外,还有针对程序脚本、服务器、数据库、负载的优化,这些更深层次的优化方法对技术有更高的要求。本文的后半部分将重点探讨后端的优化。

二、后端优化

上次写完web20网站前端优化篇之后,一直想写写后端优化的方法,今天终于有时间将思路整理了出来。

前端优化可以避免我们造成无谓的服务器和带宽资源浪费,但随着网站访问量的增加,仅靠前端优化已经不能解决所有问题了,后端软件处理并行请求的能力、程序运行的效率、硬件性能以及系统的可扩展性,将成为影响网站性能和稳定的关键瓶颈所在。优化系统和程序的性能可以从以下的方面来入手:

1)apache、mysql等软件的配置的优化

尽管apache和mysql等软件在安装后使用的默认设置足以使你的网站运行起来,但是通过调整mysql和apache的一些系统参数,还是可以追求更高的效率和稳定性。这个领域中有很多专业的文章和论坛(比如:),要想掌握也需要进行深入的研究和实践,这里就不重点讨论了。

2)应用程序环境加速

这里仅以我最常应用的php开发环境为例,有一些工具软件可以通过优化PHP运行环境来达到提速的目的,其基本原理大致是将PHP代码预编译并缓存起来,而不需要改变任何代码,所以比较简单,可以将php的运行效率提升50%以上。比较常用的php加速工具有:APC(package-infophppackage=APC)、TurckMMCache()、phpaccelebrator(),还有收费的ZendPerformanceSuite

3)将静态内容和动态内容分开处理

apache是一个功能完善但比较庞大的webserver,它的资源占用基本上和同时运行的进程数呈正比,对服务器内存的消耗比较大,处理并行任务的效率也一般。在一些情况下,我们可以用比较轻量级的webserver来host静态的、样式表和javascript文件,这样可以大大提升静态文件的处理速度,还可以减少对内存占用。我使用的webserver是来自俄罗斯的nginx,其他选择方案还包括lighttpd和thttpd等。

4)基于反向代理的前端访问负载均衡

当一台前端服务器不足以应付用户访问时,通过前端机实现web访问的负载均衡是最快速可行的方案。通过apache的mod_proxy可以实现基于反向代理的负载均衡,这里推荐使用nginx做代理服务器,处理速度较apache更快一些。

5)应用缓存技术提高数据库效能,文件缓存和分布式缓存

数据库访问处理并发访问的能力是很多网站应用的关键瓶颈,在想到使用主从结构和多farm的方式构建服务器集群之前,首先应该确保充分使用了数据库查询的缓存。一些数据库类型(如mysql的innoDB)自身内置对缓存的支持,此外,还可以利用程序方法将常用的查询通过文件或内存缓存起来。比如通过php中的ob_start和文件读写函数可以很方便的实现文件形式的缓存,而如果你拥有多台服务器,可以通过memcache技术通过分布式共享内存来对数据库查询进行缓存,不仅效率高而且扩展性好,memcache技术在livejournal和Craigslistorg等知名网站应用中都得到了检验。

6)服务器运行状态的检测,找到影响性能的瓶颈所在

系统优化没有一劳永逸的方法,需要通过检测服务器的运行状态来及时发现影响性能的瓶颈,以及可能存在的潜在问题,因为网站的性能,永远取决于木桶中的短板。可以编写一些脚本来检测web服务的运行,也有一些开源的软件也提供了很好的功能

7)良好的扩展架构是稳定和性能的基础

一些技巧和窍门可以帮你度过眼前的难关,但要想使网站具备应付大规模访问的能力,则需要从系统架构上进行彻底的规划,好在很多前人无私的把他们架构

网站的经验分享给我们,使我们可以少走甚多弯路。我最近读到的两篇有启发的文章:

-从LiveJournal后台发展看大规模网站性能优化方法

-Myspace的六次重构

最后不得不提到程序编码和数据库结构对性能的影响,一系列糟糕的循环语句,一个不合理的查询语句、一张设计不佳的数据表或索引表,都足以会使应用程序运行的速度成倍的降低。培养全局思考的能力,养成良好的编程习惯,并对数据库运行机制有所了解,是提高编程质量的基础。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何给安装好Linux服务器进行优化设置和安全设置

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情