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

LAMP架构

文章目录

  • LAMP架构
    • 一.简述
      • 各组件的主要作用如下:
    • 二.过程展示
      • 1.编译安装Apache httpd服务
        • (1)关闭防火墙,将安装Apache所需软件包传到/opt目录下
        • (2)安装环境依赖包
        • (3)配置软件模块
        • (4)编译及安装
        • (5)优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别
        • (6)添加httpd系统服务
        • (7)修改httpd服务配置文件
        • (8)浏览器访问验证
      • 2.编译安装mysqld服务
        • (1)将安装mysql 所需软件包传到/opt目录下
        • (2)安装环境依赖包
        • (3)配置软件模块
        • (4)编译及安装
        • (5)创建mysql用户
        • (6)修改mysql配置文件
        • (7)更改mysql安装目录和配置文件的属主属组
        • (8)设置路径环境变量
        • (9)初始化数据库
        • (10)添加mysqld系统服务
        • (11)修改mysql的登录密码
        • (12)授权远程登录
      • 3.编译安装PHP解析环境
        • (1)将安装PHP所需软件包传到/opt目录下
        • (2)安装GD库和GD库关联程序,用来处理和生成图片
        • (3)配置软件模块
        • (4)编译及安装
        • (5)复制模版文件作为PHP的主配置文件,并进行修改
        • (6)化把PHP的可执行程序文件放入路径环境变量的目录中便于系统识别
        • (7)修改httpd服务的配置文件,让apache支持PHP
        • (8)验证PHP测试页
        • (9)浏览器访问
      • 4.安装论坛
        • (1)创建数据库,并进行授权
        • (2)解压论坛压缩包
        • (3)更改论坛目录的属主
        • (4)浏览器访问验证,论坛页面访问
        • (5)登录论坛后台管理员用户页面

LAMP架构

一.简述

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境,LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言

各组件的主要作用如下:

  • (平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台)
  • (前台)Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容
  • (后台)MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息
  • (中间连接)PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境,其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发

注:在构建LAMP平台时,各组件的安装顺序依次为Linux、Apache、MySQL、PHP,其中Apache和MySQL的安装并没有严格的顺序,PHP环境的安装一般放到最后安装,负责沟通Web服务器和数据库系统以协同工作

二.过程展示

1.编译安装Apache httpd服务

(1)关闭防火墙,将安装Apache所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0httpd-2.4.29.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
注:apr组件包用于支持Apache上层应用跨平台,提供底层接口库,能有效的降低并发连接数、降低进程和减少访问堵塞

(2)安装环境依赖包

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perlgcc   ###C语言的编译器gcc-c++   ###C++的编译器make   ###源代码编译器(源代码转换成二进制文件)pcre   ###pcre是一个Perl函数库,包括perl兼容的正则表达式库pcre-devel   ###perl的接口开发包expat-devel   ###用于支持网站解析HTML、XML文件perl   ###perl语言编译器

(3)配置软件模块

tar zxvf apr-1.6.2.tar.gztar zxvf apr-util-1.6.0.tar.gztar jxvf httpd-2.4.29.tar.bz2mv apr-1.6.2 /opt/httpd-2.4.29/srclib/aprmv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-utilcd /opt/httpd-2.4.29/./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(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

(4)编译及安装

make   ###make -j2  表示开2核同时进行编译make install即:make [-j2] && make install

(5)优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别

ln -s /usr/local/httpd/conf/httpd.conf /etc/ln -s /usr/local/httpd/bin/* /usr/local/bin/

(6)添加httpd系统服务

方法一:
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd   ###用于service服务管理chmod +x /etc/init.d/httpdvim /etc/init.d/httpd###在第一行前插入新行,添加以下三行内容
#!/bin/bash# chkconfig: 35 85 21   ###35级别自动运行,第85个启动,第21个关闭# description: Apache is a World Wide Web serverchkconfig --add httpd   ###将httpd服务加入到service管理器systemctl start httpd.service或service httpd start方法二:
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   ###PID文件位置
ExecStart=/usr/local/bin/apachectl $OPTIONS   ###服务的运行命令
ExecReload=/bin/kill -HUP $MAINPID   ###根据PID重载配置
[Install]   ###服务安装的相关设置
WantedBy=multi-user.target   ###设置为多用户systemctl start httpd.service
systemctl enable httpd.service

(7)修改httpd服务配置文件

vim /etc/httpd.confListen 192.168.230.4:80   ###修改52行,地址为本机IPServerName www.xc.com:80   ###修改197行自定义域名,取消注释DocumentRoot "/usr/local/httpd/htdocs"   ###221行默认首页存放路径DirectoryIndex index.html   ###255行默认首页文件名设置httpd -t或apachectl -t   ###检查配置文件的配置项是否有误cat /usr/local/httpd/htdocs/index.htmlsystemctl restart httpd.service

(8)浏览器访问验证

netstat -anpt | grep 80echo "192.168.230.4 www.xc.com" >> /etc/hostshttp://192.168.230.4
http://www.xc.com

IP解析

在这里插入图片描述

域名解析

C盘—>Windows—>System32—>drivers—>etc—>hosts

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

2.编译安装mysqld服务

(1)将安装mysql 所需软件包传到/opt目录下

mysql-5.7.17.tar.gzboost_1_59_0.tar.gz   ###支持c++的运行库

(2)安装环境依赖包

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmakencurses   ###字符终端下图形互动功能的动态库ncurses-devel   ###ncurses开发包bison   ###语法分析器cmake   ###mysql需要用cmake编译安装

(3)配置软件模块

tar zxvf mysql-5.7.17.tar.gztar zxvf boost_1_59_0.tar.gzmv boost_1_59_0 /usr/local/boostcd 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------------------------------------------------------------------------------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管理的文件存储引擎选项:MYISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE=1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)注:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

(4)编译及安装

make [-j2] && make install

(5)创建mysql用户

useradd -M -s /sbin/nologin mysql

(6)修改mysql配置文件

vim /etc/my.cnf   ###删除原配置项,再重新添加下面内容[client]
port = 3306
socket=/usr/local/mysql/mysql.sock[mysql]
port = 3306
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 = 1sql_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-----------------------------------------------------------------------------[client]
port = 3306
socket = /usr/local/mysql/mysql.sock			
[mysql]
###客户端设置
port = 3306
socket = /usr/local/mysql/mysql.sock			
[mysql]
###服务端设置
port = 3306
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
###设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid
###指定pid进程文件路径
socket=/usr/local/mysql/mysql.sock
###指定数据库连接文件
bind-address = 0.0.0.0
###设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve
###禁用DNS解析
max_connections=2048
###设置mysql的最大连接数
default-storage-engine=INNODB
###指定默认存储引擎
max_allowed_packet=16M
###设置数据库接收的数据包大小的最大值
server-id = 1
###指定服务ID号-----------------------------------------------------------------------------sql_mode常用值如下:NO_ENGINE_SUBSTITUTION   ###如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常STRICT_TRANS_TABLES   ###在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制NO_AUTO_CREATE_USER   ###禁止GRANT创建密码为空的用户NO_AUTO_VALUE_ON_ZERO   ###mysql中的自增长列可以从0开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错NO_ZERO_IN_DATE   ###不允许日期和月份为零NO_ZERO_DATE   ###mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告ERROR_FOR_DIVISION_BY_ZERO   ###在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MySQL返回NULLPIPES_AS_CONCAT   ###将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似ANSI_QUOTES   ###启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

(7)更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf

(8)设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profilesource /etc/profile

(9)初始化数据库

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

(10)添加mysqld系统服务

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   ###开机自启动netstat -lnpt | grep 3306   ###查看端口

(11)修改mysql的登录密码

mysqladmin -u root password "abc123"   ###给root账号设置密码为abc123,原始密码为空

(12)授权远程登录

mysql -u root -pgrant all privileges on *.* to 'root'@'%' identified by 'abc123';   ###授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限show databases;   ###查看当前已有的数据库

3.编译安装PHP解析环境

(1)将安装PHP所需软件包传到/opt目录下

php-7.1.10.tar.bz2

(2)安装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

(3)配置软件模块

tar jxvf php-7.1.10.tar.bz2cd /opt/php-7.1.10/./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 \
--enable-zip-------------------------------------------------------------------------------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 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理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压缩格式

(4)编译及安装

make [-j2] && make install

(5)复制模版文件作为PHP的主配置文件,并进行修改

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini   ###在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件vim /usr/local/php7/php.inimysqli.default_socket = /usr/local/mysql/mysql.sock   ###1170行修改date.timezone = Asia/Shanghai   ###939行取消注释,修改

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

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

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

vim /etc/httpd.confDirectoryIndex index.html index.php   ###255行修改首页文件名设置AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
###393行插入此两行内容注:末行模式输入/php7查看支持php7的模块是否存在
LoadModule php7_module
modules/libphp7.so

(8)验证PHP测试页

rm -rf /usr/local/httpd/htdocs/index.htmlvim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>

(9)浏览器访问

http://192.168.230.4   ###本机IP

在这里插入图片描述

4.安装论坛

(1)创建数据库,并进行授权

mysql -u root -pCREATE DATABASE bbs;   ###创建一个数据库GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';   ####把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123flush privileges;   ###刷新数据库show databases;

(2)解压论坛压缩包

unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/discd /opt/dis/dir_SC_UTF8/cp -r upload/ /usr/local/httpd/htdocs/bbs   ###上传站点更新包

(3)更改论坛目录的属主

ps aux   ###查看发现论坛进程的用户名是daemoncd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server

(4)浏览器访问验证,论坛页面访问

http://192.168.230.4/bbs

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

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

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

(5)登录论坛后台管理员用户页面

http://192.168.230.4/bbs/admin.php

在这里插入图片描述

相关文章:

LAMP架构

文章目录 LAMP架构一.简述各组件的主要作用如下&#xff1a; 二.过程展示1.编译安装Apache httpd服务(1)关闭防火墙&#xff0c;将安装Apache所需软件包传到/opt目录下(2)安装环境依赖包(3)配置软件模块(4)编译及安装(5)优化配置文件路径&#xff0c;并把httpd服务的可执行程序…...

javascript基础七:说说你对Javascript中作用域的理解?

一、作用域 作用域&#xff0c;即变量&#xff08;变量作用域又称上下文&#xff09;和函数生效&#xff08;能被访问&#xff09;的区域或集合 换句话说&#xff0c;作用域决定了代码区块中变量和其他资源的可见性 举个粟子 function myFunction(){let name小爱同学 } undef…...

chatgpt赋能python:Python变量赋值

Python 变量赋值 在 Python 中&#xff0c;我们可以使用多种符号来给变量赋值。本文将介绍这些符号以及它们在编程中的应用。 等号&#xff08;&#xff09; 在 Python 中&#xff0c;我们最常用的符号是等号&#xff08;&#xff09;&#xff0c;它可以将一个值赋给一个变量…...

SAP-QM-物料主数据-质量管理视图字段解析

过账到质检库存&#xff1a;要勾选&#xff0c;否则收货后库存不进入质检库存HU检验&#xff1a;收货到启用HU管理的库位时产生检验批&#xff0c;例如某个成品物料是收货到C002库位&#xff0c;该库位启用了HU管理&#xff0c;那么此处要勾选。但是如果勾选了&#xff0c;却收…...

【Netty】一行简单的writeAndFlush都做了哪些事(十八)

文章目录 前言一、源码分析1.1 ctx.writeAndFlush 的逻辑1.2 writeAndFlush 源码1.3 ChannelOutBoundBuff 类1.4 addMessage 方法1.5 addFlush 方法1.6 AbstractNioByteChannel 类 总结 前言 回顾Netty系列文章&#xff1a; Netty 概述&#xff08;一&#xff09;Netty 架构设…...

STM32U575 DMA配置

起个摘要&#xff0c;后期维护 1、DMA原理&#xff1a;参考&#xff1a;【STM32】DMA原理&#xff0c;配置步骤超详细&#xff0c;一文搞懂DMA_dma配置_~Old的博客-CSDN博客 2、STM32U575的DMA资源&#xff1a; &#xff08;datasheet摘要&#xff09; 3、UART的使用 4、I2…...

14-Vue3快速上手

目录 1.Vue3简介2. Vue3带来了什么2.1 性能的提升2.2 源码的升级2.3 拥抱TypeScript2.4 新的特性 1、海贼王&#xff0c;我当定了&#xff01;——路飞 2、人&#xff0c;最重要的是“心”啊&#xff01;——山治 3、如果放弃&#xff0c;我将终身遗憾。——路飞 4、人的梦想是…...

Docker registry 搭建

1、安装 docker 环境 参考&#xff1a;https://mp.csdn.net/mp_blog/creation/editor/104673841 2、准备 registry 镜像 机器有外网访问权限&#xff0c;直接 docker pull registry 通过 docker images 查看本地镜像 3、启动 registry docker run -d -p 5000:5000 --rest…...

关于三维布尔运算的几点思考

目录 三维布尔运算概述三角网格布尔运算效率提升思考BSPTree方式优化 参考 三维布尔运算概述 三维布尔运算根据三维实体数据结构表达分为CSG布尔运算、Brep布尔运算、三角网格布尔运算等类型。这几种类型算法在不同情境下有不同的优势&#xff0c;根据情况进行选择。但这也不能…...

【03.04】大数据教程--html+css基础

当谈到大数据时&#xff0c;HTML和CSS可能并不是最相关的技术。HTML和CSS主要用于构建网页和应用程序的用户界面&#xff0c;而大数据则涉及处理和分析大规模数据集。但是&#xff0c;如果您想展示有关大数据的信息或结果&#xff0c;并在网页上呈现&#xff0c;那么HTML和CSS可…...

深入理解与实践Seata:分布式事务解决方案

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;微服务 &#x1f96d;本文内容&…...

Python学习笔记 - 探索元组Tuple的使用

欢迎各位&#xff0c;我是Mr数据杨&#xff0c;你们的Python导游。今天&#xff0c;我要为大家讲解一段特殊的旅程&#xff0c;它与《三国演义》有关&#xff0c;而我们的主角是元组&#xff08;tuple&#xff09;。 让我们想象这样一个场景&#xff0c;三国演义中的诸葛亮&am…...

JAVA网络编程(一)

一、什么是网络编程 定义&#xff1a;在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景&#xff1a;即时通信&#xff0c;网游&#xff0c;邮件等 不管什么场景&#xff0c;都是计算机与计算机之间通过网络在进行数据传输 java提供一…...

Python 线程队列

文章目录 Python 中的线程在 Python 中使用队列限制线程 本篇文章将介绍限制 Python 中的活动线程数。 Python 中的线程 Python 中的线程允许多个执行线程在单个进程中同时运行。 每个线程独立于其他线程运行&#xff0c;允许并发执行并提高性能。 线程对于执行受 I/O 限制或…...

创建web后端程序(servlet程序搭建)

目录 一、Servlet概述 二、创建servlet程序 1.创建类继承HttpServlet 2.重写HttpServlet类中 service、destroy、init方法 3.重新启动服务器 一、Servlet概述 Server Applet的简称&#xff0c;用Java编写的服务器端的程序。它运行在web服务器中&#xff0c;web服务器负责…...

【章节1】git commit规范 + husky + lint-staged实现commit的时候格式化代码

创建项目我们不多说&#xff0c;可以选择默认的&#xff0c;也可以用你们现有的项目。注意章节1和章节2请一起看&#xff01; 章节1: commit规范 husky lint-staged格式化代码 章节2: husky 检测是否有未解决的冲突 预检查debugger 自动检查是否符合commit规范 前言&#x…...

【入门】拐角III

【入门】拐角III Description 输入整数N&#xff0c;输出相应方阵。 Input 一个整数N。&#xff08; 0 < n < 10 ) Output 一个方阵&#xff0c;每个数字的场宽为3。 Sample Input 1 5 Sample Output 1 5 5 5 5 55 4 4 4 45 4 3 3 35 4 3 2 25 4…...

如何使用 Fail2ban 防止对 Linux 的暴力攻击?

在当今数字化世界中&#xff0c;网络安全成为了一个极其重要的话题。Linux 作为一种广泛使用的操作系统&#xff0c;也面临着各种网络攻击的风险&#xff0c;包括暴力攻击、密码破解和恶意登录等。为了保护 Linux 系统的安全&#xff0c;我们可以使用 Fail2ban 这样的工具来防止…...

2023年,真的别裸辞....

作为IT行业的大热岗位——软件测试&#xff0c;只要你付出了&#xff0c;就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的&#xff0c;但放眼望去&#xff0c;哪个工作不是这样的呢&#xff1f;会有哪家公司愿意养一些闲人呢&#xff1f;…...

规则引擎架构-基于easy-rules

目录 概念理解实例和编码抽象出2条规则简单的规则引擎事实1的处理事实2的处理 easy-rules 规则的抽象和执行事实描述规则的抽象默认的规则 动态代理执行规则和动作规则的执行&#xff1a;org.jeasy.rules.core.DefaultRulesEngine#doFirepublic class RuleProxy implements Inv…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...