Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js

2024-04-30 07:04

本文主要是介绍Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网卡模式选择桥接 mirrors.163.com

阿里镜像源 https://mirrors.aliyun.com/debian/
DeBian 安装软件选择时勾选上 SSH server
apt update
apt install sudo #安装 sudo
usermod -aG sudo username #添加普通账号到  sudo

让 root 可以 SSH
配置文件 /etc/ssh/sshd_config 
找到 PermitRootLogin 选项 并将其值修改为
PermitRootLogin yes
重启ssh
systemctl restart ssh

共享文件夹

先在 VirtualBox 上添加好

然后在 Debian 客户机上安装了 VirtualBox Guest Additions。这可以提供对共享文件夹的支持和其他增强功能

sudo apt update
sudo apt install virtualbox-guest-additions-iso
sudo mkdir /home/wwwroot
#挂载共享文件夹
#qgmvc5_share 为在 VirtualBox 中设置的共享文件夹名称
sudo mount -t vboxsf qgmvc5_share /home/wwwroot
#设置自动挂载
sudo nano /etc/fstab
未尾添加
qgmvc5_share /home/wwwroot vboxsf defaults 0 0
重新挂载 /etc/fstab 中的所有条目
sudo mount -a

Nginx

sudo apt install nginx
sudo systemctl status nginx
sudo systemctl start nginx #如果服务未启动,可以手动启动它
sudo systemctl enable nginx 设置 Nginx 开机自启
sudo ln -s /usr/sbin/nginx /usr/local/bin/nginx 添加到系统命令

Nginx 的配置文件位于 /etc/nginx 目录下。
具体的站点配置文件位于 /etc/nginx/sites-available 和 /etc/nginx/sites-enabled 目录中
/etc/nginx/sites-available 用于存放所有可用的 Nginx 站点配置文件
/etc/nginx/sites-enabled 用于存放实际要被 Nginx 加载的站点配置文件的符号链接
ln -s <target> <link_name> 创建文件符号链接 
ln -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf
rm <link_name> 删除文件符号链接
ls -l 可以查看符号链接的详细信息

sudo nginx -t 命令检查配置文件的语法是否正确
sudo nginx -s reload 更新配置
sudo systemctl restart nginx 重启

php-fpm

sudo apt install php-fpm

sudo systemctl restart php8.2-fpm

sudo apt install php8.2-mbstring
sudo apt install php8.2-curl
sudo apt install php8.2-zip
sudo apt install php8.2-mysql
sudo apt install php8.2-sqlite3
sudo apt install php8.2-mongodb
sudo apt install php8.2-gd
sudo apt install php8.2-imagick
sudo apt install php8.2-bcmath
sudo apt install php8.2-opcache
sudo apt install php8.2-redis
sudo apt install php8.2-apcu
sudo apt install php8.2-intl

ps:vscode 插件 phpcs(vscode-phpcs) 加 composer squizlabs/php_codesniffer 要对 PHP代码做  psr12规范
vscode ctrl+shinf+p + change end of line -> LF

MYSQL

sudo apt install default-mysql-server
sudo systemctl status mysql
sudo mysql -u root -p
password:回车
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxx007';
FLUSH PRIVILEGES;
允许远程访问
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxx007';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxx007' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

在 /etc/mysql/mariadb.cnf 或 /etc/mysql/conf.d/ 目录中的配置文件中,添加或修改 bind-address 设置,将其设置为 0.0.0.0
/etc/mysql/mariadb.cnf
bind-address = 0.0.0.0

sudo systemctl restart mysql

共享 mysql-data 给 debian /mysql-data 注意mysql data不能放在 /home下

改变 MYSQL 数据文件的存放路径
sudo systemctl stop mysql
sudo mv /var/lib/mysql/* /mysql-data
编辑 MySQL 配置文件 /etc/mysql/my.cnf 或 /etc/my.cnf
找到 datadir 配置项,并将其指向新的数据文件路径。如果未找到,可以手动添加
/etc/mysql/mariadb.cnf
[mysqld]
datadir = /mysql-data/

给mysql读写权限
sudo chown -R mysql:mysql /mysql-data/
sudo systemctl start mysql
sudo systemctl status mysql

 PHP 的一些扩展描述


其他扩展
php8.2-igbinary 是 PHP 的一个序列化扩展,它提供了一种高效的二进制序列化和反序列化方法,用于在 PHP 中存储和检索数据结构。与 PHP 原生的 serialize() 和 unserialize() 函数相比,igbinary 序列化产生的数据更加紧凑和高效,可以提高数据的存储效率和传输速度。

php8.2-http 是 PHP 的 HTTP 客户端扩展,也称为 pecl_http 扩展。这个扩展提供了丰富的 HTTP 客户端功能,使 PHP 脚本能够进行 HTTP 请求和处理 HTTP 响应,包括发送 GET、POST、PUT、DELETE 等类型的请求,处理 Cookie、Headers、FormData 等等。
具体而言,php8.2-http 扩展可以用于:
发送和接收 HTTP 请求和响应
设置和管理 HTTP 请求的各种选项,例如超时、代理等
处理 URL 和 URI
处理 Cookie 和 Session
处理请求和响应的 Headers
处理文件上传和表单数据
处理 HTTPS 请求
支持流式传输(Streaming)
这个扩展提供了更高级的 HTTP 功能,使得 PHP 能够更加灵活和强大地与 Web 服务进行通信和交互。如果您需要在 PHP 中执行复杂的 HTTP 操作,例如与 RESTful API 交互或执行高级的网络请求,php8.2-http 扩展是一个非常有用的工具。


php8.2-imap 是 PHP 的 IMAP 扩展,用于与邮件服务器进行交互并处理电子邮件。IMAP(Internet Message Access Protocol)是一种用于访问和管理电子邮件的网络协议,它允许客户端从邮件服务器上读取邮件、搜索邮件、删除邮件等操作。
使用 php8.2-imap 扩展,您可以在 PHP 脚本中执行以下操作:
连接到远程 IMAP 邮件服务器
遍历邮件邮箱,读取和处理收件箱中的邮件
搜索特定的邮件,并根据条件过滤邮件
下载邮件附件
将邮件标记为已读、已删除等操作
创建、发送和转发邮件
这个扩展对于开发需要与邮件服务器交互的应用程序或脚本非常有用,例如邮件客户端、自动化邮件处理脚本等。


php8.2-intl 是 PHP 的一个扩展模块,用于处理国际化(Internationalization,简称 i18n)和本地化(Localization,简称 l10n)任务。它提供了一组功能,用于处理和操作国际化相关的数据,包括字符编码转换、文本排序、日期时间格式化、货币处理等。以下是 php8.2-intl 扩展的一些主要功能和应用:
字符编码转换:
php8.2-intl 扩展支持各种字符编码之间的转换,例如 UTF-8、ISO-8859 等。它提供了函数和类来实现文本的编码和解码操作。
文本排序和比较:
可以使用 Collator 类来进行字符串的排序和比较,支持不同语言的排序规则和排序算法。
日期时间处理:
支持不同语言和地区的日期时间格式化和解析,包括处理时区、日历系统和日期格式的转换。
货币和数字格式化:
提供了货币和数字格式化的功能,可以根据不同的货币和语言规范进行格式化输出。
Unicode 支持:
php8.2-intl 扩展对 Unicode 标准提供了良好的支持,可以处理复杂的字符集和文本操作。
地理位置信息:
可以根据用户的地理位置和语言环境进行本地化数据的处理和显示。


php8.2-mailparse 是 PHP 的一个扩展模块,用于解析和操作邮件消息。具体而言,mailparse 扩展提供了一组功能,可以帮助 PHP 应用程序解析和处理电子邮件的内容,包括以下主要功能:
解析邮件消息: 可以将原始的 MIME 格式邮件消息解析为 PHP 数据结构,方便应用程序对邮件进行分析和处理。
处理附件: 支持提取邮件中的附件文件,并对附件进行处理,例如保存到文件系统、展示在网页上等。
获取邮件头信息: 可以提取邮件的各种头部信息,如发件人、收件人、主题、日期等。
处理邮件正文: 支持解析邮件的纯文本部分和 HTML 部分,方便应用程序根据需要对邮件内容进行处理和展示。
检测邮件编码: 可以识别邮件中使用的编码方式,方便对邮件内容进行正确的解码和处理。
mailparse 扩展通常用于开发需要处理电子邮件的应用程序,例如邮件客户端、电子邮件过滤器、自动化邮件处理等。它可以让开发者更轻松地解析和操作邮件内容,实现复杂的邮件处理逻辑。
如果您需要在 PHP 中处理电子邮件消息,mailparse 扩展提供了强大且方便的功能,能够大大简化您的开发工作。如果您有更多关于邮件处理或 mailparse 扩展的问题,请随时向我询问!


php8.2-msgpack 是 PHP 的一个扩展模块,用于实现消息打包和解包的功能。它基于 MessagePack 格式,提供了一种高效的二进制数据序列化和反序列化方法,用于在不同系统之间传输和存储数据。
下面是 php8.2-msgpack 扩展的主要功能和用途:
数据序列化和反序列化: 可以将 PHP 的数据结构(例如数组、对象)序列化为 MessagePack 格式的二进制数据,或将 MessagePack 数据反序列化为 PHP 的数据结构。
跨语言数据交换: MessagePack 是一种跨语言的二进制数据格式,因此可以方便地在不同编程语言之间传递和解析数据,例如在 PHP 和其他语言(如 Python、Java、Go 等)之间进行数据交换。
数据压缩和性能优化: 相比 JSON 和 XML 等文本格式,MessagePack 使用更少的字节表示数据,因此具有更高的性能和更小的数据传输量。
高效的网络通信: 在网络通信中,使用 MessagePack 可以减少数据的传输大小和解析时间,提高数据交换的效率。
支持复杂数据结构: msgpack 扩展支持序列化和反序列化复杂的 PHP 数据结构,包括多维数组、关联数组、对象等。
使用 php8.2-msgpack 扩展可以有效地提高 PHP 应用程序的数据处理效率和性能,特别是在需要处理大量数据或进行跨语言数据交换时。


php8.2-oauth 是 PHP 的一个扩展模块,用于实现 OAuth 1.0 和 OAuth 2.0 认证协议的客户端功能。OAuth 是一种开放标准,用于授权第三方应用程序访问用户的资源,而无需将用户的凭据(例如用户名和密码)直接提供给第三方应用。
下面是 php8.2-oauth 扩展的主要功能和用途:
实现 OAuth 客户端: php8.2-oauth 扩展可以让 PHP 应用程序充当 OAuth 客户端,与支持 OAuth 认证的服务提供商进行交互,并获取访问受保护资源所需的令牌。
支持 OAuth 1.0 和 OAuth 2.0: 该扩展同时支持 OAuth 1.0 和 OAuth 2.0 协议,可以用于与不同版本的 OAuth 认证服务进行通信。
简化 OAuth 认证流程: 使用 php8.2-oauth 扩展,开发者可以轻松地实现 OAuth 认证流程,包括获取请求令牌、获取访问令牌、刷新令牌等步骤。
安全的授权访问: OAuth 协议通过授权访问令牌来保护用户的资源,并避免了直接提供用户凭据的安全风险。
与 OAuth 服务集成: 开发者可以使用 php8.2-oauth 扩展与各种支持 OAuth 认证的服务集成,例如 Google、Facebook、Twitter 等。

php8.2-pcov 是 PHP 的一个扩展模块,用于代码覆盖率分析和测试。它可以在 PHP 程序运行时收集代码覆盖率数据,帮助开发人员评估代码的测试覆盖率,从而识别和改进测试覆盖不足的部分。
下面是 php8.2-pcov 扩展的主要功能和用途:
代码覆盖率分析: php8.2-pcov 扩展可以跟踪 PHP 程序执行时哪些代码被执行,从而生成代码覆盖率报告。这些报告可以帮助开发人员确定哪些代码路径已被测试覆盖,哪些尚未得到覆盖。
测试优化: 借助代码覆盖率报告,开发人员可以识别测试用例覆盖不足的部分,并针对性地优化测试策略,增加测试覆盖率,提高代码质量和稳定性。
性能分析: php8.2-pcov 通过跟踪代码执行路径,可以帮助开发人员分析和优化 PHP 程序的性能,识别潜在的性能瓶颈和优化机会。
与测试框架集成: php8.2-pcov 可以与各种 PHP 测试框架(如 PHPUnit)集成,实现自动化的代码覆盖率分析和测试报告生成。
开发调试: 通过查看代码覆盖率报告,开发人员可以快速定位和调试代码中的问题,并验证代码变更的影响范围。


php8.2-phpdbg 是 PHP 的一个命令行调试器,用于调试 PHP 脚本和应用程序。它提供了一组调试功能,可以帮助开发人员识别和解决 PHP 程序中的问题。
以下是 php8.2-phpdbg 的一些主要功能和用途:
交互式调试: php8.2-phpdbg 提供了交互式的命令行调试界面,可以在运行时检查和控制 PHP 程序的执行流程。
断点调试: 开发人员可以在代码中设置断点,以便在特定位置停止程序执行,并可以查看和修改变量的值、调用堆栈等信息。
单步调试: php8.2-phpdbg 支持单步执行代码,逐行检查程序执行过程,方便发现代码逻辑和执行路径中的问题。
变量监视: 开发人员可以使用 php8.2-phpdbg 查看和监视程序中的变量值,以便在调试过程中理解代码的运行状态。
执行控制: php8.2-phpdbg 允许开发人员控制程序的执行流程,包括跳过、重复执行、中断和恢复等操作,以便更好地调试和分析代码。
与 IDE 集成: php8.2-phpdbg 可以与各种集成开发环境(IDE)和调试工具集成,提供更强大的 PHP 调试功能和可视化调试体验。

php8.2-pinba 是一个 PHP 扩展,用于与 Pinba(一个用于监视 PHP 应用程序性能的开源工具)集成。它允许 PHP 应用程序与 Pinba 服务进行通信,从而收集和报告有关 PHP 应用程序性能的数据。
具体来说,php8.2-pinba 扩展提供了以下功能和用途:
性能监控: 通过与 Pinba 服务器通信,php8.2-pinba 可以监视 PHP 应用程序的性能指标,例如请求处理时间、数据库查询次数、内存使用情况等。
实时分析: Pinba 提供了实时监控和分析功能,可以即时查看 PHP 应用程序的性能数据,帮助开发人员识别和解决性能瓶颈。
报告生成: 基于收集到的性能数据,Pinba 可以生成报告和统计信息,帮助开发人员优化 PHP 应用程序的性能和效率。
可扩展性: php8.2-pinba 扩展可以与其他 PHP 应用程序监控工具集成,扩展性强,可以根据需求定制和扩展监控功能。

php8.2-ps 扩展是用于与 PostScript 文件格式交互的扩展。PostScript 是一种页面描述语言,常用于打印和图形处理领域。
具体来说,php8.2-ps 扩展提供了 PHP 与 PostScript 文件格式进行交互的功能,允许 PHP 脚本生成、操作和处理 PostScript 文件。通过这个扩展,开发人员可以在 PHP 中动态生成和修改 PostScript 文件,实现一些与打印和图形相关的操作。

php8.2-pspell 扩展是用于与 Pspell 拼写检查库进行交互的扩展。Pspell 是一个用于拼写检查的开源库,允许开发人员在应用程序中进行拼写检查和纠正。


 

这篇关于Debian 德比安 Nginx + PHP + MySql + beanstalkd + Redis + Node.js的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948180

相关文章

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

MySQL 中的 LIMIT 语句及基本用法

《MySQL中的LIMIT语句及基本用法》LIMIT语句用于限制查询返回的行数,常用于分页查询或取部分数据,提高查询效率,:本文主要介绍MySQL中的LIMIT语句,需要的朋友可以参考下... 目录mysql 中的 LIMIT 语句1. LIMIT 语法2. LIMIT 基本用法(1) 获取前 N 行数据(

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL