以root用户运行php-fpm

在开发环境中,为了避免文件权限带来的问题,可以将php-fpm的运行用户设为root. 但在默认情况下,直接修改php的运行用户为root,重启php-fpm进程后会报错 ERROR: [pool www] please specify user and group other than root [26-Jun-2014 00:39:07] ERROR: FPM initialization failed 通过查看php-fpm的文档得知,如果要以root用户运行,需要加上特定参数 # php-fpm --help ... -R, --allow-to-run-as-root Allow pool to run as root (disabled by default) 如何添加这一参数: 找到 php-fpm.service , 可以使用命令 find / -name php-fpm.service 添加参数 ExecStart=/usr/sbin/php-fpm --nodaemonize -R 重启php-fpm. systemctl restart php-fpm 注意,切勿在正式环境中使用root来运行php-fpm Warning: php-fpm.service changed on disk. Run ‘systemctl daemon-reload’ to reload units. 修改后如有这个警告,执行即可。

五月 6, 2023

magento2中Index Management两种模式的差异

Magento 2的Index Management有两种模式:Update on Save和Update by Schedule。它们的区别如下: Update on Save:这是Magento 2的默认模式。在此模式下,当商品、类别、客户等数据发生更改时,索引会立即更新。这意味着在每次保存数据时都会更新索引,因此可以确保索引始终是最新的。但是,这种模式可能会影响性能,因为每次保存数据时都会触发索引更新。 Update by Schedule:在此模式下,索引更新是按计划进行的。您可以在Magento 2后台的“索引管理”中配置索引更新计划,例如每小时、每天或每周更新一次。这种模式可以减少索引更新对性能的影响,因为索引更新不会在每次保存数据时触发。但是,这种模式可能会导致索引不是最新的,因为在计划更新之前,数据可能已经发生了更改。 因此,选择适当的索引更新模式取决于您的应用程序的需求。如果您需要确保索引始终是最新的,并且可以容忍性能影响,则可以选择Update on Save模式。如果您更关注性能,并且可以容忍索引不是最新的,则可以选择Update by Schedule模式。

四月 28, 2023

Git游离状态commit内容的找回

情况,在一个游离的分支上提交了commit,然后checkout到某一分支,发现commit的内容找不到了。 解决办法: 1、通过 git reflog 查看所有分支的操作记录,找到那个commit id 2、切换到目标分支,例如 git checkout developer 3、通过 git cherry-pick {commit_id}把那个游离的commit 内容重新提交到当前分支上 记录一下这两个命令: git reflog是Git操作的一道安全保障,它能够记录几乎所有本地仓库的改变,包括所有分支的commit提交,以及已经被删除的commit git cherry-pick 将指定的commit提交到当前分支。(与merge类似,merge是合并一个分支的所有变更,cherry-pick 更加精确)

四月 11, 2023

REMOTE HOST IDENTIFICATION的错误解决

通过 ssh 连接远程主机的时候,经常会碰到如下错误,这通常是由于服务器IP\用户名等信息变更导致的 [root@localhost ~]# ssh 192.168.1.x @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is ... Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:33 RSA host key for 192.168.1.x has changed and you have requested strict checking. Host key verification failed. 有两种解决办法 ...

三月 31, 2023

ubuntu环境下彻底卸载docker

安装docker的时候,建议直接去docker的官网看文档,其他的博客或者工具安装,容易出现纰漏,导致后面报错。如果已经安装且出现了不知道如何应对的问题,那么就需要彻底删除掉之前的安装。 Ubuntu系统下彻底删掉docker的步骤 dpkg -l | grep -i docker 确定安装了什么包 sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli docker-compose-plugin sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce docker-compose-plugin 上述命令不会删除主机上的镜像、容器、卷或用户创建的配置文件。如果你想删除所有的镜像、容器和卷,请执行以下命令: sudo rm -rf /var/lib/docker /etc/docker sudo rm /etc/apparmor.d/docker sudo groupdel docker sudo rm -rf /var/run/docker.sock Docker 安装文档:https://docs.docker.com/engine/install/

三月 31, 2023

laravel 和 lumen 两个框架的差异是什么

Laravel 和 Lumen 都是由 Taylor Otwell 开发的 PHP Web 开发框架,它们有很多相似之处,但也有一些明显的差异。 以下是 Laravel 和 Lumen 之间的一些主要差异: 框架大小:Lumen 框架比 Laravel 框架更轻量级。Lumen 框架具有更小的内存占用和更快的启动时间,这使得它成为构建小型微服务和 API 的理想选择。 功能:Lumen 框架的功能比 Laravel 框架更加简洁,去除了一些不必要的组件,比如 Session 和 Cookie 管理等。Lumen 框架的主要重点是快速构建 Web 应用程序和 RESTful API。 性能:由于 Lumen 框架比 Laravel 框架更轻量级,因此它在处理大量请求时表现更佳。Lumen 框架也支持更多的缓存驱动器和队列驱动器,这使得它在高并发环境中表现更加出色。 使用场景:Lumen 框架适用于构建小型 Web 应用程序和 RESTful API,而 Laravel 框架则适用于构建大型 Web 应用程序和企业级应用程序。 总之,Lumen 框架是 Laravel 框架的轻量级版本,它们在设计和实现上都有很多相似之处,但是在应用场景和功能方面有一些显著的不同。

三月 31, 2023

Intel Standard Manageability主要功能及试用

Intel vPro® 除了提供完整 Intel AMT manageability 之外,还提供 Intel Standard Manageability(英特尔标准可管理性模式),是 AMT 功能的一个子集。 Intel Standard Manageability 是与Intel AMT 5.0版一起推出的,支持以下 AMT 功能的子集。 Hardware Inventory 硬件资源管理,查询客户机可用的硬件,如BIOS功能、CPU、内存、附加卡等 Boot Control 启动管理 Power State Management 电源状态管理 Redirection , Serial Over LAN and Storage Redirection (USB-R or IDE-R) over TCP。 Alarm Clock 定时唤醒 Agent Presence 可以远程配置的“看门狗”程序 Access Monitor 用户活动监测 System Defense Filters 远程配置宿主机的网络过滤 参考:https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm?turl=WordDocuments%2Fsupportforotherintelplatforms.htm 以下是几个功能的使用截图,所使用的软件是MeshCommander,这套软件不久前英特尔已经放弃做支持,但是已经迭代和很久,功能比较全也比较稳定。 MeshCommander : https://www.meshcommander.com/meshcommander Redirection 串口设备重定向 简单的讲,可以操作BIOS、挂载镜像文件用来引导远程系统,下面是通过 Serial-Over-Lan看到的BIOS界面,这个界面是以字符的形式显示的,控制端默认的格式和换行有问题,试着调整了一下还是这个样子,这个使用的工具有关。 下面是使用Serial挂载ISO或者 IMG文件的操作 ...

三月 22, 2023

docker 中使用的 kong 是干什么的

Kong 是一个用于构建微服务架构的开源 API 网关和微服务管理平台。在 Docker 中使用 Kong 通常是为了在微服务架构中实现 API 管理和微服务发现。 Kong 可以作为一个 API 网关,代理客户端请求并将请求路由到对应的后端微服务。Kong 还提供了丰富的插件,可以对请求进行身份验证、流量控制、日志记录、监控等处理。 在 Docker 中,使用 Kong 可以快速搭建一个高效、可扩展的 API 网关,并且可以方便地部署和管理。Kong 还可以与 Docker 中的其它容器化应用程序无缝集成,实现完整的微服务架构。 下面是几个使用 Docker 中 Kong 实现微服务架构的例子: 假设你正在构建一个电子商务网站,并使用多个微服务来处理订单、库存、支付和用户管理等任务。你可以使用 Kong 作为 API 网关来统一管理这些微服务,并为每个微服务配置不同的 API 策略和安全机制。 假设你正在构建一个面向企业的 SaaS 应用程序,该应用程序由多个独立的微服务组成,包括用户管理、权限控制、数据分析和营销自动化等功能。你可以使用 Kong 来将这些微服务整合在一起,并为每个微服务提供统一的入口点和安全机制。 假设你正在构建一个在线教育平台,并使用多个微服务来处理课程管理、学生管理、支付和证书颁发等任务。你可以使用 Kong 作为 API 网关来为每个微服务提供独立的 API 策略和流量控制,以确保平台的安全和稳定性。

三月 21, 2023

记第n次开博

博客关了开,开了关,不记得这是第几次了。 hexo的火还没熄,新的轮子hugo又开始了,一个go写的博客工具,可以很方便的整理和发布markdown格式的笔记,那就试试,来吧。 最近做的事情比较杂,东研究一下,西研究一下,记录一下放这里也许可以帮到别人。

三月 15, 2023

Supervised Learning