部署LAMP平台

目录

一、LAMP简介与概述

1.1 各组件作用

1.2 LAMP平台搭建时各组件安装顺序

1.3 httpd服务的目录结构

1.4 httpd.conf配置文件

二、编译安装Apache httpd服务

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

2.2 安装环境依赖包

​2.3 配置软件模块

2.4 编译及安装

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

2.6 添加httpd系统服务

2.7 修改httpd 服务配置文件

2.8 浏览器访问验证

三、编译安装MySQL服务

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

3.2 安装环境依赖包

3.3 配置软件模块

3.4 编译及安装

3.5 创建mysql用户

3.6 修改mysql 配置文件

3.7.更改mysql安装目录和配置文件的属主属组

3.8 设置路径环境变量

3.9 初始化数据库

3.10 添加mysqld系统服务

3.11 修改mysql 的登录密码

3.12 授权远程登录

四、编译安装PHP 解析环境

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

4.2 安装GD库和GD库关联程序,用来处理和生成图片

4.3 配置软件模块

4.4 编译及安装

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

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

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

4.8 验证PHP 测试页

五、安装论坛

5.1 创建数据库,并进行授权

5.2 解压论坛压缩包

5.3 更改论坛目录的属主

5.4浏览器访问验证


一、LAMP简介与概述

1.1 各组件作用

各组件的主要作用如下:

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

1.2 LAMP平台搭建时各组件安装顺序

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

1.3 httpd服务的目录结构

服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志:/usr/localhttpd/log/access_ log
错误日志:/usr/local/httpd/log/error_ log

1.4 httpd.conf配置文件

常用的全局配置参数

ServerRoot:服务目录
Listen:监听的IP地址、端口号
User:运行服务的用户身份
Group:运行服务的组身份
ServerAdmin:管理员邮箱
ServerName:网站服务器的域名。
DocumentRoot:网页文档的根目录
DirectoryIndex:默认的索引页文件
ErrorLog:设置错误日志文件的路径
LogLevel:记录日志的级别,默认为warn

二、编译安装Apache httpd服务

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

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

httpd-2.4.29.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz

#apr组件包用于支持Apache上层应用跨平台,提供底层接口库,能有效的提高并发连接数、降低进程和减少访问堵塞。

2.2 安装环境依赖包

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

 2.3 配置软件模块

cd /opt/
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2

mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

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

2.4 编译及安装

make                            #make -j2  表示开2核同时进行编译
make install         #这一步需要等待

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

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

2.6 添加httpd系统服务

方法一:

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd        #用于service服务管理
chmod +x /etc/init.d/httpd
vi /etc/init.d/httpd
#!/bin/bash                                                #在第一行前插入新行,添加此三行内容
# chkconfig: 35 85 21                                    #35级别自动运行  第85个启动 第21个关闭                                                       
# description: Apache is a World Wide Web server       #后面不要有空格

chkconfig --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

2.7 修改httpd 服务配置文件

cd /usr/local/httpd/conf/
cp httpd.conf httpd.conf.bak
# 进行备份
vim /etc/httpd.conf
--52行--修改
Listen 192.198.80.10:80
--197行--取消注释,修改
ServerName www.kgc.com:80

--221行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置
DirectoryIndex index.html

httpd -t  或 apachectl -t            #检查配置文件的配置项是否有误
cat /usr/local/httpd/htdocs/index.html
systemctl restart httpd.service

2.8 浏览器访问验证

netstat -anpt | grep 80
echo "20.0.0.100 www.xy101.com" >> /etc/hosts
http://20.0.0.100
http://www.xy101.com

三、编译安装MySQL服务

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

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

3.2 安装环境依赖包

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

3.3 配置软件模块

tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz

cd /opt
mv boost_1_59_0 /usr/local/boost        #重命名
cd /opt/mysql-5.7.17/
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管理的文件
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

存储引擎选项:
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,否则错误依旧

3.4 编译及安装

make -j3 && make install    #等待下载

3.5 创建mysql用户

useradd -M -s /sbin/nologin  mysql

3.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                    #设置服务器字符集编码格式为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                            #禁止域名解析,包括主机名,所以授权的时候要使用 IP 地址
max_connections=4096                        #设置mysql的最大连接数
default-storage-engine=INNODB                #指定默认存储引擎
max_allowed_packet=32M                        #设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB,最大值是 1GB,必须设置 1024 的倍数。
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
[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中的自增长列可以从0开始。默认情况下自增长列是从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后,不能用双引号来引用字符串,因为它被解释为识别符

3.7.更改mysql安装目录和配置文件的属主属组

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

3.8 设置路径环境变量

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

3.9 初始化数据库

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

3.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 -anpt | grep 3306       #查看端口

3.11 修改mysql 的登录密码

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

3.12 授权远程登录

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

show databases;            #查看当前已有的数据库

四、编译安装PHP 解析环境

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

php-7.1.10.tar.bz2

4.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

4.3 配置软件模块

cd /opt
tar xf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/

./configure \
--prefix=/usr/local/php \                            #指定将 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/php/lib            #设置 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压缩格式
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php/lib \
--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

4.4 编译及安装

make -j3 && make install

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

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

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

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

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

vim /etc/httpd.conf 
--393行--插入以下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
--255行--修改首页文件名设置
DirectoryIndex index.html index.php

---检查156支持php7的模块是否存在------
LoadModule php7_module        modules/libphp7.so

4.8 验证PHP 测试页

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

systemctl restart httpd.service

浏览器访问

http://20.0.0.100

五、安装论坛

5.1 创建数据库,并进行授权

mysql -u root -p

CREATE DATABASE discuz;
#创建一个数据库

GRANT all ON discuz.* TO 'disuser'@'%' IDENTIFIED BY 'admin123';
#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码admin123

flush privileges;
#刷新数据库

show databases;

5.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/discuz        #上传站点更新包

5.3 更改论坛目录的属主

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

5.4浏览器访问验证

论坛页面访问
http://20.0.0.100/discuz


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


论坛后台管理员页面
http://20.0.0.100/discuz/cao.php

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

监控员工电脑屏幕的五大软件(电脑监控软件大盘点)

监控员工电脑屏幕是企业为了提升工作效率、确保信息安全和合规性而采取的一种常见做法。以下是五款在2024年备受推荐的员工电脑屏幕监控软件&#xff0c;每款软件都具有其独特的功能和优势&#xff1a; 1. 域智盾 域智盾是一款全面的终端管理系统&#xff0c;集成了实时屏幕监…

CSP俄罗斯方块(简单易懂)

开始将题目理解成了&#xff0c;开始的列应该是从输入图案的最左端开始计算&#xff0c;将前面所有的空列都删掉&#xff0c;代码如下&#xff1a; #include<bits/stdc.h> using namespace std; const int N 1e410; const int M 1e510; int a[20][20]; int b[5][5];int…

docker同步bilibili收藏视频到群晖,可配合emby

作者是amtoaer&#xff0c;在github项目地址&#xff1a;https://github.com/amtoaer/bili-sync 有两个版本&#xff0c;1.0和2.0&#xff0c;我使用的是2.0 PS2&#xff1a;2.0和1.0版本目录结构不兼容&#xff0c;所以部署后会全量重新下载视频。 演示&#xff1a; 依然是…

啊哈!算法-第2章-栈、队列、链表

啊哈!算法-第2章-栈、队列、链表 第1节 解密qq号——队列第2节 解密回文——栈第3节 纸牌游戏——小猫钓鱼第4节 链表第5节 模拟链表 第1节 解密qq号——队列 新学期开始了&#xff0c;小哈是小哼的新同桌(小哈是个大帅哥哦~)&#xff0c;小哼向小哈询问 QQ 号&#xff0c; 小…

XXE(XML外部实体注入)

1、XXE原理 XXE&#xff08;XML外部实体注入&#xff0c;XML External Entity) &#xff0c;在应用程序解析XML输入时&#xff0c;当允许引用外部实体时&#xff0c;可构造恶意内容&#xff0c;导致读取任意文件、探测内网端口、攻击内网网站、发起DoS拒绝服务攻击、执行系统命…

DOS学习-目录与文件应用操作经典案例-more

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 DOS系统的more命令是一个用于查看文本文件内容的工具。…

【教学类-58-04】黑白三角拼图04(2-10宫格,每个宫格随机1张-6张,带空格纸)

背景需求&#xff1a; 前期制作了黑白三角拼图2*2、3*3、4*4&#xff0c;确定了基本模板&#xff0c;就可以批量制作更多格子数 【教学类-58-01】黑白三角拼图01&#xff08;2*2宫格&#xff09;固定256种随机抽取10张-CSDN博客文章浏览阅读522次&#xff0c;点赞13次&#x…

通过扩展指令增强基于覆盖引导的模糊测试

本文由Bruno Oliveira于2024年4月25日发表于IncludeSec的官方网站上。作为IncludeSec的安全研究人员&#xff0c;在他们日常的安全审计和渗透测试工作中&#xff0c;有时需要为客户开发一些模糊测试工具。在安全评估方法中使用模糊测试技术&#xff0c;可以有效地在复杂的现代化…

全免费的数据恢复工具哪个好?分享2024年性价比超高的12款数据恢复软件!

当您丢失重要文件时&#xff0c;您应该可不想遇到措手不及的情况吧&#xff1f;相反&#xff0c;您需要在系统中使用一些可靠的数据恢复软件&#xff0c;但是全免费的数据恢复工具哪个好呢&#xff1f;别担心&#xff0c;本文将帮助您选择最适合您的解决方案。 如何挑选一款合适…

QT常量中有换行符

头文件添加&#xff1a; #pragma execution_character_set("utf-8")

我用LLaMA-Factory微调大模型来实现商品评论情感分析,准确率高达91.70%

大家好&#xff0c;我是程序锅。 最近在modelscope上闲逛的时候&#xff0c;在数据集板块发现有一个商品评论情感预测数据集。这个数据集源自一个比赛&#xff0c;它的目的是为了预测电商平台顾客的评论是好评还是差评。 数据示例如下所示&#xff08;其中0代表差评&#xff…

【YOLOv10训练教程】如何使用YOLOv10训练自己的数据集并且推理使用

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【二叉树】力扣OJ题

文章目录 前言1. 翻转二叉树1.1 题目1.2 解题思路1.3 代码实现1.4 时空复杂度 2. 对称二叉树2.1 题目2.2 解题思路2.3 代码实现2.4 时空复杂度 3. 平衡二叉树3.1 题目3.2 解题思路3.3 代码实现3.4 时空复杂度 结语 前言 本篇博客主要介绍二叉树的经典 OJ 题&#xff0c;题目主…

间接平差——以水准网平差为例 (python详细过程版)

目录 一、原理概述二、案例分析三、代码实现四、结果展示本文由CSDN点云侠原创,间接平差——以水准网平差为例 (python详细过程版),爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 一、原理概述 间接平差的函数模型和随机模型…

算法与数据结构汇总

刷题建议步骤 求职硬通货&#xff1a;一&#xff0c;好的学历&#xff0c;这个要下血本。本科&#xff0c;可以考研&#xff0c;读研。专科&#xff0c;可以专升本&#xff0c;再考研&#xff0c;读研&#xff0c;二&#xff0c;软考&#xff0c;一年考两次&#xff0c;有些科…

MySQL:表的约束

文章目录 0.小知识&#xff0c;数据转化1.空属性(非空约束)2.默认值&#xff08;default&#xff09;3.comment&#xff08;列描述&#xff09;4.zerofill(显示约束)5.primary key(主键约束)6.auto_increment(自增长)7.unique(唯一键)8.foreign key (外键)9.综合表结构的设计 表…

Android 版本与 API level 以及 NDK 版本对应

采用 Android studio 开发 Android app 的时候&#xff0c;需要选择支持的最低 API Level 和使用的 NDK 版本&#xff0c;对应开发 app 的最低 SDK 版本&#xff1a; 在 app 的 build.gradle 文件里&#xff0c;对应于代码如下&#xff1a; 目前各版本的占有率情况如下&#xf…

docker不删除容器更改其挂载目录

场景&#xff1a;docker搭建的jenkins通常需要配置很多开发环境&#xff0c;当要更换挂载目录&#xff0c;每次都需要删除容器重新运行&#xff0c;不在挂载目录的环境通常不会保留。 先给一个参考博客docker不删除容器&#xff0c;修改容器挂载或其他_jenkins 修改容器挂载do…

电子电器架构 - AUTOSAR软件架构Current Features in a Nutshell

电子电器架构 - AUTOSAR软件架构Current Features in a Nutshell 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的…

Gradle的settings.gradle.kts你真的理解吗?

你还在用.gradle文件吗&#xff1f;例如build.gradle、settings.gradle&#xff0c;那么你就out了。现在我们有必要了解一下kts脚本了。在Android项目中&#xff0c;默认有3个文件可以替换成kts脚本&#xff0c;即project的build.gradle、app模块的build.gradle和project的sett…