Magento2.4 从安装到配置Varnish Magento2.4安装教程 命令 安装 部署


1、安装varnish

Ubuntu:

sudo aptitude update && sudo aptitude install varnish

CentOS:

yum update && yum install varnish

验证:

varnishd -V

2、修改服务器软件侦听端口

原因:varnish需要侦听80端口提供高速的缓存页面数据来更快响应请求,Magento太慢,默默退居二线为Varnish提供数据。

我服务器软件的侦听端口都改成了79,退居二线默默为varnish提供支持。

apache修改httpd.conf文件的listen 80 为listen 79

3、修改默认的Varnish配置

要修改Varnish系统配置,请执行以下操作:

以具有root特权的用户身份,在文本编辑器中打开Vanish配置文件:

CentOS 6: /etc/sysconfig/varnish

CentOS 7: /etc/varnish/varnish.params

Debian: /etc/default/varnish

Ubuntu: /etc/default/varnish

找不到就直接跳过修改

sudo vim /lib/systemd/system/varnish.service

将Varnish侦听端口设置为80:

VARNISH_LISTEN_PORT=80

对于Varnish 4. *,请确保DAEMON_OPTS包含该-a参数的正确侦听端口(即使VARNISH_LISTEN_PORT设置为正确的值):

DAEMON_OPTS="-a :80 \

   -T localhost:6082 \

   -f /etc/varnish/default.vcl \

   -S /etc/varnish/secret \

   -s malloc,256m"

针对Ubuntu15+

sudo vim /lib/systemd/system/varnish.service

找到ExecStart修改其默认启动端口。

sudo systemctl daemon-reload


将所做的更改保存到Varnish配置文件中,然后退出文本编辑器。


4、修改 default.vcl规则

(1)本节讨论如何以最少的配置,让Varnish返回HTTP响应。这样,您可以在配置Magento使用Varnish之前验证Varnish的工作原理。

要最小化配置Varnish:

备份default.vcl:

cp /etc/varnish/default.vcl /etc/varnish/default.vcl.bak

/etc/varnish/default.vcl在文本编辑器中打开。

vim /etc/varnish/default.vcl

找到以下节:

backend default {

    .host = "127.0.0.1";

    .port = "80";

}

用.host完全限定的主机名或IP地址以及Varnish 后端或原始服务器的侦听端口替换的值;也就是说,提供内容Varnish的服务器将加速。

通常,以下是您的Web服务器信息在varnish中的配置。

将值替换为.port Web服务器的侦听端口(在本示例中为8080)。

示例:Apache安装在主机192.0.2.55上,Apache正在侦听端口8080:

backend default {

    .host = "192.0.2.55";

    .port = "8080";

}

提示:如果Varnish和Apache在同一主机上运行,建议您使用IP地址或主机名而非localhost。

将更改保存到default.vcl并退出文本编辑器。

重新启动varnish :

service varnish restart

如果Varnish无法启动,请尝试从命令行运行它,如下所示:

varnishd -d -f /etc/varnish/default.vcl

这应该显示错误消息。


(2)验证Varnish是否正常工作:

以下各节讨论如何验证Varnish是否可以正常工作,而无需配置Magento来使用它。在配置Magento之前,您应该尝试此操作。

按照显示的顺序执行以下各节中讨论的任务:

开始varnish 

输入 service varnish start

如果Varnish无法作为服务启动,请按如下所示从命令行启动它:

       启动Varnish CLI:

varnishd -d -f /etc/varnish/default.vcl

      启动Varnish子进程:

      出现提示时,输入 start

      显示以下消息以确认成功启动:

      child (29805) Started

      200 0

       Child (29805) said

       Child (29805) said Child starts

检测Varnish网络

netstat

登录到Varnish服务器并输入以下命令:

netstat -tulpn|grep varnishd

netstat -tulpn|grep httpd

特别查找以下输出:

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      32614/varnishd

tcp        0      0 127.0.0.1:58484             0.0.0.0:*                   LISTEN      32604/varnishd

tcp        0      0 :::8080                     :::*                        LISTEN      26822/httpd

tcp        0      0 ::1:48509                   :::*                        LISTEN      32604/varnishd

上图显示了在端口80上运行的Varnish和在端口8080上运行的Apache。

如果看不到的输出varnishd,请确保Varnish正在运行。


5、配置Magento支持varnish

store->setting->configuration->advanced->system->full page cache->caching application->varnish


提示:保存后可导出配置!

varnish备份

cp /etc/varnish/default.vcl /etc/varnish/default.vcl.bak2

Magento规则替换varnish规则

cp <download_directory>/default.vcl /etc/varnish/default.vcl

重启varnish

systemctl daemon-reload
service varnish restart

验证是否全页缓存成功

rm -rf <magento_root>/var/page_cache/*

检查浏览器doc的加载时间一般几毫秒,以及缓存目录是否还会生成全页缓存,如果没有生成,那么成功!

最后于 15天前 被admin编辑 ,原因:

微蓝网际编程论坛- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与微蓝网际编程论坛立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin微蓝网际编程论坛享有帖子相关版权。
3、微蓝网际编程论坛管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin微蓝网际编程论坛的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。


上一篇:Linux安装ElasticSearch报错解决:could not find java in bundled jdk at
下一篇:ElasticSearch:{"root_cause":[{"type":"master_not_discovered_exception","reason":null
快速回复
站长:秋枫雁飞 AI微蓝网管理员!有问题请发消息给我!
最新回复 (0)
只看楼主
全部楼主
    • 微蓝网际编程论坛
      2
          
返回
免责声明:本站部分内容来源于网络,若有侵权请及时通知(aiweline@qq.com),我们会及时处理。