性能大爆炸!为你的Matomo换一个高性能的环境!

随着我的 Matomo 越来越大,功能需求的增多,插件也变得越来越多,使用传统的LNMP架构或者LAMP架构都会发现性能正在急剧下级,为此,我们发现了使用FrankenPHP(以下简称FPHP)的方案

首先,我们需要准备一个服务器,腾讯云,阿里云等均可,建议选择支持试用或者 7 天无理由退款的,这里以雨云为例,优惠码填 wp-admin 并且绑定微信后会获得 WordPress 建站礼包

首先我们来到雨云官网,点击右上角的登陆/注册按钮

image 1714995799

性能大爆炸!为你的Matomo换一个高性能的环境! 16

在新的页面中,点击“暂无账号?点击注册”

image 1714995876

性能大爆炸!为你的Matomo换一个高性能的环境! 17

随后输入用户名和密码注册即可,如果你如下图显示“正在使用优惠通道注册,现在注册立享专属优惠!”,那么您大概率已经使用了一个优惠码,如果没有这行,会出现一个优惠码的输入框,输入wp-admin即可

image 1714995922

性能大爆炸!为你的Matomo换一个高性能的环境! 18

注册完成后就可以购买服务器了,新手建议先试用一台服务器,可以选择香港3区【点击查看:雨云香港三区2h4g服务器测评】,如果预算不是很充足,可以选择便宜一些的美国2区优化线路【点击查看:雨云1h1g洛杉矶二区云服务器测评】,如果有大带宽的需求并且不是很在意线路延迟,可以选择美国1区的大带宽【点击查看:雨云2h4g洛杉矶一区云服务器测评】

在购买服务器前,可以先点击试用,可以 1 元试用(其实是 0 元,因为试用结束后会退还 1 元)大部分产品(某些产品有 1 元,3 元,5 元试用,对应不同配置)

但是需要注意的是,试用机一定要确定好准备长久使用再续费,因为试用机一旦续费后是不能像直接购买那样子退订(全额退款)的

image 1714827384

性能大爆炸!为你的Matomo换一个高性能的环境! 19

雨云默认提供了很多系统和预装APP的选项,但是系统中存在探针,如果不希望被探针监视可以自己把系统DD一遍

image 1714827574

性能大爆炸!为你的Matomo换一个高性能的环境! 20

购买/试用完成后等待 1 分钟左右服务器就创建好了,对于 Linux 系统的连接方法是使用 SSH 客户端,当然,如果你不想下载任何程序,雨云提供了 WebSSH 的功能,只需要先进入服务器管理页

image 1715125695

性能大爆炸!为你的Matomo换一个高性能的环境! 21

随后点击左上角的“远程连接(VNC)”,在弹出的选项中选择第一个 “Xtermjs 模式”

image 1715125655

性能大爆炸!为你的Matomo换一个高性能的环境! 22

在新弹出的窗口中敲几下回车即可看到有提示让输入用户名

image 1715125809

性能大爆炸!为你的Matomo换一个高性能的环境! 23

这时候我们输入“root”后回车,会让我们输入密码,如果你没有手动更改密码,直接从服务器管理面板的“远程连接”板块中复制即可

image 1715125869

性能大爆炸!为你的Matomo换一个高性能的环境! 24

随后需要使用组合键“Ctrl Shift V”(先按 Ctrl,再按 Shift,最后按 V)把密码粘贴进去,因为 Linux 粘贴使用的是“Ctrl Shift V”而不是 Windows 的“Ctrl V”

粘贴密码后不会显示任何内容,因为 Linux 输入密码时一般是没有回显的,也就是输入了内容不会显示任何东西,包括星号“*”,所以粘贴密码后直接回车即可

image 1715126094

性能大爆炸!为你的Matomo换一个高性能的环境! 25

出现“root@xxxxxxxxx”的提示就代表登陆成功了,接下来按照教程一行命令一行命令的复制粘贴即可

部署网站

我们使用以下命令来安装数据库和gpg工具

 

apt install mariadb-server gpg

image 1716521183

性能大爆炸!为你的Matomo换一个高性能的环境! 26

出现类似提示什么都不用管,直接通过 Tab 键切换到ok上面回车即可

首先,我们的网站运行在/var/www下,可自行修改

 

mkdir -p /var/www

下载最新的Matomo安装包

 

wget https://builds.matomo.org/matomo-latest.tar.gz

image 1716519147

性能大爆炸!为你的Matomo换一个高性能的环境! 27

如果在下载的时候由于网络原因导致了下载中断,可以在wget后加入-c参数从断点继续下载

验证安装包

 

wget -q https://builds.matomo.org/matomo-latest.tar.gz.asc

gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys F529A27008477483777FC23D63BB30D0E5D2C749

gpg --verify matomo-latest.tar.gz.asc

image 1716519257

性能大爆炸!为你的Matomo换一个高性能的环境! 28

有Good signature的提示说明安装包没有损坏或者被篡改,可以安全使用

确认无误后就可以开始解压安装了

 

tar -xf matomo-latest.tar.gz -C /var/www "matomo/"

数据库

 

mysql_secure_installation

执行此命令后会进入配置向导,根据提示设置密码和安全选项即可

image 1716521727

性能大爆炸!为你的Matomo换一个高性能的环境! 29

设置完成后会出现

Thanks for using MariaDB!
 

mysql --execute="CREATE DATABASE matomo; GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost' IDENTIFIED BY 'QMdPjtRDVrHnv1f3DMa6' WITH GRANT OPTION; FLUSH PRIVILEGES;"

注意:QMdPjtRDVrHnv1f3DMa6是密码,请替换为一个新的随机数或者一个不易被破解的字符串

FPHP

 

wget -q -O- 'https://gorbe.io/assets/docs/frankenphp/install/frankenphp-install.sh' | bash -x -

chown -R frankenphp:frankenphp /var/www/matomo/

在这个环境中,我们使用的Web服务器是Caddy

 

nano /etc/frankenphp/Caddyfile

比起nano,我更喜欢vim,所以我使用vim来进行编辑

 

vim /etc/frankenphp/Caddyfile

在文件中的花括号内加上以下内容,请将matomo.example.com更改为你自己的域名

 

{

frankenphp

order php_server before file_server

servers matomo.example.com {

trusted_proxies static 127.0.0.1

}

}

matomo.example.com {

@private-dirs {

path /config/*

path /tmp/*

path /lang/*

}

respond @private-dirs 403 {

close

}

root * /var/www/matomo

php_server

}

保存退出后重启一下FPHP服务

 

systemctl restart frankenphp

Caddy会自动完成SSL的相关设置,直接访问域名进入安装阶段即可

image 1716523699

性能大爆炸!为你的Matomo换一个高性能的环境! 30

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android kotlin协程

说明 可代替线程整异步可控制,灵活 (控制优先级,内存占用等)速度快 效率高有数量上限 使用 runBlocking 一般用于测试 不建议使用GlobalScope.launch 全局的 生命周期跟随application 不建议使用CoroutineScope(job) 用 基本使…

樱花下落的速度是每秒5厘米,我们的心又该以什么速度去接近呢

樱花下落的速度是每秒五厘米。5年前第一次接触秒速五厘米的时候,我还在念初中,那时候的我尚且理解不了作品里的太多东西,只是为那辆列车隔开了明里和贵树感到悲伤,为他们二人那段无疾而终的感情感到遗憾。五年后再一次重温&#x…

GEE批量导出逐日、逐月、逐季节和逐年的遥感影像(以NDVI为例)

影像导出 1.逐日数据导出2.逐月数据导出3.季节数据导出4.逐年数据导出 最近很多小伙伴们私信我,问我如何高效导出遥感数据,从逐日到逐季度,我都有一套自己的方法,今天就来和大家分享一下!   🔍【逐日导出…

Scala 入门介绍和环境搭建

一、简介 Scala 是一门以 Java 虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言 (静态语言需要提前编译,如:Java、c、c 等,动态语言如:js)Scala 是一门多范式的编程…

【介绍下Pwn,什么是Pwn?】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

CSS3文字与字体

文字与字体 @font-face 用途:定义一种自定义字体,使其可以在网页中使用。通过@font-face规则,可以指定字体名称、来源(通常是URL)以及字体的各种变体(如常规、粗体、斜体等)。 @font-face {font-family: MyCustomFont;src: url(mycustomfont.woff2) format(woff2

冯喜运:5.25黄金价格和原油价格加速看跌?未来如何走势?

【黄金消息面分析】:本周黄金市场经历剧烈波动,金价创下五个半月来最糟糕的单周表现,尽管周五因美元下跌小幅回升。美联储的鹰派立场和美国经济数据强劲削弱了降息预期,导致金价承压。然而,分析师对未来金价走势看法不…

Rolla‘s homework:Image Processing with Python Final Project

对比学习Yolo 和 faster rcnn 两种目标检测 要求 Image Processing with Python Final Project Derek TanLoad several useful packages that are used in this notebook:Image Processing with Python Final Project Project Goals: • Gain an understanding of the object …

leetcode 1049.最后一块石头的重量II

思路:01背包 其实这道题我们可以转化一下,乍一看有点像区间dp,很像区间合并那种类型。 但是,后来发现,这道题的精髓在于你如何转成背包问题。我们可以把这个石头分成两堆,然后求出来这两堆的最小差值就行…

使用git生成SSH公钥,并设置SSH公钥

1、在git命令行里输入以下命令 ssh-keygen -t rsa 2、按回车,然后会看到以下字眼 Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa) 例: 3、继续回车,然后会看到以下字眼 Enter…

【面试干货】数据库乐观锁,悲观锁的区别,怎么实现

【面试干货】数据库乐观锁,悲观锁的区别,怎么实现 1、乐观锁,悲观锁的区别2、总结 💖The Begin💖点点关注,收藏不迷路💖 1、乐观锁,悲观锁的区别 悲观锁(Pessimistic Lo…

web前端框架设计第十课-组件

web前端框架设计第十课-组件 一.预习笔记 组件:Vue最强大的功能之一 1.局部组件注册 注意事项:template标签中只能有一个根元素 2.全局组件的注册 注意事项:组件名的大小写需要注意(实践) 3.案例(查询框…

Vivado 使用教程(个人总结)

Vivado 是 Xilinx 公司推出的一款用于 FPGA 设计的集成开发环境 (IDE),提供了从设计输入到实现、验证、调试和下载的完整流程。本文将详细介绍 Vivado 的使用方法,包括项目创建、设计输入、约束文件、综合与实现、仿真、调试、下载配置等步骤。 一、创建…

设计模式--责任链模式

责任链模式是一种行为设计模式,它允许将请求沿着处理者链进行发送。请求会沿链传递,直到某个处理者对象负责处理它。这种模式在许多应用场景中非常有用,例如在处理用户输入、过滤请求以及实现多级审核时。 应用场景 处理用户输入&#xff1…

kafka之consumer参数auto.offset.reset

Kafka的auto.offset.reset 参数是用于指定消费者在启动时如何处理偏移量(offset)的。这个参数有三个主要的取值:earliest、latest和none。 earliest: 当各分区下有已提交的offset时,从提交的offset开始消费&#xff1b…

HCIP-VLAN综合实验

一、实验拓扑 二、实验要求 1、pc1和pc3所在接口为access;属于vlan 2; PC2/PC4/PC5/PC6处于同一网段’其中PC2可以访问PC4/PC5/PC6; PC4可以访问PC6;PC5不能访问PC6; 2、PC1/PC3与PC2/PC4/PC5/PC6不在同一个网段; 3、所有PC通过DHCP获取IP…

栈和队列的应用-计算器实例

‘’‘ (11 3) 2 -5 顺序存储栈来实现 ’‘’ sqstack.h #ifndef SQSTACK_H__ #define SQSTACK_H__ #define MAXSIZE 32 typedef int datatype typedef struct node_st {datatype data[MAXSIZE]; int top;}sqstack;sqstack *st_create(void); int s…

闲话 .NET(5):.NET Core 有什么优势?

前言 .NET Core 并不是 .NET FrameWork 的升级版,它是一个为满足新一代的软件设计要求而从头重新开发的开发框架和平台,所以它没有 .NET FrameWork 的历史包袱,相对于 .NET FrameWork,它具备很多优势。 .NET Core 有哪些优势&am…

智算中心带宽漫谈 -- 开篇

隐秘的角落 带宽对高性能计算是一个永恒的话题,本质上,带宽即数据交换的速率,单位时间的传输数据越多,带宽就越高,但对高性能计算来说,对高带宽的渴求永无止境,好比宏观现实世界中的车道&#…

QT实现线程的四种方式(QThread、QRunnable和QThreadPool、QObject、QtConcurrent)

在当今高性能计算需求日益增长的背景下,多线程编程已成为提升应用性能的重要手段。Qt框架,作为一个功能全面、跨平台的C++应用程序开发工具包,为我们提供了多种多线程实现方案。本文将介绍QThread类在Qt多线程编程中的应用,以及如何通过QRunnable和QThreadPool、QObject的m…