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

Apache的简单介绍(LAMP架构+搭建Discuz论坛)

文章目录

  • 1.Apache概述
    • 1.1什么是apache
    • 1.2 apache的功能及特性
      • 1.2.1功能
      • 1.2.2特性
    • 1.3 MPM 工作模式
      • 1.3.1 prefork模式
      • 1.3.2 worker模式
      • 1.3.3 event模式
  • 2.LAMP概述
    • 2.1 LAMP的组成
    • 2.2 LAMP各组件的主要作用
    • 2.3 LAMP的工作过程
    • 2.4CGI和FastCGI
  • 3.搭建Discuz论坛所需
  • 4.编译安装Apache httpd 服务
    • 4.1前置准备
    • 4.2 搭建编译环境
    • 4.3 解压并移动软件包
    • 4.4 编译安装
    • 4.5 建立软连接,方便补全
    • 4.6添加httpd系统服务
  • 5.编译安装 mysql
    • 5.1前置准备
    • 5.2 创造编译环境
    • 5.3 解压并移动源码包
    • 5.4 配置软件模块
    • 5.5 修改MySql配置文件
    • 5.6修改环境变量
    • 5.7 初始化数据库
    • 5.8 添加 MySql系统服务
    • 5.9 修改MySql登录密码
  • 6.编译安装Php
    • 6.1 前置准备
    • 6.2 编译安装
    • 6.3复制模版文件作为PHP 的主配置文件,进行修改
    • 6.4 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
    • 6.5 修改httpd 服务的配置文件,让apache支持PHP
    • 6.6 验证PHP测试页
  • 7. 安装Discuz论坛
    • 7.1 创建数据库并进行授权
    • 7.2解压论坛压缩包并上传站点压缩包
    • 7.3 更改论坛目录属主
    • 7.4 安装Discuz论坛

1.Apache概述

1.1什么是apache

Apache通常指的是Apache HTTP Server,是一个开源的、跨平台的Web服务器软件。它是目前世界上使用最广泛的Web服务器之一,也是许多网站和应用程序的核心基础。

1.2 apache的功能及特性

1.2.1功能

  • 提供http协议服务
  • 多个虚拟主机:IP、Port、FQDN
  • CGI:Common Gateway Interface,通用网关接口,支持动态程序
  • 反向代理
  • 负载均衡
  • 路径别名
  • 丰富的用户认证机制:basic,digest
  • 支持第三方模块

1.2.2特性

  • 高度模块化:core + modules
  • DSO:Dynamic Shared Object 动态加载/卸载
  • MPM:multi-processing module 多路处理模块

1.3 MPM 工作模式

1.3.1 prefork模式

在这里插入图片描述
预产生(Pre-Fork)模式适用于稳定性要求高的场景

  • Apache在启动时会创建一组预定义数量的子进程(称为工作进程)。

  • 每个工作进程都是独立的,有自己的内存空间和资源。

  • 当一个请求到达服务器时,主进程选择一个空闲的工作进程来接受该请求。

  • 选中的工作进程处理该请求,生成响应并将其发送回客户端。

  • 这种模式下每个工作进程只能处理一个请求,处理完请求后会继续等待下一个请求。

优点:稳定

缺点:慢,占用资源,不适用于高并发场景

1.3.2 worker模式

在这里插入图片描述
工作线程(Worker)模式适用于资源利用率高的场景

  • Apache在启动时会创建一组预定义数量的线程池。

  • 每个线程都可以处理多个请求,线程之间共享服务器的内存和资源。

  • 当一个请求到达服务器时,一个空闲的线程将被选择来处理该请求。

  • 线程可能会处理多个请求,通过线程池重用来更高效地处理请求。

  • 这种模式下需要注意线程安全的问题,以确保多个线程间的数据访问不会导致冲突。

优点:相比prefork 占用的内存较少,可以同时处理更多的请求

缺点:使用keep-alive的长连接方式,某个线程会一直被占据,即使没有传输数据,也需要一直等待到超时才会被释放。

1.3.3 event模式

在这里插入图片描述

事件驱动(Event MPM)模式适用于高并发场景

  • 在事件驱动模式下,Apache使用I/O多路复用(如epoll或kqueue)来监听多个连接。

  • 当一个连接有数据到达时,Apache将发出事件通知,表示该连接有可读数据。

  • Apache将事件分发给一个空闲的工作线程来处理请求。

  • 工作线程处理请求的过程通常是非阻塞的,通过事件驱动方式读取数据和发送响应。

  • 这种模式下可以处理大量的并发请求,因为它不需要为每个请求创建一个新的进程或线程。

优点:单线程响应多请求,占据更少的内存,高并发下表现更优秀,会有一个专门的线程来管理keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务线程,执行完毕后,又允许它释放

缺点:没有线程安全控制

2.LAMP概述

2.1 LAMP的组成

在这里插入图片描述

组成部分功能
Linux(操作系统)LAMP 架构的基础,用于托管 Web 服务器和应用程序
Apache(web服务器)处理http的请求、构建响应报文等自身服务
Mysql(数据库)提供应用程序对数据的存储和读取
Php(编程语言)用于生成动态主页内容

2.2 LAMP各组件的主要作用

  • LInux:提供网段、可靠的操作系统

  • apache:
    第一:处理http的请求、构建响应报文等自身服务;
    第二:配置让Apache支持PHP程序的响应(通过PHP模块或FPM);
    第三:配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理。

  • mysql :
    第一:提供PHP程序对数据的存储;
    第二:提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。

  • php:
    提供apache的访问接口,即CGI或Fast CGI(FPM);
    提供PHP程序的解释器;
    提供mysql数据库的连接函数的基本环境。

2.3 LAMP的工作过程

  1. 客户端发送HTTP请求到LAMP服务器。
  2. Apache Web服务器接收到请求并解析请求的URL。
  3. Apache根据URL确定要访问的文件或资源,并将请求传递给适当的PHP解释器。
  4. PHP解释器执行服务器端的PHP代码,生成HTML等动态内容。
  5. PHP将生成的动态内容返回给Apache服务器。
  6. Apache服务器将动态内容返回给客户端。
  7. 客户端浏览器接收到动态内容,并显示在用户界面上。

2.4CGI和FastCGI

CGI(公共网关接口)和FastCGI(快速公共网关接口)都是用于将Web服务器与脚本语言(如PHP、Python、Perl等)之间进行通信的协议

特性CGIFastCGI
运行方式每次请求创建一个新的进程复用进程处理多个请求
性能每个请求需要重新加载代码多个请求共享同一份代码
连接方式临时连接常驻连接
并发能力每次只能处理一个请求可以在多个进程同时处理多个请求
扩展性难以扩展较容易进行扩展
安全性较低较高
适用场景适用于小型或低流量应用适用于高流量或复杂应用

3.搭建Discuz论坛所需

编译安装Apache httpd服务 ----->编译安装MySQL----->编译安装PHP ----->搭建LAMP平台

4.编译安装Apache httpd 服务

4.1前置准备

systemctl stop firewalld
setenforce 0
#关闭防火墙和selinux

在这里插入图片描述
在这里插入图片描述

4.2 搭建编译环境

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl pcregcc \                #c语言编译器
gcc-c++ \            #c编译器
make \               #源代码编译器
pcre\                #pcre函数库
pcre-devel \         #pcre接口开发包
expat-devel \        #用于支持网站解析HTML、XML文件
perl                 #perl 语言编译器

在这里插入图片描述

4.3 解压并移动软件包

解压软件包
cd /opt
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar jvxf httpd-2.4.29.tar.bz2x移动软件包
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-utilcd httpd-2.4.29

在这里插入图片描述
在这里插入图片描述

4.4 编译安装

 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi--prefix=/usr/local/httpd \       #指定httpd的安装目录
--enable-so \                     #启用动态加载模块支持,使httpd具备进一步扩展功能的能力
--enable-rewrite \             #启用网页地址的重写功能,用于网站优化、防盗链及目录迁移维护   
--enable-charset-lite \     #启用字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi      #启用CGI(通用网关接口)脚本程序支持,便于网站外部扩展应用访问的能力make -j2 && make install
#启用2核编译编译并安装

在这里插入图片描述

4.5 建立软连接,方便补全

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
#将文件拷入/etc/init.d/httpdln -s /usr/local/httpd/conf/httpd.conf /etc/
#建立配置文件软连接放入etc目录下ln -s /usr/local/httpd/bin/* /usr/local/bin/
#将启动文件放入/usr/local/bin/目录下可以直接使用

4.6添加httpd系统服务

方法一

vim /lib/systemd/system/httpd.service
#创建指向文件将httpd纳入systemd管理中[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}[Install]
WantedBy=multi-user.targetsystemctl daemon-reload
#重新加载
systemctl start httpd
#启动httpd服务
ss -natp |grep 80
#查看80端口是否被占用

在这里插入图片描述

方法二

修改配置文件
vim /etc/httpd.conf
--52行--修改
Listen 192.168.2.100:80
--197行--取消注释,修改
ServerName www.byyd.com:80--221行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置
DirectoryIndex index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

httpd -t
#检查语法错误cat /usr/local/httpd/htdocs/index.html
#查看主页文件内容

在这里插入图片描述

systemctl daemon-reload
#重新加载systemctl restart httpd;systemctl status httpd
#重新启动并查看服务状态

在这里插入图片描述

5.编译安装 mysql

5.1前置准备

systemctl stop firewalld
setenforce 0
#关闭防火墙和selinux

在这里插入图片描述
在这里插入图片描述

5.2 创造编译环境

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmakegcc \                  #C语言的编译器
gcc-c++ \              #C++的编译器
ncurses \              #字符终端下图形互动功能的动态库
ncurses-devel \        #ncurses开发包
bison \                #语法分析器
cmake                  #mysql需要用到的cmake编译安装包useradd -s /sbin/nologin mysql
#创建一个MySQL用户不允许登录

在这里插入图片描述

5.3 解压并移动源码包

tar xf mysql-5.7.17.tar.gz
tar xf boost_1_59_0.tar.gzmv boost_1_59_0 /usr/local/boost

在这里插入图片描述

5.4 配置软件模块

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \                             指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \            指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \                       指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \			指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \						指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \              安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \         指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \           指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1								生成便于systemctl管理的文件

在这里插入图片描述

#编译和安装
make -j2 && mask install 

在这里插入图片描述
在这里插入图片描述

chown -R mysql:mysql /usr/local/mysql/ 
#将数据库目录的属主和数组都改为mysql

5.5 修改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#服务全局配置
[mysqld]
user = mysql                                 #设置管理用户
basedir = /usr/local/mysql                   #指定数据库的安装目录
datadir = /usr/local/mysql/data              #指定数据库文件的存储路径
port = 3306                                  #指定端口
character_set_server=utf8                    #设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid       #指定pid 进程文件路径
socket = /usr/local/mysql/mysql.sock         #指定数据库连接文件
server-id = 1                                #指定服务ID号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
chown mysql:mysql /etc/my.cnf
#修改配置文件属主和属组

5.6修改环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profileecho 'export PATH' >> /etc/profilesource /etc/profile  #刷新使其生效

5.7 初始化数据库

cd /usr/local/mysql/bin/./mysqld \                        
--initialize-insecure \              #生成初始化密码为空
--user=mysql \                       #指定管理用户
--basedir=/usr/local/mysql \         #指定数据库的安装目录
--datadir=/usr/local/mysql/data      #指定数据库文件的存储路径

在这里插入图片描述

5.8 添加 MySql系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
#能使用systemctl启动
systemctl daemon-reload          刷新识别    
systemctl start mysqld.service   开启服务
systemctl enable mysqld          开机自启动
ss -anpt | grep 3306 |tr -s ' '       查看端口

在这里插入图片描述
在这里插入图片描述

5.9 修改MySql登录密码

mysqladmin -u root -p password "abc123" 
#刚开始没密码是空的直接回车mysql -u root -p     
#这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123

6.编译安装Php

6.1 前置准备

#安装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

在这里插入图片描述

tar xf php-7.1.10.tar.bz2
#解压软件模块

在这里插入图片描述

6.2 编译安装

cd php-7.1.10./configure \
--prefix=/usr/local/php7 \							指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \			指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \		指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7				设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \										添加 MySQL 扩展支持
--with-zlib \										支持zlib功能,提供数据压缩
--with-curl \										开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \											激活gd 库的支持
--with-jpeg-dir \									激活jpeg 的支持
--with-png-dir \									激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \									启用多字节字符串功能,以便支持中文等代码
--enable-xml \										开启扩展性标记语言模块
--enable-session \									会话
--enable-ftp \										文本传输协议
--enable-pdo \										函数库
--enable-tokenizer \								令牌解释器
--enable-zip										ZIP压缩格式

在这里插入图片描述

make -j2 && make install
#编译并安装

在这里插入图片描述

6.3复制模版文件作为PHP 的主配置文件,进行修改

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.inivim usr/local/php7/php.ini

在这里插入图片描述
在这里插入图片描述

6.4 优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别

ln -s /usr/local/php7/bin/* /usr/local/bin/php -m 
#查看php加载了那些模块

在这里插入图片描述

6.5 修改httpd 服务的配置文件,让apache支持PHP

vim /etc/httpd.conf 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.6 验证PHP测试页

rm -rf /usr/local/httpd/htdocs/index.html
#删掉原默认页面
vim /usr/local/httpd/htdocs/index.php
#编辑现默认页面
<?php
phpinfo();
?>systemctl restart httpd.service

在这里插入图片描述

7. 安装Discuz论坛

7.1 创建数据库并进行授权

mysql -u root -p
#以root用户身份运行数据库

在这里插入图片描述

注意:记得加英文的";"CREATE DATABASE bbs;
#创建一个数据库
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123
flush privileges;
#刷新数据库

在这里插入图片描述

show databases;
#查看当前创建数据库

在这里插入图片描述

7.2解压论坛压缩包并上传站点压缩包

unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis
#解压论坛压缩包cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/httpd/htdocs/bbs————————上传站点更新包

7.3 更改论坛目录属主

cd /usr/local/httpd/htdocs/bbschown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data

在这里插入图片描述
在这里插入图片描述

7.4 安装Discuz论坛

http://192.168.67.100/bbs
#论坛页面访问

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

Apache的简单介绍(LAMP架构+搭建Discuz论坛)

文章目录 1.Apache概述1.1什么是apache1.2 apache的功能及特性1.2.1功能1.2.2特性 1.3 MPM 工作模式1.3.1 prefork模式1.3.2 worker模式1.3.3 event模式 2.LAMP概述2.1 LAMP的组成2.2 LAMP各组件的主要作用2.3 LAMP的工作过程2.4CGI和FastCGI 3.搭建Discuz论坛所需4.编译安装Ap…...

CDL基础原理

一、CDL简介 CDL&#xff08;全称Change Data Loader&#xff09;是一个基于Kafka Connect框架的实时数据集成服务。 CDL服务能够从各种OLTP数据库中捕获数据库的Data Change事件&#xff0c;并推送到kafka&#xff0c;再由sink connector推送到大数据生态系统中。 CDL目前支…...

WPF基础入门-Class7-WPF-MVVN框架

WPF基础入门 Class7-MVVN框架 使用框架可以省掉如Class6中的ViewModelBase.cs的OnPropertyChanged&#xff0c;亦方便命令传参 1、NuGet安装CommunityToolkit.Mvvm&#xff08;原Mircrosoft.Toolkit.Mvvm&#xff09;也可以安装MVVMLight等其他集成库 2、显示页面&#xff1…...

C语言练习题第三弹!!!绝对典中典!!!

目录 1.单身狗1 1.1 题目 1.2 分析推理 1.3 代码实现 2.单身狗2 2.1 题目 2.2 分析推理 2.3 代码实现 3.字符串左旋 3.1 题目 3.2 分析推理 3.3 代码实现 3.3.1 方法一 3.3.2 优化一 3.3.2.1 思路分析 3.3.2.2 strcpy函数和strncat函数 3.3.2.3 代码实现 3.3.…...

Jedis

Jedis 使用Java操作redis Jedis是redis官方推荐的Java连接开发工具&#xff01; 使用Java操作redis的中间件 测试 导入对应的依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency><groupId>redis.clients</groupId&g…...

Linux 使用TCP_INFO查询TCP连接的状态信息

Linux 上可以使用TCP_INFO查询TCP连接状态信息包括&#xff1a; 发送方拥塞窗口阈值、发送方缓冲区拥塞窗口、advmss&#xff08;Advertised MSS&#xff09;、通过 ACK 确认的累计字节数等等 struct tcp_info {__u8 tcpi_state;__u8 tcpi_ca_state;__u8 tcpi_retransmits;__…...

软件测试案例 | 气象探测库存管理系统的集成测试计划

将经过单元测试的模块按照设计要求连接起来&#xff0c;组成规定的软件系统的过程被称为“集成”。集成测试也被称为组装测试、联合测试、子系统测试或部件测试等&#xff0c;其主要用于检查各个软件单元之间的接口是否正确。集成测试同时也是单元测试的逻辑扩展&#xff0c;即…...

vue点击按钮重新加载页面(vue第一次加载页面点击按钮出现页面刷新问题之后一切正常)

问题描述 所开发的vue项目每次跑起来之后就会出现点击按钮后重新加载整个页面的问题&#xff0c;但是只会在第一次点击的时候出现&#xff0c;后面就不会在出现加载整个页面的情况。 原因 在form表单中使用button按钮导致form表单进行了页面刷新。button默认的“type‘submi…...

软件工程(十一) 系统设计分类

我们知道需求规格说明书(SRS)落地之后, 就要开始着手系统设计了,看一下这个系统该如何来设计,并且如何实现。学习系统设计之前,需要先了解系统设计有哪些分类。 系统设计的分类如下 界面设计结构化设计面向对象设计(最重要)1、界面设计 界面设计也叫做人机界面设计,属于…...

数字转中文大写金额

有时候&#xff0c;我们需要显示中文大写金额&#xff0c;比如打印银行付款申请单等。 新建一个工程&#xff0c;加入一个标准模块在模块中加入如下代码&#xff0c;窗口中调用 AmountInChineseWords 函数即可。最大解析到百万亿&#xff0c;小数最多解析两位到分。 模块代码…...

Java——HashMap和HashTable的区别

Java——HashMap和HashTable的区别 Java HashMap和HashTable的区别1. 继承的父类2. 线程安全性3. null值问题4. 初始容量及扩容方式5. 遍历方式6. 计算hash值方式 Java HashMap和HashTable的区别 1. 继承的父类 都实现了Map、Cloneable&#xff08;可复制&#xff09;、Seria…...

Docker去除sudo权限

Docker去除sudo权限 使用docker命令时&#xff0c;每次都要sudo提权&#xff0c;否则就会报错提示无权限。 1.查看docker用户组及成员 sudo cat /etc/group | grep docker2.添加docker用户组 sudo groupadd docker3.添加用户到docker组 sudo gpasswd -a ${USER} docker4.增…...

【ROS系统】Ubuntu22.04系统中安装ROS2系统_ubuntu 安装ros2_GoesM

【ROS系统】Ubuntu22.04系统中安装ROS2系统_ubuntu 安装ros2_GoesM Excerpt ROS仿真、专为自动驾驶研发提供的系统平台_ubuntu 安装ros2 参考博客&#xff1a;ROS 安装详细教程 —— Ubuntu22.0.4 LTS 安装 Part 0. 准备 首先&#xff0c;我们需要一个Ubuntu系统。 Part 1. …...

MySQL8.0.22安装过程记录(个人笔记)

1.点击下载MySQL 2.解压到本地磁盘&#xff08;注意路径中不要有中文&#xff09; 3.在解压目录创建my.ini文件 文件内容为 [mysql] # 设置mysql客户端默认字符集 default-character-setutf8[mysqld] # 设置端口 port 3306 # 设计mysql的安装路径 basedirE:\01.app\05.Tool…...

Python中pip和conda的爱恨情仇

在使用pip和conda时&#xff0c;是否也有过以下的疑惑&#xff1f;&#xff1f;&#xff1f; 目前只总结了以下常见的几种混淆&#xff0c;如有学者还有其它疑惑&#xff0c;欢迎留言讨论&#xff0c;我会解答更新&#xff0c;帮助自己理清的同时&#xff0c;也帮助其他同样困…...

HTTPS协议原理

目录 前言 1.理解加密和解密 2.为什么要加密 3.常见的加密方式 3.1对称加密 3.2非对称加密 4.数据摘要和数据指纹 5. 数字签名 6.HTTPS的加密策略 6.1只使用对称加密 6.2使用非对称加密 6.2.1服务端使用非对称加密 6.2.2双方都使用非对称加密 6.3对称加密非对称加…...

C语言每日一练------Day(6)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字&#xff1a;整数转换 异或 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn…...

springboot中使用ElasticSearch

引入依赖 修改我们的pom.xml&#xff0c;加入spring-boot-starter-data-elasticsearch <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>编写配…...

十二、集合(2)

本章概要 添加元素组集合的打印列表 List 添加元素组 在 java.util 包中的 Arrays 和 Collections 类中都有很多实用的方法&#xff0c;可以在一个 Collection 中添加一组元素。 Arrays.asList() 方法接受一个数组或是逗号分隔的元素列表&#xff08;使用可变参数&#xff…...

【网络设备】交换机的概念、工作原理、功能以及以太网帧格式

个人主页&#xff1a;insist--个人主页​​​​​​ 本文专栏&#xff1a;网络基础——带你走进网络世界 本专栏会持续更新网络基础知识&#xff0c;希望大家多多支持&#xff0c;让我们一起探索这个神奇而广阔的网络世界。 目录 一、认识交换机 二、交换机的主要功能 1、数…...

研磨设计模式day11观察者模式

目录 场景 代码示例 定义 观察者模式的优缺点 本质 何时选用 简单变型-区别对待观察者 场景 我是一家报社&#xff0c;每当我发布一个新的报纸时&#xff0c;所有订阅我家报社的读者都可以接收到 代码示例 报纸对象 package day11观察者模式;import java.util.Observ…...

第八周第二天学习总结 | MySQL入门及练习学习第四天

实操练习&#xff1a; 1.建立一个员工表和与之对应的部门表 2.建立外键约束 3.使用多表查询&#xff0c;直接查询部门表和员工表 发现&#xff1a;有很多多余的因笛卡尔乘积而带来的多余输出内容 我想要的到简单明了的数据结果&#xff0c;要消除多于因笛卡尔乘积带来的输出…...

WPF数据转换

在基本绑定中&#xff0c;信息从源到目标的传递过程中没有任何变化。这看起来是符合逻辑的&#xff0c;但我们并不总是希望出现这种行为。通常&#xff0c;数据源使用的是低级表达方式&#xff0c;我们可能不希望直接在用户界面使用这种低级表达方式。WPF提供了两个工具&#x…...

《Go 语言第一课》课程学习笔记(十三)

方法 认识 Go 方法 Go 语言从设计伊始&#xff0c;就不支持经典的面向对象语法元素&#xff0c;比如类、对象、继承&#xff0c;等等&#xff0c;但 Go 语言仍保留了名为“方法&#xff08;method&#xff09;”的语法元素。当然&#xff0c;Go 语言中的方法和面向对象中的方…...

基于RUM高效治理网站用户体验入门-价值篇

用户体验 用户体验基本包含访问网站的性能、可用性和正确性。通俗的讲&#xff0c;就是一把通过用户访问测量【设计者】意图的尺子。 本文目的 网站如何传递出设计者的意图&#xff0c;可能页面加载时间太长、或者页面在用户的浏览器中渲染时间太慢&#xff0c;或者第三方设备…...

Unity之Photon PUN2开发多人游戏如何实现组队功能

前言 Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戏开发框架。它提供了一系列易于使用的API和工具,使开发者可以快速构建多人戏,并轻松处理多人游戏中的网络同步、房间管理、玩家匹配等问题。 我们在查看Pun2的Demo时,会发现Demo中自带了一个简…...

大数据Flink简介与架构剖析并搭建基础运行环境

文章目录 前言Flink 简介Flink 集群剖析Flink应用场景Flink基础运行环境搭建Docker安装docker-compose文件编写创建并运行容器访问Flink web界面 前言 前面我们分别介绍了大数据计算框架Hadoop与Spark,虽然他们有的有着良好的分布式文件系统和分布式计算引擎&#xff0c;有的有…...

RISC-V IOPMP实际用例-Rapid-k模型在NVIDIA上的应用

安全之安全(security)博客目录导读 2023 RISC-V中国峰会 安全相关议题汇总 说明&#xff1a;本文参考RISC-V 2023中国峰会如下议题&#xff0c;版权归原作者所有。...

【UE5】给模型指定面添加自定义材质

实现步骤 1. 首先我们向UE中导入一个简单的模型&#xff0c;可以看到目前该模型的材质插槽只有一个&#xff0c;当我们修改材质时会使得模型整体的材质全部改变&#xff0c;如果我们只想改变模型的某些面的材质就需要继续做后续操作。 2. 选择建模模式 3. 在模式工具栏中点击…...

mall:redis项目源码解析

文章目录 一、mall开源项目1.1 来源1.2 项目转移1.3 项目克隆 二、Redis 非关系型数据库2.1 Redis简介2.2 分布式后端项目的使用流程2.3 分布式后端项目的使用场景2.4 常见的缓存问题 三、源码解析3.1 集成与配置3.1.1 导入依赖3.1.2 添加配置3.1.3 全局跨域配置 3.2 Redis测试…...