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

学习周报-2023-0210

文章目录

  • 一 在SUSE11sp3系统中将openssh从6升级到8
    • 一 需求
    • 二 系统环境
    • 三 部署流程
      • 1.上传编译安装的软件包
      • 2.安装 gcc编译软件
      • 3.安装依赖zlib
      • 4.安装依赖openssl
      • 5.安装openssh
  • 二 在CentOS-6.9配置apache服务(3)---虚拟主机配置
    • 一 定义
    • 二 系统环境
    • 三 基于域名
      • 3.1 安装软件
      • 3.2 修改主配置文件
      • 3.3 编写虚拟主机配置文件
      • 3.4 创建站点目录和测试文件
      • 3.5 设置防火墙访问策略
      • 3.6 编写Linux和Windows的hosts文件
      • 3.7 重启服务并测试
      • 3.8 报错说明
    • 四 基于IP
      • 4.1 添加网卡
      • 4.2 安装软件
      • 4.3 编写主配置文件
      • 4.4 编写虚拟主机配置文件
      • 4.5 创建站点目录和测试文件
      • 4.6 设置防火墙访问策略
      • 4.7 重启服务并测试
    • 五 基于端口
      • 5.1 安装软件
      • 5.2 编写主配置文件
      • 5.3 编写虚拟主机配置文件
      • 5.4 创建站点目录和测试文件
      • 5.5 设置防火墙访问策略
      • 5.6 重启服务并测试
    • 六 基于IP和端口
  • 三 Linux进程的三种状态
  • 四 在CentOS-6.9下配置apache和php
    • 一 系统环境
    • 二 编译安装apache
      • 2.1 下载和解压软件包
      • 2.2 配置软件
      • 2.3 编译和安装软件
      • 2.4 创建软连接
    • 三 编译安装php
      • 3.1 下载和解压软件包
      • 3.2 配置软件
      • 3.3 编译和安装软件
      • 3.4 修改配置文件
      • 3.5 创建站点目录下的文件
      • 3.6 修改防火墙策略
      • 3.7 启动apache服务

一 在SUSE11sp3系统中将openssh从6升级到8

一 需求

在 SUSE11sp3 系统中,希望将openssh的版本从6升级到8,通过软件的更新从而漏洞修复,但系统中没有gcc编译器。

二 系统环境

查看原系统的系统版本与SSH版本。

linux-e9r4:~ # cat /etc/SuSE-release 
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 3
linux-e9r4:~ # ssh -V
OpenSSH_6.2p2, OpenSSL 0.9.8j-fips 07 Jan 2009

在这里插入图片描述

三 部署流程

1.上传编译安装的软件包

将安装所需的安装包放入/opt/中,由root用户执行
在 /opt 目录下包含如下包:
openssh-8.5p1.tar.gz openssl-1.1.1b.tar.gz zlib-1.2.1.1.tar.gz

在这里插入图片描述

2.安装 gcc编译软件

在SUSE系统使用 zypper 安装的方式(类似于centos系统的yum安装),解决gcc-c++的软件依赖问题。

zypper  install  gcc-c++

执行命令后,会安装相关依赖软件包,包括gcc gcc43 gcc43-c++ gcc-c++ glibc-devel libstdc++43-devel linux-kernel-headers

在这里插入图片描述

执行命令 gcc --version 可以查看gcc的版本

在这里插入图片描述

3.安装依赖zlib

先解压软件包,进行软件的配置

linux-e9r4:/opt # tar xf zlib-1.2.1.1.tar.gz 
linux-e9r4:/opt # cd zlib-1.2.1.1/
linux-e9r4:/opt/zlib-1.2.1.1 # ./configure --shared

在这里插入图片描述

然后进行软件的编译

 linux-e9r4:/opt/zlib-1.2.1.1 # make

在这里插入图片描述

最后进行软件的安装

linux-e9r4:/opt/zlib-1.2.1.1 # make install

在这里插入图片描述

4.安装依赖openssl

首先查看openssl软件版本

linux-e9r4:/opt # openssl version -a

在这里插入图片描述

接着解压软件包,进行软件的配置

linux-e9r4:/opt # tar xf openssl-1.1.1b.tar.gz 
linux-e9r4:/opt # cd openssl-1.1.1b/
linux-e9r4:/opt/openssl-1.1.1b # ./config shared

在这里插入图片描述

然后进行软件的编译

linux-e9r4:/opt/openssl-1.1.1b # make

接着进行软件的安装

linux-e9r4:/opt/openssl-1.1.1b # make install

再备份旧的openssl二进制文件,并创建软链接

linux-e9r4:/opt/openssl-1.1.1b # mv /usr/bin/openssl /usr/bin/openssl.old
linux-e9r4:/opt/openssl-1.1.1b # ln -s /usr/local/bin/openssl /usr/bin/openssl
linux-e9r4:/opt/openssl-1.1.1b # ln -s /usr/local/include/openssl /usr/include/openssl
linux-e9r4:/opt/openssl-1.1.1b # echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
linux-e9r4:/opt/openssl-1.1.1b # /sbin/ldconfig -v

查看openssl软件版本

linux-e9r4:/opt/openssl-1.1.1b # openssl version -a

在这里插入图片描述

5.安装openssh

先解压软件包,然后进行配置。
在进行软件配置的过程中,由于当前zlib的版本较低,所以使用参数 --without-zlib-version-check 跳过该项配置检查,继续向下完成其他配置部署。

linux-e9r4:/opt # tar xf openssh-8.5p1.tar.gz 
linux-e9r4:/opt # ls
openssh-8.5p1  openssh-8.5p1.tar.gz  openssl-1.1.1b  openssl-1.1.1b.tar.gz  zlib-1.2.1.1  zlib-1.2.1.1.tar.gz
linux-e9r4:/opt # cd openssh-8.5p1/
linux-e9r4:/opt/openssh-8.5p1 # ./configure --prefix=/usr/ --sysconfdir=/etc/ssh -with-zlib  -with-ssl-dir=/usr/local/ssl  -with-md5-passwords mandir=/usr/share/man --without-zlib-version-check

接着进行软件的编译和安装

linux-e9r4:/opt/openssh-8.5p1 # make
linux-e9r4:/opt/openssh-8.5p1 # make install

在这里插入图片描述

然后备份旧的sshd文件,用新的文件覆盖

linux-e9r4:/opt/openssh-8.5p1 # cp sshd_config /etc/ssh/
linux-e9r4:/opt/openssh-8.5p1 # mv /usr/sbin/sshd{,.old}
linux-e9r4:/opt/openssh-8.5p1 # mv /usr/bin/ssh{,.old}
linux-e9r4:/opt/openssh-8.5p1 # cp sshd /usr/sbin/sshd
linux-e9r4:/opt/openssh-8.5p1 # cp ssh /usr/bin/ssh

允许root用户远程登录

linux-e9r4:/opt/openssh-8.5p1 # echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

重启sshd服务,并查看ssh版本

linux-e9r4:/opt/openssh-8.5p1 # service sshd restart
linux-e9r4:/opt/openssh-8.5p1 # ssh -V

在这里插入图片描述

二 在CentOS-6.9配置apache服务(3)—虚拟主机配置

文章目录

  • 一 在SUSE11sp3系统中将openssh从6升级到8
    • 一 需求
    • 二 系统环境
    • 三 部署流程
      • 1.上传编译安装的软件包
      • 2.安装 gcc编译软件
      • 3.安装依赖zlib
      • 4.安装依赖openssl
      • 5.安装openssh
  • 二 在CentOS-6.9配置apache服务(3)---虚拟主机配置
    • 一 定义
    • 二 系统环境
    • 三 基于域名
      • 3.1 安装软件
      • 3.2 修改主配置文件
      • 3.3 编写虚拟主机配置文件
      • 3.4 创建站点目录和测试文件
      • 3.5 设置防火墙访问策略
      • 3.6 编写Linux和Windows的hosts文件
      • 3.7 重启服务并测试
      • 3.8 报错说明
    • 四 基于IP
      • 4.1 添加网卡
      • 4.2 安装软件
      • 4.3 编写主配置文件
      • 4.4 编写虚拟主机配置文件
      • 4.5 创建站点目录和测试文件
      • 4.6 设置防火墙访问策略
      • 4.7 重启服务并测试
    • 五 基于端口
      • 5.1 安装软件
      • 5.2 编写主配置文件
      • 5.3 编写虚拟主机配置文件
      • 5.4 创建站点目录和测试文件
      • 5.5 设置防火墙访问策略
      • 5.6 重启服务并测试
    • 六 基于IP和端口
  • 三 Linux进程的三种状态
  • 四 在CentOS-6.9下配置apache和php
    • 一 系统环境
    • 二 编译安装apache
      • 2.1 下载和解压软件包
      • 2.2 配置软件
      • 2.3 编译和安装软件
      • 2.4 创建软连接
    • 三 编译安装php
      • 3.1 下载和解压软件包
      • 3.2 配置软件
      • 3.3 编译和安装软件
      • 3.4 修改配置文件
      • 3.5 创建站点目录下的文件
      • 3.6 修改防火墙策略
      • 3.7 启动apache服务

一 定义

虚拟主机是指在一台WWW服务器上为多个单独的域名提供web服务,产生不同的web界面。每个域名都有特定的目录和配置,相当于将一台主机分为多台主机。它满足了对主机数量不足而又想为不同用户提供独立web服务的需求。

二 系统环境

参数
主机IP10.0.0.100
安装的apache版本Apache/2.2.15 (Unix)
操作系统版本CentOS release 6.9 (Final)
操作系统内核2.6.32-696.el6.x86_64

三 基于域名

在一个主机创建多个网站,采用多个域名进行访问,其中域名对应的IP是同一个。

3.1 安装软件

yum安装apache服务

yum install -y httpd

安装完成后,会有2个依赖软件包一同被安装。

在这里插入图片描述

3.2 修改主配置文件

通过yum安装得到的主配置文件是 /etc/httpd/conf/httpd.conf
在对其修改前,首先进行源文件备份。

[root@test ~]# cd /etc/httpd/conf
[root@test conf]# cp httpd.conf httpd.conf.bak

我们对 httpd.conf 进行修改,这是apache最终生效的主配置文件。

在这里插入图片描述

ServerName 后面的IP改成本主机网卡绑定的IP地址。
NameVirtualHost 前面的注释符号去掉,使其生效。

(检查Include这一步在 中同样检查,不再赘述)
检查 Include conf.d/*.conf 没有注释符号,需要生效。
在这里插入图片描述

3.3 编写虚拟主机配置文件

首先进入 /etc/httpd/conf.d/ 目录下,创建 vhost.conf

cd /etc/httpd/conf.d/
touch vhost.conf

配置的域名分别为 www.test1.comwww.test2.com,站点目录分别为 /var/www/html/test1/var/www/html/test2

[root@test conf.d]# cat vhost.conf
<VirtualHost *:80>ServerName www.test1.comDocumentRoot "/var/www/html/test1"ErrorLog logs/test1.errCustomLog logs/test1.access common
</VirtualHost><VirtualHost *:80>ServerName www.test2.comDocumentRoot "/var/www/html/test2"ErrorLog logs/test2.errCustomLog logs/test2.access common
</VirtualHost>

在这里插入图片描述

修改配置文件后,使用 httpd -t 检查httpd服务的配置文件语法是否有错。

在这里插入图片描述

3.4 创建站点目录和测试文件

mkdir -p /var/www/html/test{1,2}
echo "www.test1.com" > /var/www/html/test1/index.html
echo "www.test2.com" > /var/www/html/test2/index.html

3.5 设置防火墙访问策略

允许80端口的服务。
添加一行下列内容。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

在这里插入图片描述

3.6 编写Linux和Windows的hosts文件

在Linux中,编写 /etc/hosts 文件,使域名和IP产生映射关系。

在这里插入图片描述

在Windows,编写 C:\Windows\System32\drivers\etc\hosts 文件。

在这里插入图片描述

3.7 重启服务并测试

首先重启防火墙和httpd服务。

service iptables restart
service httpd restart

其次先在Linux测试,页面内容可以正常显示。

在这里插入图片描述

接着在Windows浏览器测试,也可以正常显示。

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

由此可知,基于域名的虚拟主机配置成功。

3.8 报错说明

(1)如果在日志文件中发现,服务器出现下列错误提示:

configuration error:  couldn't perform authentication. AuthType not set!: /

此处的500错误需要检查是否存在 Require all granted

在这里插入图片描述

如果出现,删除 Require all granted 即可。

(2)出现下列错误,将所有配置文件中多余的NameVirtualHost *:80参数删除掉即可,只保留我们配置的那部分内容。

[warn] NameVirtualHost *:80 has no VirtualHosts

(3)出现下列错误,去掉主配置文件的 ServerName 参数前面的注释,使其生效即可。

httpd: apr_sockaddr_info_get() failed for test

四 基于IP

在一个服务器上配置多个IP地址,每个IP地址提供不同的web界面,每个IP地址都有特定的目录和配置。

4.1 添加网卡

由于本机只有一个网卡,IP是10.0.0.100,因此需要添加一个网卡,IP是10.0.0.101

在这里插入图片描述
然后编写 eth1 网卡的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth1

在这里插入图片描述

将网卡名eth0改为eth1,将IP地址改成新的10.0.0.101,并修改mac地址。
得到mac地址,输入命令 ip a

在这里插入图片描述
最后重启网卡服务即可。

在这里插入图片描述

4.2 安装软件

yum安装apache服务

yum install -y httpd

安装完成后,会有2个依赖软件包一同被安装。

在这里插入图片描述

4.3 编写主配置文件

去掉 ServerName 的注释,使其生效。
在这里插入图片描述

其他内容不需要改变。

4.4 编写虚拟主机配置文件

[root@test conf.d]# cat vhost.conf 
<VirtualHost 10.0.0.100:80>ServerName 10.0.0.100DocumentRoot "/var/www/html/test1"ErrorLog logs/test1.errCustomLog logs/test1.access common
</VirtualHost><VirtualHost 10.0.0.101:80>ServerName 10.0.0.101DocumentRoot "/var/www/html/test2"ErrorLog logs/test2.errCustomLog logs/test2.access common
</VirtualHost>

编写配置文件后,使用 httpd -t 检查语法格式。
在这里插入图片描述

4.5 创建站点目录和测试文件

mkdir -p /var/www/html/test{1,2}
echo "10.0.0.100" > /var/www/html/test1/index.html
echo "10.0.0.101" > /var/www/html/test2/index.html

4.6 设置防火墙访问策略

允许80端口的服务。
添加一行下列内容。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

在这里插入图片描述

4.7 重启服务并测试

首先重启防火墙和httpd服务。

service iptables restart
service httpd restart

其次先在Linux测试,页面内容可以正常显示。

在这里插入图片描述

接着在Windows浏览器参数,页面也可以正常显示。

在这里插入图片描述

在这里插入图片描述

综上所述,基于IP的虚拟主机配置成功。

五 基于端口

向外网用户提供多个端口的HTTP服务器。

5.1 安装软件

yum安装apache服务

yum install -y httpd

安装完成后,会有2个依赖软件包一同被安装。

在这里插入图片描述

5.2 编写主配置文件

去掉 ServerName 的注释,使其生效。
在这里插入图片描述

增加端口号,81和82.
在这里插入图片描述

其他内容不需要改变。

5.3 编写虚拟主机配置文件

[root@test conf.d]# cat vhost.conf 
<VirtualHost *:81>ServerName www.test1.comDocumentRoot "/var/www/html/test1"ErrorLog logs/test1.errCustomLog logs/test1.access common
</VirtualHost><VirtualHost *:82>ServerName www.test2.comDocumentRoot "/var/www/html/test2"ErrorLog logs/test2.errCustomLog logs/test2.access common
</VirtualHost>

编写后,使用 httpd -t 检测,配置文件格式正确。
在这里插入图片描述

5.4 创建站点目录和测试文件

mkdir -p /var/www/html/test{1,2}
echo "10.0.0.100:81" > /var/www/html/test1/index.html
echo "10.0.0.100:82" > /var/www/html/test2/index.html

5.5 设置防火墙访问策略

允许80端口的服务。
添加一行下列内容。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 82 -j ACCEPT

在这里插入图片描述

5.6 重启服务并测试

首先重启防火墙和httpd服务。

service iptables restart
service httpd restart

其次先在Linux测试,页面内容可以正常显示。

在这里插入图片描述

接着在Windows浏览器参数,页面也可以正常显示。

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

综上所述,基于端口的虚拟主机配置成功。

六 基于IP和端口

配置好第二块网卡后,在 配置的基础上,只将虚拟主机配置文件进行修改成下列格式

在这里插入图片描述
就可以配置基于IP和端口的虚拟主机。

测试结果如下:

在这里插入图片描述

三 Linux进程的三种状态

(1)运行态(running):进程占有处理器正在运行。
(2)就绪态(ready):进程具备运行条件,等待系统分配处理器以便运行。
(3)等待态(wait):又称为阻塞态(blocked)或睡眠态(sleep),指进程不具备运行条件,正在等待某个事件的完成。

在这里插入图片描述

总结:
进程创建后,如果不具备运行条件,就是等待态;
如果具备运行条件,需要在CPU的调度下,分别执行。正在执行的就是运行态,等待调度的是就绪态。

四 在CentOS-6.9下配置apache和php

一 系统环境

主机IP:10.0.0.100
系统版本:CentOS-6.9

在这里插入图片描述

二 编译安装apache

2.1 下载和解压软件包

进入/opt目录下,下载源码包。

cd /opt
wget https://archive.apache.org/dist/httpd/httpd-2.2.10.tar.gz

接着使用tar命令进行解压。

tar zxvf https://archive.apache.org/dist/httpd/httpd-2.2.10.tar.gz

2.2 配置软件

进入解压后的目录

cd httpd-2.2.10

设置参数,配置apache软件的服务

./configure --prefix=/usr/local/apache2 --enable-so --enable-modules=most --bindir=/usr/bin --sysconfdir=/etc

参数 --prefix 表示将安装后的apache服务的文件都放在这个目录下
参数 --enable-so 表示打开模块支持功能,so模块是提供DSO支持的apache核心模块。
参数 --enable-modules=most 都表示启用绝大多数的模块。
参数 --bindir=/usr/bin 表示服务执行文件的目录。
参数 --sysconfdir=/etc 表示服务配置文件的目录。

2.3 编译和安装软件

使用命令先对软件进行编译。

make

然后进行编译安装。

make install

2.4 创建软连接

ln -s /usr/local/apache2 /apache2

三 编译安装php

3.1 下载和解压软件包

进入/opt目录下,下载源码包。

cd /opt
wget https://museum.php.net/php5/php-5.2.0.tar.gz

接着使用tar命令进行解压。

tar xf php-5.2.0.tar.gz
cd php-5.2.0

接着提前上传,并安装在编译时需要的依赖软件包。

rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm 
rpm -ivh libxml2-devel-2.7.6-21.el6_8.1.x86_64.rpm
rpm -ivh libpng-1.2.49-2.el6_7.x86_64.rpm
rpm -ivh libpng-devel-1.2.49-2.el6_7.x86_64.rpm
rpm -ivh libpng-static-1.2.49-2.el6_7.x86_64.rpm
rpm -ivh libjpeg-6b-46.el6.x86_64.rpm libjpeg-devel-6b-46.el6.x86_64.rpm --force

再使用 rpm -ql libjpeg找到该文件的文件路径/usr/lib64/libjpeg.so.62,创建在/usr/lib下的软链接文件

ln -s /usr/lib64/libjpeg.so.62 /usr/lib/libjpeg.so

同理,创建 libpng 的软链接文件。

ln -s /usr/lib64/libpng.so.3 /usr/lib/libpng.so

3.2 配置软件

接着进行软件的配置,并与apache服务进行整合。

./configure --prefix=/usr/local/apache --enable-force-cgi-redirect --with-freetype=dir=/usr --with-gd --enable-gd-native-ttf --with-ttf --with-gettext --with-iconv --with-zlib --with-xml --enable-calendar --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/lib/libjpeg.so --with-png-dir=/usr/lib/libpng.so

参数 --prefix=/usr/local/apache 指定PHP的安装目录。
参数 --with-apxs2=/usr/local/apache2/bin/apxs 整合到apache2的服务中。
参数 --with-xml 支持XML语言。

3.3 编译和安装软件

make
make install

3.4 修改配置文件

修改apache主配置文件 /etc/httpd.conf

启用 ServerName 选项,并在配置文件底部添加下列内容。

AddType application/x-httpd-php  .php
AddType application/x-httpd-php-source  .phps

然后将 /opt 下的 php安装目录复制到 /usr/local 下,并创建 php.ini 文件。

cp -rp /opt/php-5.2.0 /usr/local/
mkdir -p  /usr/local/php-5.2.0/lib/
cp /usr/local/php-5.2.0/php.ini-dist /usr/local/php-5.2.0/lib/php.ini

并设置 /usr/local/php-5.2.0/lib/php.ini 文件中的下列参数

register_globals = On

3.5 创建站点目录下的文件

在 /apache2/htdocs 目录下,创建index.php 文件。

[root@test htdocs]# pwd
/apache2/htdocs
[root@test htdocs]# cat index.php 
<?
phpinfo();
?>

3.6 修改防火墙策略

允许80端口。

在这里插入图片描述

然后重启服务。

/etc/init.d/iptables restart

3.7 启动apache服务

/apache2/bin/apachectl start

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

相关文章:

学习周报-2023-0210

文章目录一 在SUSE11sp3系统中将openssh从6升级到8一 需求二 系统环境三 部署流程1.上传编译安装的软件包2.安装 gcc编译软件3.安装依赖zlib4.安装依赖openssl5.安装openssh二 在CentOS-6.9配置apache服务&#xff08;3&#xff09;---虚拟主机配置一 定义二 系统环境三 基于域…...

百度富文本UE的问题集合

百度富文本编辑能上传视频成功但是在浏览器不能播放、显示的问题百度富文本视频封面空白问题百度富文本编辑器UMEditor 添加视频无法删除百度富文本编辑器结果存数据库取出来到js赋值报错怎么让浏览器重新加载修改过的JS文件&#xff0c;而不是沿用缓存里的百度富文本编辑能上传…...

在Linux上安装node-v14.17.3和npm-6.14.13

记录&#xff1a;374场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;安装node-v14.17.3-linux-x64环境。包括node-v14.17.3和npm-6.14.13。node命令应用和npm命令应用。版本&#xff1a;JDK 1.8 node v14.17.3 npm 6.14.13官网地址&#xff1a;https://nodejs.org/下载地址…...

机器学习框架sklearn之特征降维

目录特征降维概念特征选择过滤式①低方差特征过滤②相关系数③主成分分析特征降维 0维 标量 1维 向量 2维 矩阵 概念 降维是指在某些限定条件下&#xff0c;降低随机变量&#xff08;特征&#xff09;个数&#xff0c;得到一组“不相关”主变量的过程 注&#xff1a;正是…...

java实现二叉树(一文带你详细了解二叉树的)

&#x1f387;&#x1f387;&#x1f387;作者&#xff1a; 小鱼不会骑车 &#x1f386;&#x1f386;&#x1f386;专栏&#xff1a; 《数据结构》 &#x1f393;&#x1f393;&#x1f393;个人简介&#xff1a; 一名专科大一在读的小比特&#xff0c;努力学习编程是我唯一…...

学弟学妹少走弯路,超完整算法刷题路线出炉

大家好&#xff0c;我是帅地。 本篇文章主要讲解下面三个事&#xff1a; 1、自己学习算法的一些经历 2、大家学习算法存在的一些普遍问题 3、给大家规划的算法刷题路线 一、算法学习往事 记得当初学了 C 语言就开始刷题了&#xff0c;刷题倒不是面试&#xff0c;而是为了…...

Windows截取gif动态图的软件 ScreenToGif 的安装、使用教程

一、概述 &#x1f449;GIF&#xff08;Graphics Interchange Format&#xff09;&#xff0c;又称图形交换格式&#xff0c;是一种公用的图像文件格式标准&#xff0c;于1987年由Compu Serve公司成功研发并推出。 &#x1f449;GIF用于以超文本标志语言方式显示索引彩色图像&a…...

C++程序设计——多态:虚函数、抽象类、虚函数表

注&#xff1a;以下示例均是在VS2019环境下 一、多态的概念 通俗来讲&#xff0c;多态就是多种形态&#xff0c;当不同的对象去完成某个行为时&#xff0c;会产生出不同的状态。即不同继承关系的类对象&#xff0c;去调用同一函数时&#xff0c;产生不同的行为。 比如”叫“这…...

OpenMMLab AI实战营 第6课 语义分割与MMSegmentation

第6课 语义分割与MMSegmentation 1. 语义分割简介 任务&#xff1a;将图像按照物体的类别分割成不同的区域&#xff0c;等价于对每个像素进行分类应用 无人驾驶人像分割智能遥感医疗影像分析 语义分割 vs 实例分割 vs 全景分割 语义分割&#xff1a;仅考虑像素的类别&#xf…...

产业互联网是对互联网的衍生和进化,也是一次重塑和再造

互联网并不仅仅只是充当撮合和中介的角色&#xff0c;它应当具备更多的功能和意义。只有这样&#xff0c;它的发展才能够真正全面和完善。产业互联网的衍生和出现&#xff0c;正是在互联网进化的基础之上出现的。这是我们看到之所以会有那么多的互联网玩家投身到产业互联网的浪…...

Shell脚本之——Hadoop3单机版安装

目录 1.解压 2.文件重命名 3.配置环境变量 4.hadoop-env.sh 5.core-site.xml 6. hdfs-site.xml 7. mapred-site.xml 8.yarn-site.xml 9.完整脚本代码(注意修改主机名) 10.重启环境变量 11.初始化 12.启动服务 13.jps查询节点 1.解压 tar -zxf /opt/install/hadoo…...

代码随想录NO39 |0-1背包问题理论基础 416.分割等和子集

0-1背包问题理论基础 分割等和子集1. 0-1背包问题理论基础(二维数组实现)2. 0-1背包问题理论基础 二&#xff08;一维数组实现&#xff09;1. 0-1背包问题理论基础(二维数组实现) 背包问题一般分为这几种&#xff1a; 0-1背包问题&#xff1a;有n件物品和一个最多能背重量为w…...

FITC-PEG-FA,荧光素-聚乙二醇-叶酸,FA-PEG-FITC,实验室科研试剂,提供质量检测

FITC-PEG-FA&#xff0c;荧光素-聚乙二醇-叶酸 中文名称&#xff1a;荧光素-聚乙二醇-叶酸 英文名称&#xff1a;FITC-PEG-FA 英文别名&#xff1a;Fluorescein-PEG-Folic Acid 性状&#xff1a;基于不同的分子量&#xff0c;呈白色/类白色固体&#xff0c;或粘稠液体。 溶…...

简洁易懂:源码+实战讲解Redisson并发锁及看门狗自动续期

1 缘起 有一次同事问Redisson存储的键是否为hash&#xff1f; 我当时&#xff0c;没有看Redisson的相关源码&#xff0c;只知道应用&#xff0c; 所以没有办法回答&#xff0c;于是开始看看Redisson实现的源码&#xff0c; 顺便写了一个单机Redisson测试&#xff0c; 发现Redi…...

TCP 三次握手和四次挥手

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录TCP 建立连接(三次握手)为啥不能是 4 次&#xff1f;为啥不能是 2 次&#xff1f;三次握手的意义&#xff1a;TCP 断开连接(四…...

JavaWeb复习

JavaWeb复习一.概述1.概念2.B/S和C/S 架构二.HTTP通信协议概述1.概念2.HTTP1.0 与 HTTP1.1 版本3.HTTP 协议组成4.常见状态码5.GET 与 POST 请求方式三.Tomcat1.Web服务器介绍2.安装&#xff08;Windows&#xff09;3.Tomcat目录结构4.server.xml部分配置解释四.Servlet1.概念2…...

P14 PyTorch AutoGrad

前言&#xff1a;激活函数与loss的梯度PyTorch 提供了Auto Grad 功能&#xff0c;这里系统讲解一下torch.autograd.grad系统的工作原理&#xff0c;了解graph 结构目录&#xff1a;1: require_grad False2: require_grad True3&#xff1a; 多层bakcward 原理4&#xff1a; in…...

前端报表如何实现无预览打印解决方案或静默打印

在前端开发中&#xff0c;除了将数据呈现后&#xff0c;我们往往需要为用户提供&#xff0c;打印&#xff0c;导出等能力&#xff0c;导出是为了存档或是二次分析&#xff0c;而打印则因为很多单据需要打印出来作为主要的单据来进行下一环节的票据支撑&#xff0c; 而前端打印可…...

Operating System Course 2 - My OS

Computer Startup process上一篇&#xff1a;http://t.csdn.cn/XfUKt 讲到这个启动设备的第一个扇区&#xff1a;引导扇区。那么引导扇区的代码长什么样子&#xff1f;这里得看引导扇区代码源文件bootsect.s&#xff08;.s后缀文件为用汇编语言编写的源代码文件&#xff09;。另…...

离散数学 课时一 命题逻辑的基本概念

1 命题 1、命题&#xff1a;可以判断其真值的陈述句 2、真值&#xff1a;真或者假(1或者0) 3、真命题&#xff1a;真值为真的命题 4、假命题&#xff1a;真值为假的命题 5、原子命题&#xff1a;不可以再被分解成更简单的命题 6、复合命题&#xff1a;由原子命题通过联结词联结…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...