提升SSH远程管理安全等级
下载xshell,连接我的主机,ip192.168.88.130,默认端口22
1. 修改默认监听端口和ip
#Port 22 //默认监听端口
#ListenAddress 0.0.0.0 //默认监听ip:监听任意ip
vim /etc/ssh/sshd_config
打开配置文件,修改端口和ip
systemctl restart sshd.service
重启ssh服务
–改端口报错Failed to start OpenSSH server daemon.改半天没好不管了c
2. 禁止root用户使用ssh远程登陆
配置文件中的permitrootlogin的yes改成no
解开要去本地改
3. 登录超时设置
长时间无操作自动断开连接
vim /etc/profile
打开配置文件,修改环境变量
末行添加export TMOT=300
//单位为s,表示五分钟无操作自动断开
source /etc/profile
//使变量配置生效要重新加载
取消配置unset TMOUT
然后删除文件中的环境变量并且重新加载
4. 限制尝试登陆次数
vim /etc/ssh/sshd_config
打开配置文件
修改MaxAuthTries 中的次数
systemctl restart sshd.service
重启
DHCP请求过程
(同计算机网络)
客户端:广播DHCP discover数据包发送本机信息并且询问dhcp服务器
服务器:广播DHCP offer数据包
客户端:广播DHCP request
服务器:广播DHCP ACK成功的确认帧,或失败的NAK
续租:重复单播request和ACK/NAK
FTP主动和被动模式
主动模式
客户端向服务器端发送连接请求,端口是21,登陆成功建立控制连接。
客户端开放一个随机端口,和要发送的数据一起发给服务器端。***服务器收到后主动开启20端口,连接客户端的随机端口,建立数据连接。
被动模式
客户端向服务器端发送连接请求,端口是21,登陆成功建立控制连接。控制连接一直开启。
客户端发送一个被动模式请求,***服务器端被动开放一个随机端口,客户端连接服务器,建立数据连接。
控制连接一直开启,数据连接只有在有数据请求时才会开启。
Apache虚拟主机配置
虚拟主机:在一台主机或者服务器上,实现多网域服务的方法,可以同时运行多个网站或服务。
基于ip的虚拟主机:
1.给已存在的网卡ens33设置一个网卡子接口,
ifconfig ens33:0 192.168.88.131
这个是ip地址暂时的,重启网络服务就会失效,永久的网卡物理扩展或者在VM虚拟网络设置里面添加新的网卡设备并且配置文件。
2.在hosts文件里实现域名和ip的映射关系vim /etc/hosts
添加ip 域名
192.168.88.130 www.a.com
192.168.88.131 www.b.com
然后ping一下域名就会发现已生效
3.安装apache并修改配置文件yum -y install httpd
一个小tip:在修改配置文件之前将源文件备份,以备修改失误还原:
cd /etc/httpd/conf
cp -a httpd.conf httpd.conf.bak
然后打开httpd配置文件vim /etc/httpd/conf/httpd.conf
添加虚拟主机标签
<VirtualHost 192.168.88.130:80>
DocumentRoot /var/www/html/a.com
ServerName www.a.com
</VirtualHost>
4.为网页创建网页目录并且写入内容
[root@centos conf]# cd /var/www/html
[root@centos html]# mkdir a.com
[root@centos html]# echo "www.a.com..." >> a.com/index.html
5.重启apache服务并且访问网页成功
[root@centos html]# systemctl restart httpd.service
[root@centos html]# curl www.a.com
www.a.com...
基于ip+端口的虚拟主机
两个或多个网站使用同一个ip不同的端口
在上一个基于ip的虚拟主机实验中加修改:
1.hosts文件中ip和域名的映射关系改成相同ip
2.apache配置文件中的虚拟主机标签改成相同ip不同端口。apache默认监听端口80,而修改的不同端口不被监听,所以还要增加一个新的监听:命令模式输入/Listen回车,在Listen 80下面添加一个Listen 新端口
3.重启apache服务并且访问网页
[root@centos html]# curl www.a.com
www.a.com...
[root@centos html]# curl www.b.com:8080
www.b.com...
基于域名的虚拟主机
hosts配置文件:三个相同ip映射不同的域名
为网页创建目录并且写入内容
apache配置文件
NameVirtualHost *:80
#打开使用基于域名的虚拟主机的开关
<VirtualHost *:80>
DocumentRoot /var/www/html/www.a.com
ServerName www.a.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www.b.com
ServerName www.b.com
<IfModule mod_rewrite.c>
#调用rewrite模块实现跳转功能
RewriteEngine on
#开启功能
RewriteCond %{HTTP_HOST} ^www.b.com
#检测到www.b.com赋值给HTTP_HOST变量
RewriteRule ^(.*)$ http://www.d.com/$1 [R=301,L]
# ^(.*)$代指要访问的资源,.*s 任意内容
#$1取的是.*的内容,意思是访问www.b的内容即访问www.d的内容
#R=301永久重定向,L指该规则为最后一条规则,以后的不再生效
</IfModule>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www.b.com
ServerName www.d.com
</VirtualHost>
重启apache再访问网页
[root@centos html]# curl www.a.com
is www.a.com.
[root@centos html]# curl www.d.com
is www.b.com.
[root@centos html]# curl www.b.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.d.com//">here</a>.</p>
</body></html>
Apache三种工作模式
1.prefork模式:事先开启多个子进程,每个子进程对应一个线程,一个线程处理一个用户请求。成熟,单对单。
2.worker模式:比prefork更适合处理高并发进程,一个子进程可以有多个线程,一个线程处理一个用户请求,从而一个子进程可以处理多个用户的请求。子进程也是预先开启,但是数量少了,并且提高了资源利用率
3.event模式:在worker的基础上keepalived,减少客户端和服务器端建立连接的时间,节省资源。设置分配管理线程。
查看本机apache工作模式httpd -V | grep -i "Server MPM"
Apache优化策略
1.设置Apache的日志轮替和切割规则,防止日志过大
2.美化错误页面,将错误页面重定向到指定页面
3.设置静态缓存。减少服务器访问压力
4.屏蔽Apache的版本信息
Nginx与Apache比较
相互互补
Apache的优点:
rewrite功能更强大
功能模块化,调用简单,模块非常多,功能齐全
存在时间长,bug相对较少
动静态解析都稳定
(静态解析:html的一面以及css样式。动态解析需要连接数据库,解析PHP代码)
缺点:工作模式是同步阻塞型,导致资源消耗高并发能力较差
Nginx优点:
轻量级。比Apache占用内容和资源少
并发能力强
高度模块化,编写模块简单(学习了Apache
缺点:动态处理上需要使用fastcgi连接PHP的FPM服务