2025年Ubuntu Apache varnish 加速magento网站

Ubuntu Apache varnish 加速magento网站目录 1 安装 Varnish 2 配置文件 1 创建 etc supervisor conf d varnish conf 配置文件 2 配置 etc httpd conf httpd conf 3 配置 etc default varnish 4 导出 magento varnish 配置文件 5 应用配置 3 刷新 Magento 缓存 4

大家好,我是讯享网,很高兴认识大家。

目录

1、安装Varnish

2、配置文件

1)创建 /etc/supervisor/conf.d/varnish.conf 配置文件

 2)配置/etc/httpd/conf/httpd.conf

3)配置/etc/default/varnish

4)导出magento varnish 配置文件

5)应用配置

3、刷新Magento缓存

4、验证Varnish

5、varnish https配置(有些绕没有进行性能测试)

1)修改varnish监听端口

2)Apache配置


1、安装Varnish

sudo apt install varnish

讯享网

2、配置文件

1)创建 /etc/supervisor/conf.d/varnish.conf 配置文件

supervisor安装说明参考 supervisor 守护 ElasticSearch 进程

讯享网[program:varnish] command=/usr/sbin/varnishd -j unix,user=vcache -a :80 -T localhost:6081 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,1G -F directory=/usr/sbin/ autostart=true autorestart=true startretries=3 stopsignal=INT startsecs=10 stdout_logfile=/var/log/varnish/varnish.log stderr_logfile=/var/log/varnish/varnish.log

 2)配置/etc/httpd/conf/httpd.conf

找到Listen修改监听端口修改成8080


讯享网

注意:网站监听端口也要修改

https 443 端口添加

ProxyPreserveHost On ProxyPass / http://127.0.0.1:80/ RequestHeader set X-Forwarded-Port "443" RequestHeader set X-Forwarded-Proto "https"

3)配置/etc/default/varnish

修改监听端口为80

讯享网VARNISH_LISTEN_PORT=80

4)导出magento varnish 配置文件

STORES->Configuration->ADVANCED->System->Full Page Cache

Caching Application 选择成 Varnish Cache

点开Varnish Configuration

保留默认配置记得点 Save Config 保存,根据版本导出 Varnish配置,我用的是Varnish 6

导出会下载一个varnish.vcl文件,将文件内容复制替换主机 /etc/varnish/default.vcl 的文件内容。

注意:如果你修改过 Magento 运行目录到 pub,记得修改一下配置的路径 .url = "/pub/health_check.php"; 成 .url = "/health_check.php";

5)应用配置

sudo systemctl stop varnish sudo systemctl disable varnish service supervisor restart service httpd restart //重新启动apache

3、刷新Magento缓存

讯享网bin/magento-cli setup:config:set --http-cache-hosts=127.0.0.1 

bin/magento-cli cache:clean bin/magento-cli cache:flush

4、验证Varnish

查看 magento目录/var/page_cache 内容为空代表Varnish配置完成。

或者在magento的调试状态下用开发者工具查看Headers,其中x-Magento-Cache-Debug 为 HIT 代表Varnish已经在工作了。

注意图中magento.local是测试域名,根据实际选择

基本配置完成了

5、varnish https配置(有些绕没有进行性能测试)

 由于Varnish目前不支持https,所以用Apache Rewrite 功能实现网址装换,思路是 http 80 ->https 443 -> varnish 88 ->http 8080

1)修改varnish监听端口

 修改 /etc/supervisor/conf.d/varnish.conf 配置文件改端口为88

讯享网[program:varnish] command=/usr/sbin/varnishd -j unix,user=vcache -a :88 -T localhost:6081 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,1G -F directory=/usr/sbin/ autostart=true autorestart=true startretries=3 stopsignal=INT startsecs=10 stdout_logfile=/var/log/varnish/varnish.log stderr_logfile=/var/log/varnish/varnish.log

修改 /etc/default/varnish

VARNISH_LISTEN_PORT=88

2)Apache配置

打开 /etc/httpd/conf/httpd.conf 添加80监听端口

 

网站配置文件顶部添加80端口配置,实现http 80 -> https 443 的装换

讯享网<VirtualHost *:80> ServerAlias magento.local <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{SERVER_NAME}$1 [L,R=301] </IfModule> </VirtualHost>

修改 <VirtualHost *:443>配置,实现 https-> varnish 88

 ProxyPreserveHost On ProxyPass / http://127.0.0.1:88/ RequestHeader set X-Forwarded-Port "443" RequestHeader set X-Forwarded-Proto "https"

 

重启服务

讯享网bin/magento-cli setup:config:set --http-cache-hosts=127.0.0.1:88 sudo systemctl stop varnish sudo systemctl disable varnish service supervisor restart service httpd restart //重新启动apache

 

小讯
上一篇 2025-04-05 09:12
下一篇 2025-03-06 20:14

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/60850.html