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