当前位置: 首页 > news >正文

源码编译构建LAMP

源码编译构建LAMP

文章目录

  • 源码编译构建LAMP
      • LAMP+DISCUZ论坛
    • 1.安装编译工具等
    • 2.apache
    • 3.mysql
    • 4.php
    • 5.部署论坛网站
    • 6.其他
    • 6.其他

LAMP+DISCUZ论坛

1.安装编译工具等

安装说明:

在这里插入图片描述

配置yum源 从阿里云下载新的配置文件

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#某些软件包找不到 想要更新源
yum -y install epel-release

配置好yum源,在线安装即可

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl \
lbzip2

2.apache

上传apache安装包,进行解压:

# 下面两个插件是httpd2.4以后的版本所需要
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz#安装bzip2
yum -y install bzip2
#如果解压不了  安装bzip2
tar xf httpd-2.4.29.tar.bz2mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

配置说明:

在这里插入图片描述

cd /opt/httpd-2.4.29/# 配置
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi# 编译和安装
make -j 2 && make install

安装过后,为apache配置文件和命令创建软连接

# 优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
# 这两条命令的实际效果是使得Apache服务器能够更好地融入到整个系统环境中,提高了系统的可移植性、可维护性和可用性ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

配置apache服务:

这是centos6配置apache服务(注意自己虚拟机是6还是7)

  1. centos6:
#便于service管理 centos6  
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
chkconfig: 35 85 21
#35:表示服务在运行级别 3 和 5 下启用。在 Linux 中,运行级别 3 通常是多用户文本模式,而运行级别 5 通常是图形用户界面模式。这意味着服务将在这两个运行级别下启用,并在系统启动时自动启动。#85:表示服务在运行级别 8 和 5 下启用。请注意,运行级别 8 并不是标准的 Linux 运行级别,通常不会出现。与运行级别 5 相关的配置意味着在图形用户界面模式下启用服务。#21:表示服务在运行级别 2 和 1 下禁用。运行级别 2 通常是多用户文本模式,而运行级别 1 通常是单用户模式(故障恢复模式)。这意味着服务将在这两个运行级别下禁用。
chkconfig --add httpd //将httpd加入到系统管理器service httpd start
#可使用service或者systemctl进行管理systemctl start httpd.service

centos7:

在这里插入图片描述

vim /lib/systemd/system/httpd.service[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID

配置文件简单了解

vim /usr/local/httpd/conf/httpd.conf
# 52行--修改监听ip
Listen 192.168.200.50:80
# 197行--修改服务器域名
ServerName 192.168.10.80:80
# 221行--默认网站部署路径
DocumentRoot "/usr/local/httpd/htdocs"
# 255行--默认首页文件
DirectoryIndex index.html

检查配置文件语法、启动服务

# 检查语法
httpd -t  或 apachectl -t# 启动服务
# service httpd restart
systemctl start httpd.service
#可以用防火墙命令对80端口进行开放  #因为设置了永久配置  需要重新加载才能生效
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重新加载
firewall-cmd --reloadnetstat -anpt | grep 80

3.mysql

提醒:安装mysql,服务器内存必须4G以上

安装软件依赖

在这里插入图片描述

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

上传mysql安装包,进行解压:

tar xf mysql-5.7.17.tar.gz -C /opt# Boost 1.59.0是一个开源的C++库,它为C++标准库提供了广泛的扩展
tar xf boost_1_59_0.tar.gz -C /usr/local/
mv /usr/local/boost_1_59_0 /usr/local/boost

配置说明:

在这里插入图片描述

cd /opt/mysql-5.7.17/cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1# 编译和安装
# make && make install
make -j 2 && make install

注意:安装mysql报错基本都是内存不足造成
可以试下 echo 1 > /proc/sys/vm/drop_caches #清除缓存

如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

创建普通用户管理mysql

# 创建普通用户管理mysql
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

mysql配置文件说明:

在这里插入图片描述

vim /etc/my.cnf	[client]									
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock	[mysql]									
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock
auto-rehash[mysqld]
user = mysql 
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306	
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

sql_mode常用值如下:
NO_ENGINE_SUBSTITUTION
如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

STRICT_TRANS_TABLES
在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制

NO_AUTO_CREATE_USER
禁正GRANT创建密码为空的用户

NO_AUTO_VALUE_ON_ZERO
mysql中的自增长列可以从O开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错

NO_ZERO_IN_DATE
不允许日期和月份为零

NO_ZERO_DATE
mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告

ERROR_FOR_DIVISION_BY_ZERO
在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MysQL返回NULL

PIPES_As_CONCAT
将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似

ANSI_QUOTES

启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

设置环境变量,方便调用mysql命令

#设置环境变量,方便调用mysql命令
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

初始化数据库

在这里插入图片描述

cd /usr/local/mysql/bin/./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

mysql服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/systemctl daemon-reload         #刷新识别  systemctl start mysqld.service  #开启服务
systemctl enable mysqld         #开机自启动
#通过防火墙指令开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重新加载防火墙指令
firewall-cmd --reload
netstat -anpt | grep 3306       #查看端口

设置root密码

# 给root账号设置密码
mysqladmin -u root -p password "123456" 
# 直接回车# root远程访问权限
mysql -uroot -pmysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;

4.php

安装依赖:

#安装GD库和GD库关联程序,用来处理和生成图片
yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

解压源码包:

cd /opt
tar zxvf php-7.1.24.tar.gz

配置说明:

在这里插入图片描述

cd /opt/php-7.1.24/./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer#编译安装
make -j 2 && make install

php 配置文件

#复制模板文件,并进行修改
cp /opt/php-7.1.24/php.ini-development /usr/local/php7/php.inivim /usr/local/php7/php.ini# 1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock# 939行--取消注释,修改
date.timezone = Asia/Shanghai#优化把 PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php7/bin/* /usr/local/bin/

修改 apache 配置,让其支持 php

# 修改Apache配置文件让Apache支持PHP
vim /etc/httpd.conf # 添加index.php
255 <IfModule dir_module>
256     DirectoryIndex index.html index.php
257 </IfModule># 在392行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps##检查156行默认支持php7的模块是否存在
LoadModule php7_module   modules/libphp7.so

测试 php 网页

#创建、编辑php页面文件
# rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php<?php
phpinfo();
?>systemctl restart httpd.service

在网页测试 “http://192.168.10.80/index.php”

5.部署论坛网站

数据库准备:

mysql -u root -p # 建库
mysql> CREATE DATABASE bbs;# 创建用户
mysql> CREATE USER bbsuser;
# 把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';# 刷新数据库
mysql> flush privileges; 

解压等操作:

# 解压论坛压缩包
yum -y install unzip
#如果解压不了  需要安装unzip
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis#上传站点更新包
cd /opt/dis/dir_SC_UTF8
cp -r upload/ /usr/local/httpd/htdocs/bbs#切换论坛目录
cd /usr/local/httpd/htdocs/bbs#更改论坛目录属主
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data

web安装界面,访问地址:http://192.168.10.80/bbs/install/

在这里插入图片描述

数据库服务器: localhost   #本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字: bbs
数据库用户名: bbsuser
数据库密码: admin123
管理员账号: admin
管理员密码: admin123

如遇到报错信息如下
Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in /data/www/install/index.php:12 Stack trace: #0 {main} thrown in /data/www/install/index.php on line 12
解决方法
#致命错误:未捕获错误:未定义的函数的调用set_magic_quotes_runtime(),在这个文件的第12行,找到该路径下的index.php这个文件打开,查找set_magic_quotes_runtime

#切换目录
cd /usr/local/httpd/htdocs/bbs/install
vim index.php进行编辑

//把

@set_magic_quotes_runtime(0);

//替代成

@ini_set(“magic_quotes_runtime”,0)

故障问题已解决

访问论坛:

在这里插入图片描述

6.其他

编写php代码,测试数据库工作是否正常

mysql -u root -pCREATE DATABASE sky;
GRANT all ON sky.* TO 'skyuser'@'%' IDENTIFIED BY 'admin123';
flush privileges; 
vim /usr/local/http/htdocs/index.php
<?php
$link=mysql_connect('192.168.226.128','skyuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

php进行编辑

//把

@set_magic_quotes_runtime(0);

//替代成

@ini_set(“magic_quotes_runtime”,0)

故障问题已解决

访问论坛:

[外链图片转存中…(img-IltNc1Vy-1733883603940)]

6.其他

编写php代码,测试数据库工作是否正常

mysql -u root -pCREATE DATABASE sky;
GRANT all ON sky.* TO 'skyuser'@'%' IDENTIFIED BY 'admin123';
flush privileges; 
vim /usr/local/http/htdocs/index.php
<?php
$link=mysql_connect('192.168.226.128','skyuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

相关文章:

源码编译构建LAMP

源码编译构建LAMP 文章目录 源码编译构建LAMPLAMPDISCUZ论坛 1.安装编译工具等2.apache3.mysql4.php5.部署论坛网站6.其他6.其他 LAMPDISCUZ论坛 1.安装编译工具等 安装说明&#xff1a; 配置yum源 从阿里云下载新的配置文件 curl -o /etc/yum.repos.d/CentOS-Base.repo htt…...

如何让verilog支持二维数组,三维数组作为I/O ports

写在前面 先看看verilog中的一维数组&#xff0c;二维数组&#xff0c;三维数组长啥样&#xff1f; wire [31:0]data1;//一维数组 wire [31:0]data2 [0:15];//二维数组 wire [31:0]data3 [0:15][0:15];//三维数组众所周知&#xff0c;verilog只支持一维数组作为I/O ports&…...

字符编码讲解(C#)

在学习和编码的过程中&#xff0c;极容易遇到如下概念&#xff0c;他们有些是字符编码&#xff0c;有些是涉及的相关概念&#xff0c;接下来我将围绕下面的熟悉又陌生的概念做详细解释&#xff0c;并且梳理其之间的关系 UTF8&#xff0c; Unicode &#xff0c;ASCII&#xff0…...

Unreal Engine 中的UI界面开发

推荐的使用方式 轻量级 HUD&#xff1a;使用 Canvas 绘制简单的文本、调试信息或基础 UI&#xff08;如准星、血量条等&#xff09;。 复杂 UI&#xff1a;使用 UMG&#xff08;Unreal Motion Graphics&#xff09;和 Slate 进行布局和交互&#xff0c;避免手动管理 Canvas 绘制…...

聚类及Python下实现 K-means 算法

聚类 聚类是无监督学习中的一种重要方法&#xff0c;旨在将数据集中相似的数据对象划分到同一个簇中&#xff0c;使得不同簇之间的数据对象差异尽可能大。在大数据环境下&#xff0c;聚类可以帮助挖掘数据中的隐藏结构和模式&#xff0c;应用场景十分广泛&#xff0c;比如在客…...

【中间件开发】Redis基础命令详解及概念介绍

文章目录 前言一、Redis相关命令详解及原理1.1 string、set、zset、list、hash1.1.1 string1.1.2 list1.1.3 hash1.1.4 set1.1.5 zset 1.2 分布式锁的实现1.3 lua脚本解决ACID原子性1.4 Redis事务的ACID性质分析 二、Redis协议与异步方式2.1 Redis协议解析2.1.1 redis pipeline…...

分布式文件存储 - - - MinIO从入门到飞翔

MinIO从入门到飞翔 文章目录 MinIO从入门到飞翔 0、前言1、分布式文件系统2、MinIO 介绍3、 MinIO安装&#xff08;docker&#xff09;4、基本概念5、通过代码上传文件到MinIO6、封装MinIO为starter7、在其他项目中集成封装好的模块 0、前言 对象存储是一种数据存储架构&a…...

Cadence学习笔记 1 原理图库绘制

基于Cadence 17.4&#xff0c;四层板4路HDMI电路 目录 一、原理图绘制及封装制作 1、原理图库绘制简介 一、原理图绘制及封装制作 1、原理图库绘制简介 File--Change Product&#xff0c;选择OrCAD Capture CIS。绘制原理图和原理图库都是用CIS完成 更改界面颜色&#xff1a…...

Unity 制作一个视频播放器(打包后,可在外部编辑并放置新的视频)

效果展示&#xff1a; 在这里&#xff0c;我把视频名称&#xff08;Json&#xff09;和对应的视频资源都放在了StreamingAssets文件夹下&#xff0c;以便于打包后&#xff0c;客户还可以自己在外部增加、删除、修改对应的视频资料。 如有需要&#xff0c;请联细抠抠。...

python爬虫--小白篇【爬虫实践】

一、前言 1.1、王者荣耀皮肤爬虫 根据王者荣耀链接&#xff0c;将王者荣耀的全部英雄的全部皮肤图片爬取保存到本地。经过分析得到任务的三个步骤&#xff1a; 根据首页全部英雄列表连接获取全部英雄的名称hero_name以及对应的hero_id&#xff1b;根据单个英雄的hero_name和h…...

CountDownLatch阻塞后countDown未执行会如何?

背景 某项目封装了 Kafka 消费者 API&#xff0c;根据传递的消费者线程数&#xff0c;创建 N 个消费者线程同时消费对应 topic 的数据&#xff0c;并在线程启动后收集到全局列表中&#xff0c;方便在程序调用 stop 流程时逐个停止。 主控类在创建 Kafka 消费线程时使用了 Cou…...

《MySQL 查询进阶:复杂查询语句的魅力》

一、引言 MySQL 的复杂查询语句就像是一把神奇的钥匙&#xff0c;能够打开数据世界的大门&#xff0c;展现出数据的无限魅力。本文将带你深入探索 MySQL 查询进阶技巧&#xff0c;从常用查询到子查询&#xff0c;再到视图的运用&#xff0c;让你领略复杂查询语句的强大功能。 …...

Vue解决跨域问题

要解决 Vue 项目的跨域问题并通过 vue.config.js 配置代理&#xff0c;可以按照以下步骤修改 vue.config.js 文件。你提供的代码大部分已经正确&#xff0c;只需要做一些格式上的调整。以下是正确的 vue.config.js 配置&#xff1a; // vue.config.jsmodule.exports {devServ…...

大语言模型(LLM)与智能机器人的应用分析

系列文章目录 前言 近年来,大型语言模型(LLM)的集成彻底改变了机器人领域,使机器人能够以人类熟练程度进行交流、理解和推理。本文探讨了 LLM 对机器人的多方面影响,并针对在不同领域利用这些模型的关键挑战和机遇进行了研究。通过将 LLM 应用程序分类并分析核心机器人元素…...

String【Redis对象篇】

&#x1f3c6; 作者简介&#xff1a;席万里 ⚡ 个人网站&#xff1a;https://dahua.bloggo.chat/ ✍️ 一名后端开发小趴菜&#xff0c;同时略懂Vue与React前端技术&#xff0c;也了解一点微信小程序开发。 &#x1f37b; 对计算机充满兴趣&#xff0c;愿意并且希望学习更多的技…...

Elasticsearch高性能实践

前言 本方案主要从运维层面分析es是实际生产使用过程中的参数优化&#xff0c;深入理解es各个名词及含义&#xff0c;深入分析es的使用过程中应注意的点&#xff0c;详细解释参数设置的原因以及目的&#xff0c;主要包括系统层面&#xff0c;参数层面。除此之外&#xff0c;优…...

Maven 安装配置(详细教程)

文章目录 一、Maven 简介二、下载 Maven三、配置 Maven3.1 配置环境变量3.2 Maven 配置3.3 IDEA 配置 四、结语 一、Maven 简介 Maven 是一个基于项目对象模型&#xff08;POM&#xff09;的项目管理和自动化构建工具。它主要服务于 Java 平台&#xff0c;但也支持其他编程语言…...

sql server 创建索引实验

创建一个非主键索引&#xff0c;大小30G&#xff0c;数据文件增加了30G&#xff0c;日志文件增长了50G,4分钟完成&#xff0c; &#xff08;日志文件增加设置为2048MB 或者 256MB 执行时间都是4分钟&#xff0c;没有多大的时间差异&#xff09; 实验环境&#xff1a; 主机cpu…...

解决Vue项目中npm install卡住问题的详细指南

解决Vue项目中npm install卡住问题的详细指南 引言 在开发Vue项目时&#xff0c;我们经常会遇到npm install命令卡住的问题&#xff0c;特别是在构建依赖树时。本文将分享一些实用的解决方案&#xff0c;帮助您快速解决这一常见问题。 问题描述 在执行npm install时&#xf…...

手机实时提取SIM卡打电话的信令声音--社会价值(一、方案解决了什么问题)

手机实时提取SIM卡打电话的信令声音 --社会价值(一、方案解决了什么问题) 一、前言 这段时间&#xff0c;我们在技术范围之外陷入了一个自证或者说下定义的怪圈&#xff0c;即要怎么样去介绍或者描述&#xff1a;我们是一个什么样的产品。它在当前这个世界上&#xff0c;处于…...

35.1 thanos项目介绍和二进制部署

本节重点介绍 : 核心优点 无需维护存储&#xff0c;存储高可用&#xff1a; 利用廉价的公有云对象存储&#xff0c;高可用长时间存储&#xff0c;数据降采样&#xff1a;利用Compactor降采样完全适配原生prometheus查询接口&#xff1a;Query实现多级数据缓存配置 二进制部署 …...

【中工开发者】鸿蒙商城实战项目(启动页和引导页)

创建一个空项目 先创建一个新的项目选择第一个&#xff0c;然后点击finish 接下来为项目写一个名字&#xff0c;然后点击finish。 把index页面的代码改成下面代码块的代码&#xff0c;就能产生下面的效果 Entry Component struct Index {build() {Column(){Blank()Column(){…...

云计算IaaS-PaaS-SaaS三种服务模式转至元数据结尾

在当今数字化时代&#xff0c;云计算已经成为推动企业创新与发展的核心力量。而云计算的模型主要有三种&#xff1a;IAAS、PAAS 和 SAAS&#xff0c;它们各自在云计算的庞大体系中扮演着独特且关键的角色&#xff0c;恰似一座大厦的不同楼层&#xff0c;共同构建起强大而灵活的…...

Python爬虫:如何优雅地“偷窥”商品详情

在这个信息爆炸的时代&#xff0c;获取商品详情已经不再是简单的点击和浏览。我们需要的是速度、效率&#xff0c;还有一点点的...偷偷摸摸。没错&#xff0c;今天我们要聊的是如何使用Python爬虫来“偷窥”商品详情。别担心&#xff0c;我们保证一切都是合法合规的&#xff0c…...

自动化测试报错:Exception managing chrome: error decoding response body

报错&#xff1a;Exception managing chrome: error decoding response body 报错解释&#xff1a; 这个错误通常发生在使用Selenium WebDriver时&#xff0c;尝试管理&#xff08;例如关闭&#xff09;Chrome浏览器时出现了问题。具体来说&#xff0c;是在解码Chrome浏览器响…...

Dataset 与 JavaRDD

是的&#xff0c;Dataset 底层确实是基于 RDD 实现的&#xff0c;但它是通过更高层次的抽象和优化来提供更强大和易用的功能。以下是关于 Dataset 底层实现的一些详细信息&#xff1a; 1. RDD 是基础 RDD&#xff08;弹性分布式数据集&#xff09; 是 Spark 最基础的抽象&…...

【后端面试总结】Golang defer的实现原理和常见面试问题

前言 在Go语言中&#xff0c;defer关键字用于延迟函数的执行&#xff0c;即在包含defer语句的函数返回之前执行。这一特性使得defer在资源释放、文件关闭、解锁资源等场景中非常有用。本文将深入探讨defer的实现原理&#xff0c;并总结一些常见的面试问题。 基本使用 defer通…...

http 502 和 504 的区别

首先看一下概念&#xff1a; 502&#xff1a;作为网关或者代理工作的服务器尝试执行请求时&#xff0c;从上游服务器接收到无效的响应。503&#xff1a;由于临时的服务器维护或者过载&#xff0c;服务器当前无法处理请求。这个状况是临时的&#xff0c;并且将在一段时间以后恢…...

农业园区气象站

农业园区气象站是一种专为农业生产和科研设计的气象监测设备&#xff0c;它集成了多种传感器和技术&#xff0c;用于实时、准确地监测和记录农业园区内的气象数据。以下是农业园区气象站的主要功能和用处&#xff1a; 一、主要功能 实时监测&#xff1a;农业园区气象站能够实时…...

机器学习学习笔记-20241211

文章目录 空间归纳偏置局部性&#xff08;Locality&#xff09;平移不变性&#xff08;Translation Invariance&#xff09;空间关系&#xff08;Spatial Relationships&#xff09;尺度不变性&#xff08;Scale Invariance&#xff09;上下文依赖&#xff08;Context Dependen…...

【在Linux世界中追寻伟大的One Piece】HTTP Session

目录 1 -> 引入HTTP Session 1.1 -> 定义 1.2 -> 工作原理 1.3 -> 安全性 1.4 -> 超时和失效 1.5 -> 用途 2 -> 模拟session行为 3 -> 实验测试session 1 -> 引入HTTP Session 1.1 -> 定义 HTTP Session是服务器用来跟踪用户与服务器交…...

人工智能|自然语言处理——机器翻译评价指标Bleu和Rouge

在机器翻译任务中&#xff0c;BLEU 和 ROUGE 是两个常用的评价指标&#xff0c;BLEU 根据精确率(Precision)衡量翻译的质量&#xff0c;而 ROUGE 根据召回率(Recall)衡量翻译的质量 BLEU&#xff08;Bilingual Evaluation Understudy&#xff09;&#xff1a; BLEU是一种用于评…...

【前端】JavaScript中的函数形式参数:预解析与作用域详解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;示例代码&#x1f4af;1. 形式参数的预解析模拟预解析后的代码 &#x1f4af;2. 函数作用域与子函数的关系代码详解 &#x1f4af;3. 扩展&#xff1a;块作用域与变量提…...

自然语言处理的未来愿景

自然语言处理的未来愿景 在这个信息爆炸的时代,计算机如何理解和生成我们日常使用的语言,已经成为一个引人注目的问题。你有没有想过,为什么智能助手能理解你的指令?又或者,为什么社交媒体上的推荐引擎能够精准地推荐你喜爱的内容?这背后,正是自然语言处理(NLP)在发挥…...

Vmodel环境配置

1.conda create -n pytorch311 python3.11 # 重新进入虚拟环境 source activate # 退出虚拟环境 conda deactivate 最后&#xff0c;重新执行 conda activate pytorch311 pip install torch-2.0.0cpu-cp311-cp311-linux_x86_64 配置Graph-WaveNet网络&#xff1a; pip…...

nvm-windows | node版本管理

问题&#xff1a; npm ERR! notsup Not compatible with your version of node/npm: npm10.9.2 npm ERR! notsup Required: {"node":"^18.17.0 || >20.5.0"} npm ERR! notsup Actual: {"npm":"9.5.0","node":"v18.…...

GLM-4V-Flash:智谱AI引领多模态视觉模型新潮流

点击访问 chatTools 免费体验GPT最新模型&#xff0c;包括o1推理模型、GPT4o 和Claude等模型&#xff01; 随着人工智能技术的不断进步&#xff0c;多模态模型逐渐成为行业关注的焦点。智谱AI作为国内领先的人工智能公司&#xff0c;再次以创新姿态推出了首款免费多模态视觉模型…...

二、ubuntu单盘改软raid1

将单盘系统转换为软 RAID 1 是一个复杂的过程&#xff0c;尤其是在已经有数据的生产环境中进行时。这个过程涉及备份现有数据、创建 RAID 阵列、迁移数据以及更新引导加载程序&#xff08;如 GRUB&#xff09;。以下是详细的步骤指南&#xff1a; 前提条件 备份数据&#xff…...

「Mac玩转仓颉内测版45」小学奥数篇8 - 排列组合计算

本篇将通过 Python 和 Cangjie 双语讲解如何计算排列与组合。这道题目旨在让学生学会使用排列组合公式解决实际问题&#xff0c;并加深对数学知识和编程逻辑的理解。 关键词 小学奥数Python Cangjie排列与组合 一、题目描述 编写一个程序&#xff0c;计算从 n 个不同元素中取…...

【零成本抽象】基本概念与在C++中的实现

零成本抽象概念是由 Bjarne Stroustrup 提出的,他在 1994 年的著作中就有相关设想,2016 年其在 C++ 大会登台演讲时,明确阐述了 C++ 中的 “零成本抽象” 这一理念。 一、零成本抽象概念 Bjarne Stroustrup提出的零成本抽象概念,是指在编程中使用高级抽象机制时,不会产生…...

域渗透入门靶机之HTB-Cicada

easy难度的windows靶机 信息收集 端口探测 nmap -sT --min-rate 10000 -p- 10.10.11.35 -oA ./port 发现开放了53&#xff0c;88&#xff0c;389等端口&#xff0c;推测为域控 进一步信息收集&#xff0c;对爆破的端口进行更加详细的扫描 小tips&#xff1a;对于众多的端口&…...

(仓颉) Cangjie 刷力扣基础语法小结

文章目录 &#x1f9d3;官方资料&#x1f9d3;力扣经典前 3 题&#x1f577;️[1. 两数之和 - 力扣&#xff08;LeetCode&#xff09;](https://leetcode.cn/problems/two-sum/description/)&#x1f577;️[2. 两数相加 - 力扣&#xff08;LeetCode&#xff09;](https://leet…...

Phoenix5.1.3安装

环境说明 准备三台服务器&#xff0c;分别为&#xff1a;bigdata141&#xff08;作为HBase主节点&#xff09;、bigdata142、bigdata143&#xff0c;已经搭建好HBase集群&#xff0c;我这边HBase版本为2.2.7再准备一台服务器&#xff0c;bigdata144&#xff0c;可作为Phoenix客…...

深入理解 Apache Shiro:安全框架全解析

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在…...

机器学习:全面学习路径指南

摘要&#xff1a; 本文精心规划了一条从入门到精通机器学习的学习路线&#xff0c;详细涵盖了基础理论构建、核心技术栈掌握、主流算法学习、实践项目锻炼以及前沿领域探索等多个关键阶段。通过逐步深入各个层面&#xff0c;介绍必备的数学知识、编程工具、经典与现代机器学习算…...

二叉树交换相关算法题|递归/非递归交换所有节点左右子树(C)

交换左右子树 设树B是一棵采用链式结构存储的二叉树&#xff0c;编写一个把树B中所有节点的左右子树进行交换的函数 算法思想 采用递归算法实现交换二叉树的左右子树&#xff0c;首先交换root节点左孩子的左右子树&#xff0c;然后交换root节点右孩子的左右子树&#xff0c;…...

什么是纯虚函数?什么是抽象类?纯虚函数和抽象类在面向对象编程中的意义是什么?

纯虚函数 纯虚函数是一个在基类中声明但不实现的虚函数。它的声明方式是在函数声明的末尾添加 0。这意味着这个函数没有提供具体的实现&#xff0c;任何继承这个基类的派生类都必须提供这个函数的实现&#xff0c;否则它们也会变成抽象类&#xff0c;无法实例化。 示例&#…...

高效利用资源:分布式有状态服务的高可靠性设计

在分布式系统设计中&#xff0c;实现有状态服务的高可靠性通常采用主备切换的方式。当主服务停止工作时&#xff0c;备服务接管任务&#xff0c;例如通过Keepalive实现VIP的切换以保证可用性。然而&#xff0c;这种方式存在资源浪费的问题&#xff0c;因为备服务始终处于空转状…...

网络安全中的 SOC 是什么?

当今世界&#xff0c;网络威胁日益增多&#xff0c;确保网络安全已成为各种规模企业的首要任务。网络安全讨论中经常出现的一个术语是 SOC&#xff0c;即安全运营中心的缩写。但网络安全中的 SOC 是什么呢&#xff1f; SOC在防御网络威胁、管理安全事件和全天候监控系统方面发…...

QtCreator UI界面 菜单栏无法输入中文

如下图红色所示的区域&#xff0c;直接输入是无法输入中文的&#xff1a; 解决方法&#xff1a;在右边的属性值里输入即可 也可以参考这位同学的解决方法&#xff1a;友情链接...