源码编译部署 LAMP 架构详细步骤说明

源码编译部署 LAMP 架构详细步骤说明

一、环境准备

1. 关闭防火墙和SELinux
[root@hrz ~]# systemctl stop firewalld
[root@hrz ~]# systemctl disable firewalld
[root@hrz ~]# setenforce 0
2. 配置YUM网络源
[root@hrz ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@hrz ~]# yum -y install epel-release

二、部署Apache(HTTP服务)

1. 安装依赖工具包
[root@hrz ~]# yum -y install bzip2  vim make wget openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ libxml2-devel 
//安装编译Apache等组件所需的依赖工具和开发库//- bzip2:用于解压bzip2格式的压缩包(如后续PHP的tar.bz2包)
// - vim:文本编辑器,用于修改配置文件(如Apache的configure脚本、PHP的配置文件等)
// - make:编译工具,用于执行Makefile文件,将源代码编译为可执行程序
// - wget:命令行下载工具,可用于下载所需的源码包(若未提前上传)
// - openssl-devel:OpenSSL开发库,支持Apache的SSL功能(--enable-ssl参数依赖)
// - pcre-devel:PCRE正则表达式开发库,支持Apache的rewrite模块(--enable-rewrite参数依赖)
// - expat-devel:XML解析库开发包,Apache处理XML相关功能时依赖
// - libtool:编译辅助工具,用于管理共享库的创建和链接
// - gcc、gcc-c++:C和C++编译器,用于编译源代码(几乎所有源码编译都依赖)
// - libxml2-devel:XML处理库开发包,支持Apache和PHP对XML的解析功能
2. 安装APR(Apache可移植运行时)
[root@hrz ~]# cd /opt/
[root@hrz opt]# tar -xzvf apr-1.7.0.tar.gz
[root@hrz opt]# cd apr-1.7.0
[root@hrz opt]#  vim configure  //删除冲突行,避免编译报错//
$RM "$cfgfile"   /*查找并删除这一行,可以使用sed -i '/$RM "$cfgfile"/d' configure 在命令行中删除*/ 
[root@hrz apr-1.7.0]# ./configure --prefix=/usr/local/apr 
配置APR的安装路径
/* ./configure:执行源码目录中的配置脚本,检查系统环境并生成Makefile--prefix=/usr/local/apr:指定APR的安装目录为/usr/local/apr,便于后续管理
*/
[root@hrz apr-1.7.0]# make
/*备注:根据configure生成的Makefile编译源代码make命令会调用编译器(如gcc)将源码编译为二进制文件,过程可能需要几分钟
*/[root@hrz apr-1.7.0]# make install
/*备注:将编译好的二进制文件、库文件等安装到指定目录(/usr/local/apr)安装完成后,APR的可执行文件、头文件、库文件会分别放在该目录的bin、include、lib子目录中后续安装APR-util和Apache时,需要指定此路径关联APR */
3. 安装APR-util(APR工具库)
[root@hrz apr-1.7.0]# cd /opt/
[root@hrz opt]# tar -xzvf apr-util-1.6.1.tar.gz
[root@hrz opt]# cd /opt/apr-util-1.6.1
[root@hrz apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
// 备注:配置APR-util的编译参数
// - ./configure:执行配置脚本,检查系统环境并生成Makefile
// - --prefix=/usr/local/apr-util:指定APR-util的安装目录为/usr/local/apr-util,与APR目录分开管理,便于维护
// - --with-apr=/usr/local/apr:指定依赖的APR库安装路径(必须与之前安装APR的--prefix路径一致)
//  APR-util是APR的扩展工具库,提供更多功能(如数据库连接、加密等),必须依赖APR才能正常编译和运行
// 执行此命令后,脚本会检查APR的头文件和库文件是否存在,若路径错误会报错,需确保APR已正确安装在指定目录
[root@hrz apr-util-1.6.1]# make
[root@hrz apr-util-1.6.1]# make install
4. 安装HTTPD(Apache服务)
[root@hrz apr-util-1.6.1]# cd /opt/
[root@hrz opt]# tar -xzf httpd-2.4.54.tar.gz
[root@hrz opt]# cd /opt/httpd-2.4.54
[root@hrz httpd-2.4.54]# ./configure --prefix=/usr/local/apache \
> --sysconfdir=/etc/httpd24 \
// --prefix=/usr/local/apache:设置Apache的安装根目录,所有程序文件、资源文件等将集中存放于此
// --sysconfdir=/etc/httpd24:指定配置文件的独立存放目录,与程序文件分离,便于系统级配置管理和备份
> --enable-so \
// 启用动态共享对象(DSO)机制,允许Apache在运行时动态加载或卸载模块,无需重新编译整个服务
// 这是后续加载PHP模块(mod_php)的必要前提
> --enable-ssl \
// 激活SSL/TLS模块,使Apache支持HTTPS加密传输协议,保障数据传输安全
// 依赖系统中已安装的openssl-devel库,否则会配置失败
> --enable-cgi \
// 启用CGI(通用网关接口)支持,允许Apache运行外部CGI脚本程序(如Perl脚本)
// 扩展了Web服务器处理动态内容的能力
> --enable-rewrite \
// 启用mod_rewrite模块,支持基于规则的URL重写功能
// 可实现URL地址美化、域名跳转、防盗链、伪静态等功能,对搜索引擎优化(SEO)友好
> --with-zlib \
// 关联zlib压缩库,使Apache能够对传输的网页内容进行gzip压缩
// 减少网络传输数据量,提高页面加载速度,降低带宽消耗
> --with-pcre \
// 关联PCRE(Perl Compatible Regular Expressions)正则表达式库
// 为mod_rewrite模块提供正则表达式支持,是URL重写规则解析的基础
> --with-apr=/usr/local/apr \
// 指定APR(Apache可移植运行时)库的安装路径,Apache的跨平台功能依赖此库
// 路径必须与之前安装APR时的--prefix参数一致,否则无法正确关联
> --with-apr-util=/usr/local/apr-util/ \
// 指定APR-util库的安装路径,该库是APR的扩展工具集,提供额外功能支持
// 需与APR保持版本兼容,路径必须准确无误
> --enable-modules=most \
// 编译并启用大多数常用的Apache模块(如mod_auth、mod_log_config等)
// 避免手动逐个启用模块,同时排除少数不常用或实验性模块
> --enable-mpms-shared=all \
// 以动态共享方式编译所有MPM(多处理模块),包括prefork、worker、event等
// 支持在不重新编译的情况下,通过修改配置文件切换不同的MPM工作模式
> --with-mpm=prefork \
// 指定默认使用prefork MPM工作模式,这是一种进程型处理模式
// 每个请求由独立的子进程处理,进程间相互隔离,稳定性高,适合运行PHP等单线程应用
// 执行此命令前需确保所有依赖库(apr、apr-util、openssl-devel、pcre-devel等)已正确安装,否则会出现配置错误
[root@hrz httpd-2.4.54]# make
[root@hrz httpd-2.4.54]# make install 
[root@hrz httpd-2.4.54]# cd 
[root@hrz ~]# /usr/local/apache/bin/apachectl start
// 备注:启动Apache服务
// /usr/local/apache/bin/apachectl:Apache的控制脚本,位于安装目录的bin子目录下
// start:参数表示启动服务,会加载/etc/httpd24/httpd.conf配置文件并启动进程
// 启动成功后,可通过访问服务器IP(默认端口80)验证,若出现Apache测试页则表示启动正常
// 其他常用参数:
// - stop:停止服务
// - restart:重启服务(修改配置后需执行)
// - status:查看服务状态
5. 验证Apache

访问服务器IP,默认页面路径为/usr/local/apache/htdocs/index.html

在这里插入图片描述

三、部署MySQL(数据库服务,二进制方式)

1. 创建MySQL用户
[root@hrz ~]# useradd -r -M -s /sbin/nologin mysql
// 备注:创建MySQL运行所需的系统用户
// -r:表示创建系统用户(UID范围在系统预设的系统用户区间,通常小于1000)
// -M:不创建用户的家目录(MySQL服务无需登录交互,无需家目录)
// -s /sbin/nologin:指定用户的默认shell为/sbin/nologin,禁止该用户通过终端登录系统
// mysql:用户名,用于运行MySQL进程,遵循最小权限原则,避免使用root用户运行服务
2. 安装依赖包
[root@hrz httpd-2.4.54]# yum -y install libncurses* libaio
// 备注:安装MySQL运行依赖的系统库
// libncurses*:终端图形交互库,MySQL的命令行客户端(如mysql)依赖此库实现终端交互功能
// libaio:异步I/O库,MySQL在处理大量数据读写时使用异步I/O提升性能,尤其对InnoDB存储引擎至关重要
// -y:yum命令自动确认安装,无需手动输入y确认
// 这两个库是MySQL二进制程序运行的必要依赖,缺少会导致MySQL启动失败
3. 配置MySQL
[root@hrz ~]# cd /opt/
[root@hrz opt]# tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@hrz opt]# cd /usr/local/
[root@hrz local]# ln -sv mysql-5.7.37-linux-glibc2.12-x86_64/ mysql
// 备注:为解压后的MySQL目录创建软链接,简化路径引用
// ln -sv:创建符号链接(软链接),-s表示软链接,-v显示创建过程
// 原目录名较长(mysql-5.7.37-linux-glibc2.12-x86_64),链接为简短的mysql后,后续操作可直接使用/usr/local/mysql路径
// 同时便于后续升级MySQL时,只需更新软链接指向新目录,无需修改大量配置
[root@hrz local]# chown -R mysql.mysql /usr/local/mysql  # 设置权限
[root@hrz local]# mkdir -p /opt/data/  # 创建数据目录
[root@hrz local]# chown -R mysql.mysql /opt/data/  # 授权数据目录
4. 数据库初始化
[root@hrz local]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/
// 备注:初始化MySQL数据库
// --initialize-insecure:以无密码方式初始化(root用户初始无密码,方便首次登录)
// --user=mysql:指定初始化过程使用mysql用户(与之前创建的系统用户一致,确保权限正确)
// --datadir=/opt/data/:指定数据库数据文件的存储目录(需提前创建并授权给mysql用户)
// 初始化过程会创建系统数据库(如mysql、information_schema)、生成初始表结构和权限信息[root@hrz local]# ln -sv /usr/local/mysql/include/ /usr/local/include/mysql
// 备注:为MySQL头文件创建软链接到系统标准头文件目录
// 头文件(.h)用于编译依赖MySQL的程序(如PHP的mysqli扩展),链接后编译器可直接在/usr/local/include/mysql找到所需文件
// -s:创建软链接,-v:显示链接过程[root@hrz local]# vim /etc/ld.so.conf.d/mysql.conf
/etc/ld.so.conf.d/mysql.conf  
// 备注:配置MySQL库文件路径,让系统能识别MySQL的动态链接库
// /usr/local/mysql/lib:MySQL的库文件(.so)存放目录
// 通过echo命令直接写入更高效,避免手动编辑:echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf[root@hrz local]# ldconfig  
// 备注:更新系统动态链接库缓存,使刚才配置的MySQL库路径生效
// 执行后,系统可自动加载/usr/local/mysql/lib目录下的库文件,避免运行MySQL相关程序时出现"找不到库文件"的错误
5. 编辑MySQL配置文件
[root@hrz local]# vim /etc/my.cnf  // 清空原有内容,添加以下配置
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
// 备注:配置MySQL主配置文件,定义服务运行参数
// [mysqld]:配置段标识,仅对mysqld服务进程生效
// basedir = /usr/local/mysql:指定MySQL程序安装目录(与软链接路径一致)
// datadir = /opt/data:指定数据库数据文件存储目录(与初始化时的--datadir一致)
// socket = /tmp/mysql.sock:指定MySQL本地通信的UNIX套接字文件路径,客户端连接本地数据库时使用
// port = 3306:指定MySQL监听的TCP端口(默认3306,可根据需求修改)
// pid-file = /opt/data/mysql.pid:指定进程ID文件路径,用于标识MySQL服务进程
// user = mysql:指定运行MySQL服务的系统用户(与之前创建的mysql用户一致,遵循最小权限原则)
// skip-name-resolve:禁用DNS反向解析,加快客户端连接速度(避免因DNS问题导致的连接延迟)
6. 配置MySQL服务管理
[root@hrz ~]# vim /usr/local/mysql/support-files/mysql.server
basedir=/usr/local/mysql
datadir=/opt/data
//也可用
//sed -ri "s#^(basedir=).*#\1/usr/local/mysql#g"  /usr/local/mysql/support-files/mysql.server
//sed -ri "s#^(datadir=).*#\1/opt/data#g"  /usr/local/mysql/support-files/mysql.server
[root@hrz local]# vim /usr/lib/systemd/system/mysqld.service  // 添加以下内容
[Unit]
Description=mysql server daemon
// 描述服务:表示这是MySQL服务器守护进程
After=network.target
// 定义启动顺序:在网络服务(network.target)启动之后再启动MySQL服务[Service]
Type=forking
// 服务类型:forking表示服务启动后会fork一个子进程作为主进程,父进程退出
ExecStart=/usr/local/mysql/support-files/mysql.server start
// 启动命令:执行MySQL自带的启动脚本启动服务
ExecStop=/usr/local/mysql/support-files/mysql.server stop
// 停止命令:执行MySQL自带的停止脚本停止服务
ExecReload=/bin/kill -HUP $MAINPID
// 重载命令:向主进程发送HUP信号(重新加载配置,不中断服务),$MAINPID表示服务主进程ID[Install]
WantedBy=multi-user.target
// 安装配置:表示当系统启动到多用户模式(正常运行模式)时,该服务需要被启动
// 用于systemctl enable命令设置开机自启[root@hrz local]# systemctl daemon-reload  # 重载服务配置
[root@hrz local]# systemctl enable --now mysqld  # 开机自启并启动服务
7. 配置MySQL环境变量
[root@hrz /]# vim /etc/profile 
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
/*也可在命令行用echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile*/
[root@hrz /]# source /etc/profile
8. 设置数据库密码
[root@hrz local]# mysql -uroot  # 初始无密码,直接登录
mysql> set password=password('3edc4rfv');  # 设置密码
mysql> exit

四、部署PHP

1. 安装依赖包(含GD库等)
[root@hrz local]# yum -y install \
libjpeg libjpeg-devel \
// libjpeg:提供JPEG图像格式的基础处理能力,是处理JPEG图片的核心库
// libjpeg-devel:包含编译依赖JPEG功能的程序所需的头文件(.h)和静态链接库,PHP编译GD库时需依赖此包
libpng libpng-devel \
// libpng:提供PNG图像格式的编码和解码支持,处理透明图片时必不可少
// libpng-devel:PNG库的开发文件,PHP在编译GD扩展以支持PNG图像处理时需要此包
freetype freetype-devel \
// freetype:用于解析和渲染多种字体文件(如TrueType、OpenType),支持文字在图像中的显示
// freetype-devel:freetype库的开发组件,PHP的GD库要实现文字渲染功能必须依赖此包
libxml2 libxml2-devel \
// libxml2:高性能的XML解析库,支持XML文档的解析、验证和生成
// libxml2-devel:XML解析库的开发文件,PHP编译XML扩展时需要此包以支持XML相关函数
zlib zlib-devel \
// zlib:提供数据压缩和解压缩功能(如gzip格式),可减少网络传输数据量
// zlib-devel:zlib库的开发文件,PHP编译zlib扩展时依赖此包,以支持压缩相关函数
curl curl-devel
// curl:支持多种网络协议(HTTP、HTTPS、FTP等)的客户端工具库,用于发起网络请求
// curl-devel:curl库的开发文件,PHP编译curl扩展时需要此包,以实现通过PHP代码发送HTTP请求等功能
// -y:yum命令自动确认安装,无需手动输入"y"确认
2. 解压并编译安装PHP
[root@hrz local]# cd /opt/
[root@hrz opt]# tar -xjf php-7.1.10.tar.bz2
[root@hrz opt]# cd php-7.1.10
[root@hrz php-7.1.10]# ./configure \
--prefix=/usr/local/php \
// 指定PHP安装目录为/usr/local/php,统一管理路径
--with-apxs2=/usr/local/apache/bin/apxs \
// 关联Apache的apxs工具,用于生成PHP模块(libphp7.so)并自动添加到Apache配置中,使Apache支持PHP解析
--with-mysql-sock=/tmp/mysql.sock \
// 指定MySQL套接字文件路径,PHP通过本地套接字连接MySQL时使用(需与MySQL配置的socket路径一致)
--with-mysqli \
// 启用mysqli扩展,提供增强的MySQL交互功能(支持存储过程、事务等)
--with-zlib \
// 关联zlib库,支持PHP的zlib压缩功能(如gzencode、gzdecode函数)
--with-curl \
// 关联curl库,启用curl扩展,支持PHP发起HTTP/HTTPS请求、文件上传等网络操作
--with-gd \
// 启用GD库扩展,支持PHP处理图像(缩放、水印、格式转换等)
--with-jpeg-dir \
// 指定JPEG库路径,使GD库支持JPEG图像处理(自动识别系统安装的libjpeg)
--with-png-dir \
// 指定PNG库路径,使GD库支持PNG图像处理(自动识别系统安装的libpng)
--with-freetype-dir \
// 指定freetype库路径,使GD库支持在图像中渲染文字(依赖freetype库)
--with-openssl \
// 关联openssl库,支持PHP的SSL/TLS功能(如https请求、数据加密)
--enable-mbstring \
// 启用多字节字符串扩展,支持中文、日文等多字节字符处理(解决中文乱码问题)
--enable-xml \
// 启用XML扩展,支持PHP解析和生成XML文档
--enable-session \
// 启用会话(Session)功能,支持在多个请求间保存用户状态
--enable-ftp \
// 启用FTP扩展,支持PHP通过FTP协议上传/下载文件
--enable-pdo \
// 启用PDO(PHP Data Objects)扩展,提供统一的数据库访问接口(支持多种数据库)
--enable-tokenizer \
// 启用tokenizer扩展,支持PHP代码的词法分析(常用于框架和模板引擎)
--enable-zip \
// 启用ZIP扩展,支持PHP压缩/解压缩ZIP文件
[root@hrz php-7.1.10]# make
[root@hrz php-7.1.10]# make install
3. 配置PHP

测试环境时使用php.ini-development文件,生产环境使用php.ini-production文件

//复制默认配置文件
[root@hrz php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini//设置时区
[root@hrz php-7.1.10]# vim /usr/local/php/lib/php.ini /*sed -i 's/;date.timezone =/date\.timezone = \Asia\/Shanghai/' /usr/local/php/lib/php.ini*/
4. 配置Apache支持PHP
/*修改httpd服务配置文件,让apache支持php*/
[root@hrz php-7.1.10]# vim /etc/httpd24/httpd.conf   
/*在最末行写入*/
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
/* 大约在262行写index。php*/
<IfModule dir_module>DirectoryIndex index.html index.php
</IfModule>/*或者在命令行使用
echo "AddType application/x-httpd-php .php" >> /etc/httpd24/httpd.conf
echo "AddType application/x-httpd-php-source .phps" >> /etc/httpd24/httpd.conf
sed  -i 's/index.html/index\.php index\.html/' /etc/httpd24/httpd.conf
*/
/*验证php测试页*/
[root@hrz php-7.1.10]# rm -f /usr/local/apache/htdocs/index.html[root@hrz php-7.1.10]# vim  /usr/local/apache/htdocs/index.php 
<?php
phpinfo();
?># 设置默认索引页为index.php
[root@hrz php-7.1.10]# sed -i 's/index.html/index.php index.html/' /etc/httpd24/httpd.conf
5. 验证PHP环境
[root@hrz php-7.1.10]# rm -f /usr/local/apache/htdocs/index.html  # 删除默认HTML[root@hrz php-7.1.10]# vim /usr/local/apache/htdocs/index.php  # 创建PHP测试页
<?php
phpinfo();
?># 重启Apache生效
[root@hrz php-7.1.10]# /usr/local/apache/bin/apachectl stop
[root@hrz php-7.1.10]# /usr/local/apache/bin/apachectl start

访问服务器IP,若显示PHP信息页,则LAMP环境部署成功。

在这里插入图片描述

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

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

相关文章

机器学习----PCA降维

一、PCA是什么&#xff1f;主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是机器学习中最常用的降维技术之一&#xff0c;它通过线性变换将高维数据投影到低维空间&#xff0c;同时保留数据的最重要特征。PCA由卡尔皮尔逊于1901年发明&#x…

ReactNative开发实战——React Native开发环境配置指南

一、开发前准备 1. macOS平台基础工具安装 brew install node18 brew install watchman brew install cocoapods2. 代理配置 npm config set proxy http://127.0.0.1:7890 npm config set https-proxy http://127.0.0.1:7890# 新增扩展建议&#xff08;可选配置&#xff09; ec…

差速转向机器人研发:创新驱动的未来移动技术探索

在科技日新月异的今天&#xff0c;机器人技术作为智能制造与自动化领域的核心驱动力&#xff0c;正以前所未有的速度发展。其中&#xff0c;差速转向机器人以其独特的运动机制和广泛的应用前景&#xff0c;成为了科研与工业界关注的焦点。本文旨在探讨差速转向机器人研发进展&a…

Wireshark捕获电脑与路由器通信数据,绘制波形观察

一、准备工作 电脑发出数据的波形图绘制在我的另一篇博客有详细介绍&#xff1a; 根据Wireshark捕获数据包时间和长度绘制电脑发射信号波形-CSDN博客 路由器发送给电脑数据的波形图绘制也在我的另一篇博客有详细介绍&#xff1a; 根据Wireshark捕获数据包时间和长度绘制路由…

汽车ECU实现数据安全存储(机密性保护)的一种方案

一、 综述在车辆ECU中总是有一些密钥或重要数据需进行机密性保护&#xff0c;但因产品选型、成本等考虑&#xff0c;导致一些ECU的芯片不支持硬件安全模块&#xff08;例如HSM、TEE等&#xff09;。此时&#xff0c;为保障数据的机密性&#xff0c;可考虑通过软件实现数据的安全…

AI 效应: GPT-6,“用户真正想要的是记忆”

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

云计算学习100天-第25天

部署LNMP环境安装软件#在前一天已经安装nginx的基础上安装MariaDB&#xff0c;php和php-fpm yum -y install mariadb mariadb-server mariadb-devel php php-mysqlnd php-fpm #mariadb&#xff08;数据库客户端软件&#xff09;、mariadb-server&#xff08;数据库服务器软件&…

细化的 Spring Boot 和 Spring Framework 版本对应关系

注:本文由ai辅助,个人整理,有问题可留言 Spring Boot 3.x 系列 (基于 Spring Framework 6.x) Spring Boot 版本 对应的 Spring Framework 版本 Java 支持版本 3.1.5 (最新) 6.0.15 Java 17+ 3.1.4 6.0.14 Java 17+ 3.1.3 6.0.12 Java 17+ 3.1.2 6.0.11 Java 17+ 3.1.1 6.0.…

PyTorch API 1

文章目录torch张量创建操作索引、切片、连接与变异操作加速器生成器随机采样原地随机采样准随机采样序列化并行计算局部禁用梯度计算数学运算常量逐点运算归约操作比较运算频谱操作其他操作BLAS 和 LAPACK 运算遍历操作实用工具符号数字导出路径控制流优化方法操作符标签torch.…

基于FPGA的实时图像处理系统(2)——VGA显示彩条和图片

VGA显示彩条和图片 文章目录VGA显示彩条和图片一、VGA简介二、功能设计1、彩条设计2、图片设计三、结果展示四、代码一、VGA简介 VGA(Video Graphics Array)是IBM在1987年随PS/2机⼀起推出的⼀种视频&#xff0c;具有分辨率⾼、显⽰速率快、颜⾊丰富等优点&#xff0c;在彩 ⾊…

【网络运维】Linux 文本处理利器:sed 命令

Linux 文本处理利器&#xff1a;sed 命令 sed 简介 sed&#xff08;Stream Editor&#xff09;是一款非交互式的流编辑器&#xff0c;诞生于 1973–1974 年间的贝尔实验室&#xff0c;由 McMahon 开发。它专为文本处理而生&#xff0c;功能强大&#xff0c;是 Linux 文本处理常…

week2-[一维数组]出现次数

week2-[一维数组]出现次数 题目描述 给定 NNN 个整数A1,A2,…,ANA_1,A_2,\ldots,A_NA1​,A2​,…,AN​。请求出这 NNN 个数中出现次数最多的数的出现次数&#xff0c;以及出现次数最少的数的出现次数。 输入格式 读入包括 222 行。第一行只有 111 个整数 NNN&#xff0c;表示数…

力扣 hot100 Day79

215. 数组中的第K个最大元素 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 class…

C++围绕音视频相关的资料都有哪些?如何进行学习

音视频技术涉及的内容广泛而深入。我会根据自己的知识给你提供一个系统性的音视频相关资料梳理&#xff0c;主要分为学习路径与核心知识、开源项目与实战、开发者资源以及热点与趋势几个方面&#xff0c;希望能帮助你高效地学习和探索。 先用一个表格来概览主要的学习方向和资…

AI自动化测试,解决传统自动化测试中​​脚本维护成本高、用例覆盖不全、缺陷发现滞后​​等痛点

AI自动化测试&#xff0c;解决传统自动化测试中​​脚本维护成本高、用例覆盖不全、缺陷发现滞后​​等痛点AI自动化测试通过机器学习&#xff08;ML&#xff09;、自然语言处理&#xff08;NLP&#xff09;、计算机视觉&#xff08;CV&#xff09;等技术&#xff0c;解决了传统…

Laravel 事件与监听器

下面是一个完整的用户注册事件和监听器的实现示例&#xff0c;包含事件、监听器、注册、触发等完整流程。一、软件版本 php: 8.2.20laravel: 11mysql: 8.0.29 二、完整实现过程 1.创建事件 1.1 首先创建用户注册事件 php artisan make:event UserRegistered1.2 编辑app/Events/…

前端 React 实现数据懒加载-滚动触底加载数据

在 React 中使用 Intersection Observer API 实现触底加载分页&#xff08;无限滚动&#xff09;1.基本实现思路 在列表底部放置一个 哨兵元素&#xff08;Sentinel&#xff09;&#xff08;如 <div>&#xff09;。使用 IntersectionObserver 监听该元素是否进入视口&…

MySQL 50 道经典练习题及答案

目录 一、数据表设计与初始化 1. 数据表结构说明 2. 建表语句 3. 插入测试数据 二、练习题及答案 1. 查询 "01" 课程比 "02" 课程成绩高的学生的信息及课程分数 2. 查询同时存在 "01" 课程和 "02" 课程的情况 3. 查询存在 &qu…

电竞护航小程序搭建三角洲俱乐部护航派单小程序开发游戏派单系统定制开发

成品系统&#xff0c;可以快速搭建。功能概述&#xff1a;商家入驻、老板点单、快捷发单、自定义发单、发单列表、管事入驻、订单审核裁决、打手入驻、打手排行榜、邀请排行榜、账户充值、余额提现、成为客服等

MYSQL-增删查改CRUD

目录 &#x1f33f;前言&#xff1a; &#x1f33f;增-C-Create-新增 &#x1f9ca;单行数据全列插入 &#x1f34b;‍&#x1f7e9;语法&#xff1a; &#x1f34b;‍&#x1f7e9;演示&#xff1a; &#x1f9ca;指定列插入 &#x1f34b;‍&#x1f7e9;语法&#xf…