科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道linux代理服务器的架设

linux代理服务器的架设

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在中等网吧里(70台机器),能减少6成的流量,速度快,可以把本来超时的网页打开,有下载文件大小的限制,如容许客户下载2m以下的文件,有用户访问网站列表,可以对浏览的网站进行控制。

作者:巧巧读书 来源:巧巧读书 2008年6月27日

关键字: 网吧 网吧组网 网吧服务器架设

  • 评论
  • 分享微博
  • 分享邮件

  在中等网吧里(70台机器),能减少6成的流量,速度快,可以把本来超时的网页打开,有下载文件大小的限制,如容许客户下载2m以下的文件,有用户访问网站列表,可以对浏览的网站进行控制,可设置的项目有200多,优点以后慢慢说(列表文件如果需要可以给我发邮件sohuc@hotmail)

  硬件要求

  cpu100M

  内存64m

  硬盘2G推荐scsi,这个可以减少I/O的瓶颈现象

  网卡知名品牌

  redhat7.2

  1安装

  cd-rom安装

  用cd-rom启动计算机,系统提示boot:

  这是有5种选择

  1按回车开始正常安装

  2在提示引导输入"text”,进行安装和引导用文本式菜单。

  3引导后有键入"expert”使用专家用户模式进行安装升级,专家模式不会自动探测硬件,需自己选择硬件配置

  4在提示后键入"rescue”是急就模式,需要急救盘

  5在提示后键入"dd”使用驱动盘进行系统升级

  注:急救盘制作

  (1)把redhat光盘和1.44的软盘分别放入驱动器中

  (2)在光盘符下/dosutild/rawrite.exe运行后显示以下信息

  Enterdiskimagesourefilename

  Pleaseinsertaformatteddiskette

  intodriveA:andpresstheenterkey

  输入需要制作的映像文件。

  如:制作启动盘imageoot.img

  制作急救盘imageesuce.img

  (3)rawrite显示如下信息

  Entertargetdiskettedrive

  (4)输入软盘驱动器的名称如a:

  2选择语言,键盘,和安装方法

  系统默认语言是"英语”,按回车键,下一屏是键盘类型,默认的是英文,按回车,系统显示欢迎界面。

  3选择安装类型

  安装程序定制了四种安装类型选择workstaion<工作站>,Serversystem<服务器系统>Customsystem

  <定制系统>UpgradeExistingInstall<升级现有系统>

  工作站需要硬盘600m以上硬盘空间。这里面含/swap32m<交换分区>/boot16m提高给内核和有关文件的分区

  服务器需要硬盘2g以上的硬盘空间,比工作站多了/usr的用户分区/var查询和日志分区/home用户的根目录

  请选择服务器安装。进行下一步

  4命名服务器,例如

www.sohupc.com

  选择鼠标,配置时钟,设置root口令

  创建可选用户

  选择软件进行安装

  里面提供了adsl宽带拨号程序,apachewww的服务器,ftp文件传送协议,squidweb缓存代理服务器,nat等,可以根据自己的需要选择

  二装squid服务(web服务器)

  做为眼下最流行的操作系统,linux已经越来越受到世人的关注。虽然目前linux的软件还不是很丰富,替代windows作为普通pc机操作系统还为时过早,但是在服务器领域,linux的稳定性,可操作性决不输于任何操作系统,并且也有优秀的软件支持。squid就是其中之一。linux加squid的组合做为代理服务器,性能远远超过winnt加msproxy2.0(个人观点),为几百人的小型局域网代理绰绰有余。

  下面,我就详细的介绍squid的安装及使用技巧,希望大家能够喜欢上它。

  1.squid简介

  squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向squid发出一个申请,要squid替它下载,然后squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,squid把保存的备份立即传给用户,使用户觉得速度相当快。目前,squid可以代理http,ftp,gopher,ssl和wais协议,暂不能代理pop,nntp等协议。不过,已经有人开始修改squid,相信不久的将来,squid能够代理这些协议。

  squid能够缓存任何数据吗?不是的。象缓存信用卡帐号、可以远方执行的scripts、经常变换的主页等是不合适的也是不安全的。squid可以自动的进行处理,你也可以根据自己的需要设置squid,使之过滤掉你不想要的东西。

  squid可以工作在很多的操作系统中,如aix,digitalunix,freebsd,hp-ux,irix,linux,netbsd,nextstep,sco,solaris,os/2等,也有不少人在其他操作系统中重新编译过squid。

  squid对硬件的要求是内存一定要大,不应小于128m,硬盘转速越快越好,最好使用服务器专用scsi硬盘,处理器要求不高,400mh以上既可。

  2.squid的编译和运行

  其实现在的linux发行套件中基本都有已经编译好的squid,你所作的就是安装它既可。如果你手头没有现成的编译好的squid或想使用最新的版本,去ftp:squid.nlanr.net下载一份,自己编译。

  squid的编译是非常简单的,因为它基本上是自己配置自己。最容易出现的问题是你的系统上没有合适的编译器,这可以通过安装相应的编译器解决。如果出现其他问题,你可以问一下有经验的用户或到相应的邮件列表寻找帮助。

  编译squid之前,最好建一个专门运行squid的用户和组。我就在自己的服务器上建了一个名为squid的用户和组,用户目录设为/usr/local/squid。然后su为用户squid并从squid.nlanr.net下载squid的源文件到目录/usr/local/squid/src中,用如下命令进行解压:

  %tarxzfsquid-2.0.release-src.tar.gz

  %cd/usr/local/squid/src/squid-*.*.release/

  %./configure

  %make

  %makeinstall

  第一个命令在目录/usr/local/squid/src中产生一个新的子目录/squid-*.*.release/。命令./configure会自动查询你的系统配置情况以及你系统中使用的头文件。不加参数的./configure会把squid安装在目录/usr/local/squid中,如果你想使用其他目录,用如下命令./configure--prefix=/some/other/directory,这会把squid安装在目录/some/other/directory中。

  make命令编译squid,makeinstall命令安装squid。

  不出意外的话,目录/usr/local/squid中会出现如下目录:

  /bin

  /cache

  /etc

  /logs/

  /src(自己创建的)

  目录/bin中含有squid可执行程序,包括squid本身,ftpget等。

  目录/cache包含squid缓存的数据,其中包含象/00//01//02/以及/03/这样的目录,这些目录中还有子目录,因为目录多了比在一个目录成千上万的文件中寻找一个文件更容易,速度更快。

  目录/etc中包含squid的唯一的配置文件squid.conf。

  目录/logs中包含squid的日志。

  3.squid.conf文件的配置

  在安装squid后,在目录/usr/local/squid/etc中会自动产生一个样本squid.conf文件,文件中对每一个选项都有详细的说明,用户可以通过修改该文件以满足不同的需要。

  总的来说,有如下几个重要选项:

  ·http_port:设定squid监听的端口,你最好设一个比较好记的端口号,以便在进行客户机配时容易记住。我的机器上端口号设的是8080。缺省为3128。

  ·cache_mem:设定squid占用的物理内存,根据我的经验,cache_mem的大小不应超过你的服务器物理内存的三分之一,否则将会影响机器的总体性能。

  ·maximum_object_size:设定squid可以接收的最大对象的大小。squid缺省值为4m,我自己入认为太大,你可以根据自己的需要进行设定。

  ·cache_dir:设定缓存的位置、大小。一般看起来形式如下"cache_dir/usr/local/squid/cache10016256”。/usr/local/squid/cache代表缓存的位置;100代表缓存最大为100m;16和256代表一级和二级目录数。

  ·cache_effective_user:设定使用缓存的有效用户。缺省为用户nobody,如果你的系统中没有用户nobody,最好建一个或以非root用户运行squid。

  下面我给出一个最简单的squid.conf文件:

  #squid.conf-averybasicconfigfileforsquid

  #turnloggingtoit‘slowestlevel

  debug_optionsall,1

  #definesagroup(oraccesscontrollist)thatincludesallipaddresses

  aclallsrc0.0.0.0/0.0.0.0

  #defineramused

  cache_mem32m

  #definesthecachesize

  cache_dir/usr/local/squid/cache10016256

  #allowallsitestouseconnecttousviahttp

  http_accessallowall

  #allowallsitestouseusasasibling

  icp_accessallowall

  #testthefollowingsitestocheckthatweareconnected

  dns_testnamesinternic.netusc.educs.colorado.edumit.eduyale.edu

  #runasthesquiduser

  cache_effective_usersquidsquid

  这个配置文件允许所有人使用squid,创建了100m缓存,使用32m内存,在缺省位置"/usr/local/squid/cache"缓存数据,所有缓存数据以组squid和用户squid身份保存,端口为3128。虽然这个配置很不安全,但是它已经能使用了。

  4.运行squid

  首先以root身份登陆。运行如下命令:

  %/usr/local/squid/bin/squid–z

  该命令会产生squid所有的缓存目录。

  如果你想前台执行squid,接着执行命令:

  %/usr/local/squid/bin/squid-ncd1

  该命令正式启动squid。如果一切正常,你会看到一行输出readytoserverequests.

  如果想后台运行squid,把它做为一个精灵进程,执行命令:

  %/usr/local/squid/bin/squid

  观察squid是否运行使用命令:

  %squid-kcheck

  输出会告诉你squid的当前状态。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章