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

news/2024/10/21 19:44:29/

网卡模式选择桥接 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

ifconfig -a 查看IP

共享文件夹

先在 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 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

sudo systemctl restart php8.2-fpm
sudo systemctl status php8.2-fpm

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

编译安装php的 pcntl 扩展

cd /home/qg
mkdir php-src
wget https://www.php.net/distributions/php-8.2.18.tar.gz
tar -zxvf php-8.2.18.tar.gz
cd php-8.2.18/ext/pcntl
phpize
./configure
make
sudo make installsudo nano /etc/php/<version>/cli/php.ini
extension=pcntl.so

MYSQL

wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
sudo apt install gnupg
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
sudo nano /etc/apt/sources.list.d/mysql.list

deb [arch=amd64] http://repo.mysql.com/apt/debian bookworm mysql-8.0

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C

sudo apt update
sudo apt install mysql-server
sudo systemctl status mysql
sudo mysql -u root -p
password:回车
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxx007';
FLUSH PRIVILEGES;
允许远程访问
CREATE USER 'root'@'%' IDENTIFIED BY 'xxx007';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
允许旧版用户的认证插件
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx007';
FLUSH PRIVILEGES;
SELECT host, user FROM mysql.user WHERE user = 'root';
EXIT;

在 /etc/mysql/conf.d/ 目录中的配置文件中,添加或修改 bind-address 设置,将其设置为 0.0.0.0
/etc/mysql/conf.d/mysql.cnf
[mysql]
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

重构MYSQL
sudo mysql_secure_installation

Beanstalkd

sudo apt-get install beanstalkd
sudo systemctl status beanstalkd
sudo systemctl start beanstalkd
自动运行
sudo systemctl enable beanstalkd
Beanstalkd 的配置文件通常位于/etc/default/beanstalkd
ps -ef | grep beanstalkd
telnet 127.0.0.1 11300
php composer.phar require pda/pheanstalk

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


 


http://www.ppmy.cn/news/1455085.html

相关文章

19_Scala集合概述

文章目录 集合回顾javaScala集合三大类String & StringBuilderScala集合两大类 集合 回顾java scala与Java有所不同 函数式编程语言更侧重集合本身提供的哪些功能&#xff1b; Scala集合三大类 1.Seq 存储有序数据可重复 类比 List 2.Set 存储无序数据不可重复 3.Map…

PCB 阻抗设置

凡亿电路有详细的阻抗设计 https://baijiahao.baidu.com/s?id1773006310888936808&wfrspider&forpc 差分基本上是100ohm, 单端是50ohm 布线阻抗通常是&#xff0c; -设置叠层关系 层的定义设计原则&#xff1a; 1&#xff09;主芯片相临层为地平面&#xff0c;提供器…

C++学习笔记——对仿函数的理解

文章目录 思维导图仿函数出现的逻辑仿函数使用上的巧妙 仿函数的本质仿函数的优势仿函数语法的巧妙 思维导图 仿函数出现的逻辑 我们在学习stack时会遇到一些新的问题&#xff0c;这些问题需要我们使用非类型模板参数去解决&#xff0c;即我们需要在设计类时需要有一个途径去快…

HTML_CSS学习:背景、鼠标相关属性

一、背景相关属性 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>背景相关属性</title><style>body{background-color: greenyellow;}div{width: 400px;height: …

什么是PXE

文章目录 在局域网内搭建PXE服务器PXE 启动组件PXE的优点实验一、搭建PXE服务器&#xff0c;实现远程部署CentOS系统环境准备server关闭防火墙安装组件准备 Linux 内核、初始化镜像文件及PXE引导文件配置启用TFTP 服务配置启动DHCP服务准备CentOS 7 安装源配置启动菜单文件 Cli…

场景文本检测识别学习 day09(Swin Transformer论文精读)

Patch & Window 在Swin Transformer中&#xff0c;不同层级的窗口内部的补丁数量是固定的&#xff0c;补丁内部的像素数量也是固定的&#xff0c;如上图的红色框就是不同的窗口&#xff08;Window&#xff09;&#xff0c;窗口内部的灰色框就是补丁&#xff08;Patch&#…

怎么把静图变成gif?推荐一招在线制作

想要实现图片转换gif动图的操作使用什么工具能实现呢&#xff1f;在这个高速发展的时代经常需要在网络中分享、保存各种各样的gif动图。当我们想要将一些静态图片变成有趣的gif图片时&#xff0c;就可以使用gif在线制作&#xff08;https://www.gif.cn/&#xff09;工具&#x…

未来科技的前沿:深入探讨人工智能的进展、机器学习技术和未来趋势

文章目录 一、人工智能的定义和概述1. 人工智能的基本概念2. 人工智能的发展历史 二、技术深入&#xff1a;机器学习、深度学习和神经网络1. 机器学习2. 深度学习3. 神经网络 三、人工智能的主要目标和功能1. 自动化和效率提升2. 决策支持和风险管理3. 个性化服务和预测未来 本…