• Apache服务器的小技巧


    A1.1 Apache模块

        在搭积木的游戏中,每块积木有不同的形状和尺寸,孩子们根据自己的想象挑选出合适的积木,搭出完整的房子。Apache的模块与此类似。每个模块提供不同的功能,用户可以根据自己的需要往Apache可执行程序中添加模块,或者从中去掉没用的模块。Apache的核心模块http_core提供了最基本的功能,没有了它,Apache什么都干不了。除了这个模块,绝大部分的模块都是可以自由取舍的。
        在众多Apache模块中,有一个引人注目的模块:mod_so。它提供了一种动态加载Apache模块的方法。有了mod_so,您不必为了添加或删除一个模块而重新编译Apache,所要做的只是修改httpd.conf的内容,然后重新启动httpd。XteamServer的Apache中只编译了http_core和mod_so两个模块,其余模块均在httpd.conf中动态加载。

    A1.2 Proxy服务设置

        Apache带有一个proxy模块。编辑配置文件httpd.conf,在关于Proxy的地方设置如下--去掉关于Proxy行前的原有的注释并做相应的修改:
        LoadModule proxy_module modules/libproxy.so
        AddModule mod_proxy.c
        <IfModule mod_proxy.c>
            ProxyRequests On
            <Directory proxy:*>
                Order deny,allow
                Deny from all
                Allow from .your_domain.com
                </Directory>
            ProxyVia On
        CacheRoot "/var/cache/httpd"
        CacheSize 102400
        CacheGcInterval 4
        CacheMaxExpire 48
        CacheLastModifiedFactor 0.1
        CacheDefaultExpire 1
        NoCache some_domain.com
        </IfModule>
        其中:
        CacheSize 102400指缓存区大小为100MB;
        CacheGcInterval 4设置Apache每4小时强制删除过时的cache文件;
        CacheMaxExpire 48设置所有缓存文件的终止时间为48小时;
        CacheLastModifiedFactor 0.1当原服务器不提供某文件过期时间时,自动推算其过期时间;
        CacheDefaultExpire 1设置所有缓存文件的缺省终止时间为1小时;
        NoCache some_domain.com指出不进行缓存的主机、域名和IP地址,之间用空格分隔;
        改变配置后,在服务器上建立Proxy所使用的Cache目录(本例中为/var/cache/httpd),并将其属性设置为可写状态(所有者为nobody,权限为755),然后重起Apache是改变的配置生效。这样在客户端的浏览器上便可以将Proxy设置为该服务器了。

    A1.3 建立基于域名的虚拟主机服务

        所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,可以将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上,而访问者只需输入公司的域名就可以访问到它想得到的主页内容。
        假设Apache服务器所在的主机的IP地址为202.202.202.202,只要在其配置文件httpd.conf中加入以下内容:
        NameVirtualHost 202.202.202.202

        <VirtualHost 202.202.202.202>
            ServerAdmin webmaster@yourdomain.com
            DocumentRoot /home/httpd/www.company1.com
            ServerName www.company1.com
            ErrorLog /var/log/httpd/www.company1.com/error.log
        </VirtualHost>
        <VirtualHost 202.202.202.202>
            ServerAdmin webmaster@yourdomain.com
            DocumentRoot /home/httpd/www.company2.com
            ServerName www.company2.com
            ErrorLog /var/log/httpd/www.company2.com/error.log
        </VirtualHost>
    ,并在服务器上创建相应的目录,然后重起Apache是改变的配置生效,就可以使用基于域名的虚拟主机服务了。

    A2 Wu-ftp服务器的小技巧

    A2.1 ftpaccess

        关于Wu-ftp所提供的功能,大部分的设定都放在/etc/ftpaccess里面。下面是一些关于该文件设置的小技巧。

        连接拒绝

        deny这个设定可以有两个作用:
        1 设定来自特定网络地址的机器不允许连接。
        2 当来自该特定网络地址的机器尝试连接时,指定显示哪个消息文件。
        这样,该使用者会知道为什么被拒绝连接。
        用法:
        deny *.somewhere.com /etc/ftpmsgs/msg.denied
        当来自*.somewhere.com的使用者连接ftp服务器时,系统将在其客户端显示文件/etc/ftpmsgs/msg.denied中的内容。可以根据需要改变该文件中的内容。

        设定同时最多允许多少人连接

        limit可以设定哪些类别的使用,在哪些时段,最多允许几个人同时连接。
        用法:
        limit all 20 Any /etc/ftpmsgs/msg.toomany
        使用者类别all,在任何时段同时最多可以有20个使用者;如果超过,后来的使用者将会被拒绝,并且系统会在其客户端显示文件/etc/ftpmsgs/msg.toomany中的内容。

        其他讯息显示的设定

        Wu-ftp可以让使用者在连线时、登录时、改变目录时分别显示不同的讯息。而这些显示讯息的来源则分别透过banner、message来指定。

        banner

        用法:
        banner /etc/ftp.banner 
        设定当使用者刚开始连上服务器时显示的讯息,通常是本主机的介绍。在文件中,可以包含一些变量,这些变量将会在显示时适当的字符串取代。列举常用的变量如下:
        %E:管理员的E-Mail地址;
        %L:主机名称;
        %M:最多允许多少使用者同时连接;
        %N:目前有多少个使用者在线;
        %T:当前时间;

        message

        用法:
        message /etc/welcome.msg login
        当使用者成功登录服务器后,Wu-ftp显示文件/etc/welcome.msg的内容作为欢迎讯息。
        用法:
        messages .message cwd=* 
        当使用者改变目录后,Wu-ftp显示该目录下的.message文件内容作为辅助说明。

    A2.2 anonymous密码的检查原则

        当Wu-ftp允许匿名登录时,密码的部份一般是输入来访者的E-Mail地址,但是我们根本无法确定来访者所输入的E-Mail地址是否有效。在这种情况下,Wu-ftp提供一个选项,由Wu-ftp检查来访者所输入的密码是否真的像是个E-Mail地址的格式(user@hostname),然后对于不太像的给予一个警告讯息,或是强制他输入正确格式的密码。
    用法:
        passwd-check rfc822 warn 
        如果密码不是E-Mail格式时,显示警告讯息,仍可登录。
        passwd-check rfc822 enforce 
        如果密码不是E-Mail格式时,请来访者重新输入。
        2Wu-ftp附带的工具
        Wu-ftp除了提供FTP服务器程序之外,同时也附带了几个小工具来让系统管理者检查目前FTP服务器的运行情况。
        ftpcount:显示目前FTP服务器的使用者数目。
        ftpwho:显示目前FTP服务器的使用者连线情况,类似ftpcount,但信息更加详细一些。

  • 相关阅读:
    定位公众号页面,跳转之后 vuejs 失效问题
    Java发展前景与职业方向解析
    Java中BIO,NIO,AIO的理解
    Java中最常见的十道面试题
    java策略模式
    细思极恐-你真的会写java吗?
    Java中最常见的十道面试题
    细思极恐-你真的会写java吗?
    如何突破 Java 程序员的分水岭
    35 个 Java 代码性能优化总结
  • 原文地址:https://www.cnblogs.com/daxia/p/246868.html
Copyright © 2020-2023  润新知