DHCP服务是动态主机设置协议,又称动态主机组态协定,是一个用于IP网络的网络协议
DHCP协议位于OSI模型的应用层,使用UDP协议工作
DHCP协议主要有两个用途:
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是从DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是从BOOTP(Bootstrap Protocol)协议发展而来的一种网络协议。它的主要作用是为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数。这种协议通常被应用在大型的局域网络环境中,能够有效地解决手动配置地址产生的各种问题,如地址冲突等。
DHCP服务的工作过程是这样的:当DHCP客户端初次接入网络时,会发送DHCP发现报文(DHCP Discover),该报文是DHCP协议的开始,用于查找和定位DHCP服务器。之后,DHCP服务器在收到DHCP发现报文后,会发送DHCP请求报文(DHCP Offer),此报文包含IP地址等配置信息。最后,DHCP客户端接受DHCP服务器提供的IP地址,从而完成IP地址的自动配置。
# 安装dhcp软件包
[root@httpsl ~]# yum install -y dhcp
# 拷贝样例文件到etc/dhcp中
[root@httpsl doc]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# 备份dhcpd.conf
[root@httpsl dhcp]# cp dhcpd.conf.babk dhcpd.conf
# 修改dgcpd.conf文件(我这里只保存了相关配置)
[root@httpsl dhcp]# vi dhcpd.conf
[root@httpsl dhcp]# cat dhcpd.conf
default-lease-time 86400;
max-lease-time 86400;
authoritative;
log-facility local7;
subnet 172.31.79.0 netmask 255.255.255.0 {
range 172.31.79.3 172.31.79.100 ;
option domain-name-servers 172.31.79.130;
option domain-name "dhcp-server";
option routers 172.31.79.1;
option broadcast-address 172.31.79.2;
}
# 启动dhcp服务
[root@httpsl /]# systemctl start dhcpd
# 查看dhcp状态
[root@httpsl /]# systemctl status dhcpd
# 查看进程
[root@httpsl /]# ps aux|grep dhcpd
dhcpd 27127 0.0 0.4 106088 8156 ? Ss 11:18 0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
root 27181 0.0 0.0 112812 976 pts/0 S+ 11:19 0:00 grep --color=auto dhcpd
# 查看端口
[root@httpsl /]# netstat -anplut|grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 27127/dhcpd
# 查看那些客户机分配了ip地址
[root@httpsl ~]# cat /var/lib/dhcpd/dhcpd.leases
注释:dhcpd.conf文件
HTTP服务背后是Web服务器提供的服务
每一个Web服务器程序都需要从网络接受HTTP请求,然后提供HTTP回复给请求者;HTTP回复一般包含一个HTML文件,有时也可以包含纯文本文件、图像或其他类型的文件
常见Web服务器包括:Apache Httpd、Nginx、IIS、LiteSpeed Web Server
Apache是世界使用排名第一的Web服务器软件,源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。它是一款高度模块化的软件,可以通过添加相应的模块来增强其功能,同时不需要的模块可以选择不加载,这既保证了Apache的简洁性,也维持了其轻便和高效性。
Apache可以运行在几乎所有广泛使用的计算机平台上,支持SSL技术,并支持多个虚拟主机。它还支持通过简单的API扩充,将Perl/Python等解释器编译到服务器中。此外,Apache采用三个配置文件(httpd.conf、access.conf和srm.conf),配备集成Perl处理模块和集成代理服务器模块,以保证服务器的正确性和速度。
在安全方面,Apache除了默认使用80端口的明文传输方式外,后来还添加了443的加密传输的方式,以确保数据的安全和可靠性。当出现大量访问一个服务器时,Apache可以使用多种复用模式,保证了服务器能快速回应客户端的请求。
Apache Httpd配置文件
# 安装apache httpd
[root@httpsl ~]# yum install -y httpd
# 查看httpd状态
[root@httpsl ~]# systemctl status httpd
# 启动httpd服务
[root@httpsl ~]# systemctl start httpd
# 查看conf配置文件
[root@httpsl /]# cat /etc/httpd/conf/httpd.conf
配置虚拟主机
[root@httpsl /]# cd /etc/httpd/conf.d/
[root@httpsl conf.d]# vi website.html
<VirtualHost *:80>
ServerName www.example.com
Servername example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/requests.log combined
</VirtualHost>
# 重新启动httpd服务
[root@httpsl /]# systemctl restart httpd
# 关闭apache版本号显示
[root@httpsl /]# vi /etc/httpd/conf/httpd.conf
(如果找不到就新增)
ServerSignature off
ServerTokens Prod
# 配置文件进行保护和移除保护
[root@httpsl conf]# chattr +i httpd.conf
[root@httpsl conf]# chattr -i httpd.conf
# 安装vsftpd
[root@httpsl /]# yum install -y vsftpd
# 启动并查看vsftpd
[root@httpsl /]# systemctl start vsftpd
[root@httpsl /]# systemctl status vsftpd
# 打开防火墙端口允许ftp连接
[root@httpsl /]# firewall-cmd --permanent --add-service=ftp
success
[root@httpsl /]# firewall-cmd --reload
success
# 配置匿名访问或本地用户访问
[root@httpsl /]# vi /etc/vsftpd/vsftpd.conf
# 启用或禁用匿名访问
anonymous_enable=YES/NO
# 启用或禁用本地用户访问
local_enable=YES/NO
(以上配置均在vsftp.conf文件中)
# 添加一个ftpuser用户
[root@httpsl vsftpd]# adduser ftpuser
# 创建ftpuser用户密码
[root@httpsl vsftpd]# passwd ftpuser
Changing password for user ftpuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# 切换到ftpuser用户
[root@httpsl /]# su - ftpuser
Last failed login: Mon Nov 13 15:52:15 CST 2023 from 123.57.30.90 on ssh:notty
There were 2 failed login attempts since the last successful login.
[ftpuser@httpsl ~]$
# 在家目录下创建一个ftp文件夹
[ftpuser@httpsl ~]$ mkdir /home/ftpuser/ftp
# 更改新创建的FTP目录的所有权和权限
[ftpuser@httpsl ~]$ chown ftpuser:ftpuser /home/ftpuser/ftp
[ftpuser@httpsl ~]$ chmod 755 /home/ftpuser/ftp
[ftpuser@httpsl ~]$ ll /home/ftpuser/
total 4
drwxr-xr-x 2 ftpuser ftpuser 4096 Nov 14 17:18 ftp
域名解析服务是一个internet服务,相互映射ip地址和完全限定域名,通过这种方式,使用DNS将不再需要记住IP地址,运行DNS的计算机称为名称服务器
域名系统协议的一个完整的,高度可移植的实现
# 安装Bind
[root@httpsl ~]# yum install bind bind-utils
# 启动并查看Bind
[root@httpsl ~]# systemctl start named
[root@httpsl ~]# systemctl status named
mysql原本是一个开放源码的关系型数据库管理系统
mysql在过去由于性能高、成本低、可靠性好,已经称为最流行的开源数据库
# 更新yum源
[root@httpsl ~]# rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# 安装mysql
Complete!
[root@httpsl ~]# yum -y install mysql-community-server --nogpgcheck
# 启动mysql并查看状态
[root@httpsl ~]# systemctl start mysqld
[root@httpsl ~]# systemctl status mysqld
# 查看mysql_root初始密码
[root@httpsl ~]# grep 'temporary password' /var/log/mysqld.log |awk '{print $11}'
lg9qEd)5(Xfw
# 执行MySQL 数据库初始化命令
[root@httpsl ~]# mysql_secure_installation
redis是一个由salvatore sanfilippo写的key-value存储数据库,是跨平台的非关系型数据库
redis是一个开源的使用ansi c语言编写,遵守bsd协议,支持网络,可基于内存,分布式,可选持久性的键值对存储数据库,并提供多种语言的api
redis通常被称为数据结构服务器,因为值可以是字符串、哈希、列表、集合和有序集合等类型
Redis是一个基于内存的高性能key-value数据库,不同于其他key-value存储的是,Redis具有Redis是一个基于内存的高性能key-value数据库,不同于其他key-value存储的是,Redis具有更为复杂的数据结构并且提供对这些结构的原子性操作。它支持多种数据类型,包括字符串、列表、集合、散列和有序集合。此外,Redis还提供了许多高级功能,如事务、管道、复制和分区等。
在与其他key-value存储比较时,Redis的优势在于其支持更丰富的数据类型。例如,与memcached相比,memcached所有的值都是简单的字符串,而redis则作为其替代者,能够支持更复杂的数据类型。此外,Redis的设计哲学是将所有的数据都当作一个整体来处理,而不是简单地通过键值对来进行存取。这使得Redis在进行部分数据查询时更加高效。
总的来说,Redis以其强大的功能和高效的性能,在key-value存储中占有一席之地。
# 安装
[root@httpsl ~]# yum install -y redis
# 启动并查看
[root@httpsl ~]# systemctl start redis
[root@httpsl ~]# systemctl status redis
# 修改配置
[root@httpsl ~]# vi /etc/reids.conf
# 监听地址61行
61 bind 127.0.0.1
# 端口修改84行
84 port 6379