LAMP架构与搭建论坛

目录

1、LAMP架构简述

2、各组件作用

3、构建LAMP平台

3.1编译安装Apache httpd服务

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

3.1.2安装环境依赖包 

3.1.3配置 设置安装目录、安装模块 

  3.1.4编译安装

 3.1.5优化配置文件路径

3.1.6启动apache服务(添加httpd系统服务)

3.1.7修改配置文件

3.2编译安装mysql 

3.2.1将安装mysql所需要的软件包移至opt目录下

 3.2.2安装环境依赖包

3.2.3配置软件模块

3.2.4编译安装

3.2.5创建mysql用户

3.2.6修改mysql配置文件

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

3.2.8设置路径环境变量

3.2.9初始化数据库

3.2.10添加mysqld系统服务

3.2.11修改mysqld的登录密码

3.2.12授权远程登录

3.3编译安装php

3.3.1将安装php所需要的软件包移至opt目录下并解压

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

3.3.3配置软件模块

3.3.4编译安装

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

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

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

3.3.8验证PHP 测试页、

4、 搭建一个论坛

4.1登录数据库

4.2创建数据库并授权

4.3 刷新数据库

4.4解压论坛压缩包

4.5更改论坛目录的属主

4.6浏览器访问验证


1、LAMP架构简述

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

2、各组件作用

平台:Linux

作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。

前台:Apache

作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。

后台:MySQL

作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。

中间连接:PHP/Perl/Python

作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

3、构建LAMP平台

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

3.1编译安装Apache httpd服务

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

关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0

将下载好的软件包拖至opt目录下

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

3.1.2安装环境依赖包 

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

解压软件包

  • 要在软件包所在目录解压,此处软件包所在目录为opt
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
  •  将apr-1.6.2 、apr-util-1.6.0移动到 /httpd-2.4.29/srclib/并改名
[root@localhost httpd-2.4.29]# cd srclib/
[root@localhost srclib]# ls
Makefile.in
[root@localhost srclib]# mv /opt/apr-1.6.2 ./apr
[root@localhost srclib]# mv /opt/apr-util-1.6.0 ./apr-util
[root@localhost srclib]# ls
apr  apr-util  Makefile.in

3.1.3配置 设置安装目录、安装模块 

进入/opt/httpd-2.4.29进行如下配置

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

  3.1.4编译安装

[root@localhost httpd-2.4.29]# make -j 2 && make install ##-j 2  使用2核编译 速度更快一点

 编译安装结束后进入 /usr/local查看是否有httpd服务,有则安装成功

[root@localhost httpd-2.4.29]# cd /usr/local
[root@localhost local]# ls
bin  etc  games  httpd  include  lib  lib64  libexec  sbin  share  src

 3.1.5优化配置文件路径

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

[root@localhost local]# ls
bin  etc  games  httpd  include  lib  lib64  libexec  sbin  share  src
[root@localhost local]# cd httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@localhost httpd]# cd bin/
[root@localhost bin]# ls
ab            apu-1-config  dbmmanage    fcgistarter   htdigest  httxt2dbm
apachectl     apxs          envvars      htcacheclean  htpasswd  logresolve
apr-1-config  checkgid      envvars-std  htdbm         httpd     rotatelogs
[root@localhost bin]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost bin]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

将配置文件放入etc目录下方便查找修改

[root@localhost bin]# cd /usr/local/httpd/
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@localhost httpd]# cd conf/
[root@localhost conf]# ls
extra  httpd.conf  magic  mime.types  original
[root@localhost conf]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost conf]# ll /etc/httpd.conf 
lrwxrwxrwx. 1 root root 32 5月   3 11:25 /etc/httpd.conf -> /usr/local/httpd/conf/httpd.conf

3.1.6启动apache服务(添加httpd系统服务)

[root@localhost conf]#cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd 
#用于service服务管理
[root@localhost conf]# cd /etc/init.d/
[root@localhost conf]# ls
[root@localhost conf]# chmod +x /etc/init.d/httpd  #已经是可执行文件可以省略此步骤
[root@localhost conf]# ls
[root@localhost conf]# vim httpd
-----------------------------------------------------
#!/bin/bash                            #第一行前插入新行
#chkconfig: 235 20 99                  # 235级别自动运行  第20个启动 第99个关闭
#description: this is Apache                          
------------------------------------------------------------
#将httpd加入到SERVICE管理器
[root@localhost init.d]# chkconfig --add httpd
[root@localhost init.d]# chkconfig --list httpd注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 'systemctl list-unit-files'。查看在具体 target 启用的服务请执行'systemctl list-dependencies [target]'。httpd          	0:关	1:关	2:开	3:开	4:关	5:开	6:关[root@localhost init.d]# systemctl start httpd.service
或者
[root@localhost init.d]# service httpd start

3.1.7修改配置文件

[root@localhost init.d]#vim /etc/httpd.conf
#52行,监听地址为自己的ip地址
Listen 192.168.52.130:80
#197行
ServerName www.my.com:80
[root@localhost init.d]# httpd -t  对配置文件进行检查 是否有语法错误 或者使用 apachectl -t
Syntax OK
[root@localhost init.d]# systemctl restart httpd  重启httpd服务

输入IP访问测试

访问的页面为/usr/local/httpd/htdocs/index.html里的内容

3.2编译安装mysql 

3.2.1将安装mysql所需要的软件包移至opt目录下

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

[root@localhost ~]# cd /opt
[root@localhost opt]# ls
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29  httpd-2.4.29.tar.bz2  rh
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  rh
apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17.tar.gz

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

3.2.3配置软件模块

  • 将软件包解压到opt目录下,并查看
tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz
  •  解压后将boost文件夹移动到/usr/local目录下并改名
[root@localhost opt]# mv boost_1_59_0 /usr/local/boost
[root@localhost opt]# ls
apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz
apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17          rh
  • 进入mysql-5.7.17进行模块配置
cd 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的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

[root@localhost opt]# cd mysql-5.7.17/
[root@localhost 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

3.2.4编译安装

[root@localhost mysql-5.7.17]# make -j 2 && make install

查看是否安装成功

[root@localhost mysql-5.7.17]# cd /usr/local
[root@localhost local]# ls
bin  boost  etc  games  httpd  include  lib  lib64  libexec  mysql  sbin  share  src

3.2.5创建mysql用户

useradd -M -s /sbin/nologin  mysql

3.2.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							#禁用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,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

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

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

3.2.8设置路径环境变量

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

3.2.9初始化数据库

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

3.2.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.2.11修改mysqld的登录密码

mysqladmin -u root -p password "123123" 	#给root账号设置密码为123123,提示输入的是原始密码(为空)

3.2.12授权远程登录

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

3.3编译安装php

3.3.1将安装php所需要的软件包移至opt目录下并解压

[root@localhost bin]# cd /opt
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz  rh
apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17          php-7.1.10.tar.bz2[root@localhost opt]# tar jxvf php-7.1.10.tar.bz2
[root@localhost opt]# ls
apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz  php-7.1.10.tar.bz2
apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17          php-7.1.10           rh

3.3.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.3.3配置软件模块

cd /opt/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 扩展支持 #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        

3.3.4编译安装

[root@localhost php-7.1.10]# make -j 2 && make install

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

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

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

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

 3.3.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
---检查支持php7的模块是否存在------
LoadModule php7_module        modules/libphp7.so
[root@localhost php7]# systemctl restart httpd.service  #重启httpd服务

3.3.8验证PHP 测试页、

[root@localhost php7]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# rm -rf index.html
[root@localhost htdocs]# ls
[root@localhost htdocs]# vim /usr/local/httpd/htdocs/index.php
[root@localhost htdocs]# ls
index.php
[root@localhost htdocs]# cat index.php 
<?php
phpinfo();
?>
[root@localhost htdocs]# systemctl restart httpd.service  #重启httpd服务

4、 搭建一个论坛

4.1登录数据库

[root@localhost htdocs]# mysql -uroot -p123123
show databases;

4.2创建数据库并授权

mysql> creat databases bbs; #新建数据库

4.3 刷新数据库

flush privileges;

4.4解压论坛压缩包

[root@localhost htdocs]# cd /opt/
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
apr-1.6.2.tar.gz       Discuz_X3.4_SC_UTF8.zip  mysql-5.7.17         php-7.1.10.tar.bz2
apr-util-1.6.0.tar.gz  httpd-2.4.29             mysql-5.7.17.tar.gz  rh
boost_1_59_0.tar.gz    httpd-2.4.29.tar.bz2     php-7.1.10[root@localhost opt]# unzip /opt/Discuz_X3.4_SC_UTF8.zip
#因为是zip格式的压缩包所以用unzip解压
[root@localhost opt]# ls
apr-1.6.2.tar.gz       dir_SC_UTF8              httpd-2.4.29.tar.bz2  php-7.1.10          说明.htm
apr-util-1.6.0.tar.gz  Discuz_X3.4_SC_UTF8.zip  mysql-5.7.17          php-7.1.10.tar.bz2
boost_1_59_0.tar.gz    httpd-2.4.29             mysql-5.7.17.tar.gz   rh
[root@localhost opt]# cd dir_SC_UTF8/
[root@localhost dir_SC_UTF8]# ls
readme  upload  utility
[root@localhost dir_SC_UTF8]# cp -r upload/ /usr/local/httpd/htdocs/bbs  
//上传站点更新包
[root@localhost dir_SC_UTF8]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
bbs  index.php

4.5更改论坛目录的属主

ps aux                            #查看发现论坛进程的用户名是daemon

将属主改为demon

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

4.6浏览器访问验证

点击同意后,进入第一步,检查无误后点击下一步 

设置完密码后点击下一步
数据库服务器:localhost     ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端

 

点击访问即可进入论坛 

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

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

相关文章

【机器学习300问】45、什么是推荐系统?

我想大家对于推荐系统都能或多或少的讲出一些&#xff0c;因为现在的广告厂商真是想方设法的把他们的产品推送到我们面前来&#xff0c;让我们看到并产生购买的欲望&#xff01; 推荐系统就像是一位超级贴心的私人购物顾问或者智能娱乐向导 想象一下你走进一家巨大的网上商城或…

北航计算机软件技术基础课程作业笔记【1】

为白成刚老师的课程&#xff0c;简单做一个记录&#xff0c;内容偏基础&#xff0c;自己仅保留认为有用的部分 L1&#xff1a;算法概论 课程简单介绍了复杂度、算法的概念 1.作业 计算下列各片断程序中xx1的执行次数 (1) for (i1; i<n; i)for (j1; i<n; j)for (k1; …

牛客小白月赛89补题1(ABCD)(偏难)

评价&#xff1a; 高情商&#xff1a;收获很大 &#xff0c;让自己进一步认清自己。 低情商&#xff1a;题目难&#xff0c;自己太菜了。 今天还有一些其他事&#xff0c;剩下的题明天再补。 我们从a题开始吧&#xff1a; A.签到 我们只要看看其中的max与min是否不符合即可…

Android14之selinux报错:ERROR: end of file in comment(一百九十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

项目成功秘诀:高效管理策略确保按时交付v2

一、项目成功的重要性 在当今竞争激烈的商业环境中&#xff0c;项目的成功对于企业的生存和发展具有至关重要的意义。项目的成功不仅意味着企业能够达成既定的业务目标&#xff0c;还能提升企业的市场地位、增强品牌影响力&#xff0c;并为企业的可持续发展奠定坚实基础。我们…

eMule 中的“低 ID”(Low id)

在 eMule 中&#xff0c;“低 ID”是指 eDonkey 网络内的客户端 ID 被归类为“低”的情况。 这种分类表明客户端的连接有一定的限制或限制。 在 eMule 中&#xff0c;ID 较低可能会影响用户连接到其他客户端的能力&#xff0c;并可能导致下载速度变慢或出现其他网络问题。 eMu…

中型企业网络路由器配置(ensp)实验

vlan、vlan间路由、ospf协议等来实现三层交换机和单臂路由之间的通信 拓扑图&#xff1a; 1. 配置三层交换机vlan和vlan间路由 SW1 #进入视图 sys sysn sw1 undo info-center enable#配置vlan vlan batch 10 20 30 40 50 60#配置access口 int g0/0/1 port link-type access …

vuetify3 弹窗中使用 element-plus 时间控件异常解决

1、解决方案: v-dialog 标签加上3个属性&#xff1a; 1、persistent &#xff1a;禁用点击窗口外的关闭事件 2、no-click-animation&#xff1a;禁用点击动画 3、retain-focus&#xff1a;取消焦点事件 2、填报弹窗基本代码&#xff1a; 就看 v-dialog 标签属性就行&#xf…

【Qt5】QVariant

2024年3月22日&#xff0c;周五下午 什么是QVariant QVariant 是 Qt 框架中用于处理各种数据类型的通用类。它可以存储几乎任何类型的数据&#xff0c;并且能够在不同的 Qt 类之间进行类型转换。QVariant 在 Qt 中被广泛用于处理不同的数据类型&#xff0c;包括基本数据类型&a…

Python Using cached demjson-2.2.4.tar.gz (131 kB)...报错

安装demjson报错&#xff0c;提示Using cached demjson-2.2.4.tar.gz (131 kB)...... 解决办法 使用pip list查看&#xff0c;发现是setuptools版本过高导致&#xff0c;这里我使用的是45.2版本 pip uninstall setuptools pip install setuptools45.2 pip install demjson …

ChatGPT提示词大全:解锁AI对话

2024升级ChatGPTPLUS最快的方法 一、什么是ChatGPT提示词&#xff1f; ChatGPT提示词是用户在与ChatGPT进行对话时&#xff0c;提供的一些关键词或短语&#xff0c;用于引导ChatGPT的回答方向和内容。通过合理的提示词设置&#xff0c;用户可以更加精确地获取所需信息&#x…

HBase的Bulk Load流程

目录 1. 数据准备 2. 文件移动 3. 加载数据 4. Region处理 5. 元数据更新 6. 完成加载 7. 清理 8. 异常处理 LoadIncrementalHFiles&#xff08;也称为Bulk Load&#xff09;是HBase中一种将大量数据高效导入到HBase表的机制。以下是LoadIncrementalHFiles的主要流程步…

视觉信息处理和FPGA实现第6次作业-Matlab实现灰度图像的亮度调节

一、代码 close all;clear all;clc; pic imread("cameraman.tif"); [M,N] size(pic); disp("Contrast Ajust Demo"); value input("Please input number of value, range: 0~2\n"); while value>2 || value<0disp("The number is in…

Springboot集成jersey打包jar找不到class处理

环境 java17 springboot 3.x 如题&#xff0c;简单来说&#xff0c;jersey官方希望用户通过 register 的方式&#xff0c;将所有的资源类注册到jersey中&#xff0c;但是&#xff0c;一般开发中&#xff0c;可能定义了N个Resource类&#xff0c;一个一个的加入&#xff0c;太…

python--for循环

for循环&#xff1a; python中的for循环是用来迭代容器中的每一个元素的&#xff0c;而不是c,java中理解那个循环&#xff1b; for 零时变量 in 容器&#xff1a; print&#xff08;零时变量&#xff09; #每一个迭代出的元素 range 全局函数&#xff1a; …

嵌入式面试积累

C语言 1、volatile关键字的作用 volatile意为”易变的“&#xff0c;是一种类型修饰符。提示编译器这个编译器定义的变量可以随时改变&#xff0c;编译器将不会轻易优化该变量&#xff0c;它主要用于多线程编程中&#xff0c;用来保证共享变量的内存可见性。 volatile修饰的…

P6技巧:修改P6 Professional标题/标签名称/字体

前言 P6 Professional作为P6的客户端工具其本身具有一定的改造属性&#xff0c;通过修改其安装程序文件&#xff0c;可以实现对部分功能菜单/标签文字名称的修改/重定义 如以下标识的信息&#xff0c;都可对齐改名 方法 以下介绍的方法只可对本机有效&#xff0c;这里已修改…

开学考核复现

不要尝试爆破哟!(misc) 下载图片&#xff0c;解析图片 拿到密码&#xff0c;解压压缩包&#xff0c;生成图片 扫描二维码 留个后门(misc) D盾扫描 打开文件寻找 师姐的旅游照片(misc) 随波逐流&#xff0c;然后base64解码 修改后缀为zip&#xff0c;解压 修改高度 Fuck! (C…

服务器硬防和软防是什么?

关于服务器防御相关的知识很多新手都不是很了解&#xff0c;服务器防御分为服务器硬防和软防&#xff0c;接下来小编就带领大家一起来了解一下什么是服务器硬防和软防。 一、服务器硬防 服务器硬防主要指的是硬件防火墙&#xff0c;能够在硬件设备中嵌入防火墙的防御程序&…