ubuntu

Ubuntu Apache配置中如何优化静态资源

小樊
38
2025-05-24 13:10:29
栏目: 智能运维

在Ubuntu系统中,Apache是常用的Web服务器软件。为了优化静态资源的加载速度和性能,可以采取以下措施:

1. 启用压缩

启用Gzip压缩可以显著减少传输的数据量。

sudo a2enmod deflate

编辑/etc/apache2/apache2.conf/etc/apache2/mods-enabled/deflate.conf文件,添加以下内容:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>

2. 启用缓存

使用Apache的缓存模块可以减少对后端服务器的请求。

启用mod_cache和mod_cache_disk

sudo a2enmod cache
sudo a2enmod cache_disk

编辑/etc/apache2/apache2.conf或创建一个新的配置文件(例如/etc/apache2/conf-available/cache.conf),添加以下内容:

<IfModule mod_cache.c>
    <IfModule mod_cache_disk.c>
        CacheRoot /var/cache/apache2/mod_cache_disk
        CacheEnable disk /
        CacheDirLevels 2
        CacheDirLength 1
    </IfModule>
</IfModule>

然后启用配置:

sudo a2enconf cache

3. 配置静态文件缓存

为静态文件设置缓存头,可以进一步优化性能。

编辑/etc/apache2/sites-available/your-site.conf(替换your-site.conf为你的站点配置文件),添加以下内容:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
</IfModule>

4. 启用KeepAlive

KeepAlive允许在一个TCP连接上发送多个请求和响应,减少连接建立的开销。

编辑/etc/apache2/apache2.conf/etc/apache2/sites-available/your-site.conf,添加以下内容:

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

5. 优化MIME类型

确保Apache正确识别和提供静态文件的MIME类型。

编辑/etc/mime.types文件,确保包含以下内容:

types-config mime.types

6. 启用SSL/TLS

使用HTTPS可以加密数据传输,提高安全性。

安装SSL证书

sudo apt-get install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com

按照提示完成SSL证书的安装和配置。

7. 调整日志级别

减少不必要的日志记录可以减轻服务器的负担。

编辑/etc/apache2/apache2.conf,将日志级别调整为warn

LogLevel warn

8. 重启Apache

完成上述配置后,重启Apache以应用更改:

sudo systemctl restart apache2

通过这些优化措施,可以显著提高Ubuntu系统中Apache服务器的静态资源加载速度和性能。

0
看了该问题的人还看了