进入终端:最好用ssh -X(图形化) 连接进去
apache的进程模式是怎么进行的?
一个子进程对应一个线程(创建和销毁线程、排队)
优点:一个线程坏掉不会影响整个进程
缺点:占内存
线程
一个子进程对应多个线程(创建线程)
优点:高并发
缺点:一个线程坏掉了那么整个进程就都坏掉了
守护进程:不间断地在后台运行
logrotate -f/etc/logrotate.conf切分日志轮转的配置文件相当于将所有的日志都切分了
将ssh单独隔开切分
vim /etc/ssh/sshd_config
SyslogFacility local2(对象为local2自定义的有local0~7)
vim /etc/rsyslog.conf
local2.* /var/log/anquan
昨天学完了个人主页,今天来学虚拟主机
服务器/var/www/html/index.html
客户端使用http://ip访问
对于客户端不知道ip/后面的名字,而且要加8080,并且ip要收费
直接输入主机名来代替输入ip怎么做:
通过/etc/hosts提供解析声名ip对应的是什么主机名
/var/www/html/localyum正在挂载:mount | greplocalyum(用df查不出来)
echo “hello” >/var/www/html/index.html
转到客户端(要在客户端那边指定/etc/hosts)
vim /etc/hosts进入ip和字符串的对等关系
192.168.1.61 www.litao.com表示对等关系,添加IP = 输入的字符串
转到服务器
cp/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d将虚拟主机属性的配置文件复制到子配置目录下面(因为那个2.4.6的目录下不生效)
vim/etc/httpd/conf.d/httpd-vhosts.conf
*:80
DocumentRoot “/var/www/www” 文档目录
ServerName www.litao.com刚才指定了的hosts里面一样(试一下若不写hosts里面会怎样,必须要解析呀)
ServerAlias litao别名随便取 等价于上面的名字(可以不写别名)
ErrorLog “/var/log/httpd/www-error_log”
CustomLog "/var/log/httpd/www-access_log" common保存退出
mkdir /var/www/www/var/www/bbs
echo “www” > /var/www/www/index.html
重启服务然后在客户端上firefoxwww.litao.com或litao就行了
那么问题来了,默认的路径是/var/www,想访问根目录下的/blogs怎么办?(提示:容器)
转到服务器
mkdir /blogs
echo “blogs vhosts” >/blogs/index.html
DocumentRoot “/blogs”换一个文档目录
重启服务
vim/etc/httpd/conf/httpd.conf
conf.modules.d里的00-base.conf文件里表示加载的模块
主配置文件里面可以写容器,vhosts.conf虚拟主机配置文件里面也可以写容器
中午作业
转到服务器
ls /etc/httpd/logs是httpd的全部日志
统计:这个ip访问了多少次,200成功访问有多少次,404有多少次,404有多少次
vim /etc/httpd/logs/access_log访问的日志,查看所有人访问,简直就是叼爆了
cut -d”” -f1 /etc/httpd/logs/access_log |sort | uniq -c
cut -d”” -f1,9 /etc/httpd/logs/access_log |sort | uniq -c | grep “404$”
httpd访问控制:(注意关闭/etc/hosts里的ip删掉或注释掉)
1.关闭站点,就是禁止所有人进来
# vim/etc/httpd/conf/httpd.conf
<Directory"/var/www/html">
Require all denied
</Directory>
# systemctl restart httpd
客户端:
测试:firefoxhttp://192.168.1.252
403
Forbidden
You don't have permission toaccess / on this server.
结果:无法访问
-------------------------------------------------
2.拒绝某台主机
# vim/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
order allow,deny
allow from all
deny from 192.168.1.250
</Directory>
# systemctl restart httpd
测试:
1.用192.168.1.249这台pc访问web服务器,结果拒绝访问,错误403
2.用其他pc访问,结果是可以正常访问
------------------------------------------------------
3.只允许某台主机
# vim/etc/httpd/conf/httpd.conf
<Directory"/var/www/html">
order deny,allow
deny from all
allow from 192.168.1.250
</Directory>
-------------------------------------------------------
用户验证
提供apache用户
语法:命令 [-c] 文件 http用户名
# htpasswd -c /var/www/html/htpasswdhttp1
New password:
Re-type new password:
Adding password for userhttp1
-c是创建一个新文件或覆盖原来的文件
不加-c是添加
-m是md5(默认的可不写)
用户认证(设置httpd账户,密码),登陆时要输入账号密码(还可以设置有效的用户可以登录,禁止所有人登陆,尽管输入对了账户和密码也进不去),配置文件,主配置文件,有固定的目录(注意改了之后要注释下面的所有人放行,重启服务)
配置文件
# vim/etc/httpd/conf/httpd.conf
<Directory"/var/www/html">
AllowOverride AuthConfig
AuthType Basic //验证类型:基本类型
AuthName "uplooking auth" //验证的名字
Authuserfile"/var/www/html/htpasswd" //验证文件的位置
Require user http1 //指定单独用户
</Directory>
# systemctl restart httpd
测试:
http://192.168.1.252
需要输入用户名和密码才可以登陆 ,且只有http1用户输入正确的密码才可以登陆
-----------------------------------------------
# vim/etc/httpd/conf/httpd.conf
<Directory"/var/www/html">
AllowOverride AuthConfig
AuthType Basic //验证类型:基本类型
AuthName "uplooking auth" //验证的名字
Authuserfile"/var/www/html/htpasswd" //验证文件的位置
Require valid-user //合法用户可以访问
</Directory>
不会给普通用户的个人主页设置访问控制啊
周五测试:
1.每个月的星期1的2:00重启电脑?
crontab -e
0 2 0 * 1 root reboot
2.只允许root用户使用crond
vim /etc/cron.allow
root保存退出
3.两台服务器之间使用ssh服务互相管理都不需要输入密码
假设第一台服务器的ip是192.168.1.251
假设第二台服务器的ip是192.168.1.252
首先在192.168.1.251上操作:
ssh-keygen制作密钥
ssh-copy-id -i 192.168.1.252将公钥发送给192.168.1.252
转到192.168.1.252
ssh-keygen制作密钥
ssh-copy-id -i 192.168.1.251将公钥发送给192.168.1.251
4.配置nfs服务,将/common目录以读写rw的方式共享给example.com域用户,当客户端用root用户身份在此网络磁盘上写数据的时候文件的拥有人和所属组为root,以只读方式共享给cracker.org域用户。
假设服务器的ip为192.168.1.251
mkdir /common
chmod o+w /common
vim /etc/exports
/common example.com(rw,no_root_squash)
/common cracker.org(ro)保存退出
systemctl reload nfs-server
转到example.com域的客户端
mount.nfs 192.168.1.251:/common/opt
转到cracker.org域的客户端
mount.nfs 192.168.1.251:/common/opt
5.http服务中,仅允许192.168.1.0/24这个网段访问主页,如何设置?
vim /etc/httpd/conf/httpd.conf进入主配置文件设置httpd访问控制
<Directory"/var/www/html">
order deny,allow
deny from all
allow from 192.168.1. 255.255.255.0
</Directory>保存退出
systemctl restart httpd
6.为tom用户提供一个个人主页,需要提供apache的账户和密码才可以访问?
vim /etc/httpd/conf.d/userdir.conf进入修改子配置文件之一(个人主页)
注释UserDir disabled
开启UserDir public_html保存退出
su - jim普通用户
mkdir public_html家目录下创建public_html目录,这个是固定死的不能改其他名字,要想改其名,就要去个人主页的配置文件里面去改
echo “jim home index”>> public_html/index.html
exit
cat /home/jim/public_html/index.html
systemctl restart httpd
chmod 755(rw) /home/jim
vim/etc/httpd/conf/httpd.conf进入主配置文件设置httpd访问控制
<Directory "/home/*/public_html">
AllowOverride AuthConfig
AuthType Basic //验证类型:基本类型
AuthName "uplooking auth" //验证的名字
Authuserfile"/var/www/html/htpasswd" //验证文件的位置
Require user http1 //合法用户可以访问
</Directory>
htpasswd -c/var/www/html/htpasswd http1
systemctl restart httpd
7.进程模式和线程模式的优缺点?
prefork进程模式
优点:非常稳定的模式,兼容性高
缺点:占内存,不适用于高流量,需要排队
worker线程模式
优点:占内存少,高流量
缺点:安全性低、一个线程坏掉了就整个子进程都坏掉了