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 是一个用于拼写检查的开源库,允许开发人员在应用程序中进行拼写检查和纠正。

相关推荐
小兜全糖(xdqt)2 小时前
mysql数据同步到sql server
mysql·adb
Karoku0662 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
周全全2 小时前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql
白云如幻2 小时前
MySQL的分组函数
数据库·mysql
秋意钟5 小时前
MySQL日期类型选择建议
数据库·mysql
残月只会敲键盘5 小时前
php代码审计--常见函数整理
开发语言·php
ac-er88886 小时前
MySQL如何实现PHP输入安全
mysql·安全·php
桀桀桀桀桀桀6 小时前
数据库中的用户管理和权限管理
数据库·mysql
ajsbxi6 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
YUJIANYUE9 小时前
PHP将指定文件夹下多csv文件[即多表]导入到sqlite单文件
jvm·sqlite·php