Apache的裁剪

转载自http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=165485

决定为自己的apache减肥。ok现在就开始吧
系统平台:redhat7.3
软件版本:apache_1.3.28.tar.gz
安装的模块:core,access,alias,auth,dir,log_config,mime
说明
core模块就不用多说。一定是要的,不要也不行
1、虚拟目录的实现Alias  mod_alias  [Alias,ScriptAlias]
2、基于客户端hostname,ip的访问控制 mod_access [Allow,Deny,Order]
3、基本的用户认证  mod_auth  [AuthUserFile,AuthGroupFile]
4、自定义的访问日志 mod_log_config [LogFormat,CustomLog]
5、默认的主页  mod_dir[DirectoryIndex]
6、可以定义的character set, content- encoding, handler,content-language和MIME mod_mime

apache的安装。决定要安装的模块实际的安装过程是简单的
./configure --prefix=/www/apache --disable-module=all \
--enable-module=alias \
--enable-module=access --enable-module=auth \
--enable-module=log_config \
--enable-module=dir --enable-module=mime
make
make install

查看安装的模块/www/apache/bin/httpd -l
Compiled-in modules:
  http_core.c
  mod_log_config.c
  mod_mime.c
  mod_dir.c
  mod_alias.c
  mod_access.c
  mod_auth.c

最后让我们看看安装了这些模块具体到配置文件中是怎样使用的
配置文件举例
# =================================================
# Basic settings
# =================================================
ServerType standalone
ServerRoot "/usr/local/apache"
PidFile /usr/local/apache/logs/httpd.pid
ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
ResourceConfig /dev/null
AccessConfig /dev/null

# =================================================
# Performance settings
# =================================================
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 0

# =================================================
# Apache's modules
# =================================================
ClearModuleList
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_dir.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_alias.c
# =================================================
# General settings
# =================================================
Port 80
User apache
Group apache
ServerAdmin Webmaster@www.abc.com
UseCanonicalName Off
ServerSignature Off
HostnameLookups Off
ServerTokens Prod
;
#——————————————
###mod_dir模块
#----------------------------------
    DirectoryIndexindex.html
;
DocumentRoot "/www/vhosts"

# =================================================
# Access control
#
#mod_access 模块
=================================================
;
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
;
;
    Order allow,deny
    Allow from all
;
;
    Order allow,deny
    Allow from all
;

#==========================================
#basic auth
#
#mod-auth模块
#=========================================
;
    AuthType Basic
    AuthName "基本的用户认证"
    AuthUserFile/www/apache/passwd/passwords
    Require user zhangshanlisi
  ;
# =================================================
# MIME encoding
#
#mod_mime模块
=================================================
;
    TypesConfig/usr/local/apache/conf/mime.types
;
DefaultType text/plain
;
    AddEncoding x-compressZ
    AddEncoding x-gzip gztgz
    AddType application/x-tar.tgz
;

# =================================================
# Logs
#
#log_config模块
=================================================
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>;s %b \"%{Referer}i\"\"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>;s %b" common
LogFormat "%{Referer}i ->; %U" referer
LogFormat "%{User-agent}i" agent
ErrorLog /usr/local/apache/logs/error_log
CustomLog /usr/local/apache/logs/access_log combined

# =================================================
# Virtual hosts
# =================================================
NameVirtualHost *
;
       DocumentRoot "/www/vhosts/www.abc.com"
       ServerName "www.abc.com"
       ErrorLog logs/www.abc.com/error_log
       CustomLog logs/www.abc.com/access_logcombined
#=====================================================
#虚拟目录
#
#mod-alias模块
#=====================================================
       Alias /icons//www/vhosts/icons/
;
;
       DocumentRoot"/www/vhosts/www.chinaunix.com"
       ServerName "www.chinaunix.com"
       ErrorLog logs/www.chinaunix.com/error_log
       CustomLog logs/www.chinaunix.com/access_logcombined
;


配置文件中都标出了每个模块的使用方法。这里就不多说。希望喜欢“苗条”的同志赶快行动起来吧。最后不要忘了把你的瘦身方案拿出来大家分享
Apache Commons Imaging是一个流行的开源库,用于处理各种图像文件格式,并提供了一些方便的功能,包括图片裁剪。在Java中,你可以使用它来裁剪图片。这里是一个简单的示例: ```java import org.apache.commons.imaging.ImageIO; import org.apache.commons.imaging.util.IoUtils; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class ImageCropExample { public static BufferedImage cropImage(File source, Point2D destPoint, int width, int height) throws IOException { File croppedFile = new File(source.getName() + "_cropped.jpg"); BufferedImage originalImage = ImageIO.read(source); int x = (int) destPoint.getX(); int y = (int) destPoint.getY(); int srcWidth = originalImage.getWidth(); int srcHeight = originalImage.getHeight(); // 裁剪边界校验 if (x < 0 || y < 0 || x > srcWidth - width || y > srcHeight - height) { throw new IllegalArgumentException("Invalid cropping coordinates"); } BufferedImage croppedBufferedImage = originalImage.getSubimage(x, y, width, height); try (ImageOutputStream outputStream = ImageIO.createImageOutputStream(croppedFile)) { ImageIO.write(croppedBufferedImage, "jpg", outputStream); } return croppedBufferedImage; } public static void main(String[] args) { try { BufferedImage croppedImage = cropImage(new File("source.jpg"), new Point2D.Float(50f, 75f), 200, 150); // 对裁剪后的图片做进一步操作... } catch (IOException e) { e.printStackTrace(); } } } ``` 这个例子中,我们首先读取源图片,然后指定裁剪点和尺寸来创建一个新的`BufferedImage`对象,最后将裁剪后的图像保存到新的文件中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值