Linux-Day11.WEB服务,虚拟主机
今日目标:
- Web基础应用
- NFS服务基础
- 触发挂载(了解)
一、服务的管理
Httpd web服务 /usr/sbin/httpd
ftp ftp服务 /usr/sbin/vsftpd
用户---》systemd---》服务
•上帝进程:systemd
•Linux系统和服务管理器
–是内核引导之后加载的第一个初始化进程(PID=1)
–负责掌控整个Linux的运行/服务资源组合
•一个更高效的系统&服务管理器
–开机服务并行启动,各系统服务间的精确依赖
–配置目录:/etc/systemd/system/
–服务目录:/lib/systemd/system/
–主要管理工具:systemctl
[root@svr7 ~]# systemctl -t service --all #列出所有的服务
•对于服务的管理(与手动启动有冲突)
systemctl restart 服务名 #重起服务
systemctl start 服务名 #开启服务
systemctl stop 服务名 #停止服务
systemctl status 服务名 #查看服务当前的状态
systemctl enable 服务名 #设置服务开机自启动
systemctl disable 服务名 #设置服务禁止开机自启动
systemctl is-enabled 服务名 #查看服务是否开机自启
]# yum -y install httpd
]# > /etc/resolv.conf #清除DNS文件内容
]# killall httpd #杀死手动启动的httpd
]# systemctl restart httpd #重启httpd服务
]# systemctl status httpd #查看服务httpd状态
]# systemctl enable httpd #设置httpd开机自启动
Created symlink from
/etc/systemd/system/multi-user.target.wants/httpd.service to
/usr/lib/systemd/system/httpd.service.
只有在第一次启动的时候有此输出
]# systemctl is-enabled httpd #查看httpd是否是开机自启动
]# systemctl disable httpd #关闭httpd开机自启动
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
]# systemctl is-enabled httpd #查看httpd是否是开机自启动
二、独立web主机
Web通信基本概念
基于B/S(Browser /Server )架构的网页服务
-服务端提供网页
-浏览器下载并显示网页
- Hyper Text Markup Language ,超文本标记语言
- Hyper Text Transfer Protocol ,超文本传输协议
独立web站点的快速部署
- Linux 中的Web服务
[root@svr7~]# yum -y install httpd
[root@svr7~]# ls /var/www/html/
[root@svr7~]# killall httpd
[root@svr7~]# systemctl restart httpd
[root@svr7~]# curl 192.168.4.7
[root@svr7~]# echo web 服务 >/var/www/html/index.html
[root@svr7~]# curl 192.168.4.7
- 两台机器设置SELinux运行模式
[root@svr7~]# getenforce
[root@svr7~]# setenforce 0
[root@svr7~]# getenforce
[root@svr7~]# vim /etc/selinux/config
SELINUX=permissive
- 两台机器设置防火墙(停止防火墙服务)
[root@svr7~]# systemctl stop firewalld
[root@svr7~]# systemctl disable firewalld
- 修改配置文件
软件包:httpd
· 系统服务:httpd
· 提供的默认配置
-Listen :监听地址:端口(80)
-ServerName :本站点注册的DNS名称(空缺)
-DocumentRoot :网页文件根目录(/var/www/html)
-DirectoryIndex :起始页/首页文件名(index .html)
/etc/httpd/conf/httpd.conf httpd的配置文件
[root@svr7~]# mkdir /var/www/myweb
[root@svr7~]# echo wo shi lalala > /var/www/myweb/index.html
[root@svr7~]# vim /etc/httpd/conf/httpd.conf
......
DocumentRoot “/var/www/myweb”
......
[root@svr7~]# systemctl restart httpd
[root@svr7~]# curl http://192.168.4.7
· 基于网页文件目录,进行访问控制
-当子目录没规则,默认继承上一级目录规则
-针对此目录有单独配置,则不继成上一级目录规则
允许所有人访问
拒绝所有人访问
/var/www #允许所有人访问
/var/www/myweb
/var /abc
<Directory “/webroot”>
Require all granted #允许所有人访问
</Directory>
[root@svr7~]# mkdir /webroot
[root@svr7~]# echo wo shi web > /webroot/index.html
[root@svr7~]# vim /etc/httpd/conf/httpd.conf
......
DocumentRoot “/webroot”
<Directory “/webroot”>
Require all granted
</Directory>
......
[root@svr7~]# systemctl restart httpd
[root@svr7~]# curl http://192.168.4.7
浏览器访问 192.168.4.7-----》服务器192.168.4.7----》http--------》httpd软件---------》/etc/httpd/conf/httpd.conf--------》DocumentRoot-------》/webroot -------》index.html
客户端: http://192.168.4.7
服务端:/webroot
http://192.168.4.7 = DocumentRoot设置的路径
客户端 http://192.168.4.7/abc
服务端 /webroot/abc
客户端 http://192.168.4.7/webroot/abc/test
服务端 /webroot/webroot/abc/test
- Listen :监听地址:端口(80)
HTTP协议 默认端口:80
ftp协议 默认端口:21
建议自定义端口大于1024,端口极限65535
[root@svr7~]# vim /etc/httpd/conf/httpd.conf
......
Listen 80
Listen 8080
......
[root@svr7~]# systemctl restart httpd
[root@svr7~]# curl 192.168.4.7:8080
三、虚拟web主机
· 虚拟web主机
—有一台服务器提供多个不同的web站点
· 区分方式
—基于域名的虚拟机
—基于端口的虚拟机
—基于ip地址的虚拟主机
· 配置文件路径
—/etc/httpd/conf/httpd.conf #主配置文件
—/etc/httpd/conf.d/*.conf #调用配置文件
· 为每个虚拟站点添加配置
<VirtualHost IP地址:端口>
ServerName 此站点的DNS名称
DocumentRoot 此站点的网页根目录
</VirtualHost>
虚拟机A:
[root@svr7~]# vim /etc/httpd/conf.d/haha.conf
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq
</VirtualHost>
<VirtualHost *:80>
ServerName www.lol.com
DocumentRoot /var/www/lol
</VirtualHost>
[root@svr7~]# mkdir /var/www/qq /var/www/lol
[root@svr7~]# ls /var/www
[root@svr7~]# echo wo shi qq > /var/www/qq/index.html
[root@svr7~]# echo wo shi lol > /var/www/lol/index.html
[root@svr7~]# systemctl restart httpd
采用/etc/hosts文件直接解析域名,只为本机解析
[root@svr7~]# vim /etc/hosts
......
192.168.4.7 www.qq.com www.lol.com
......
[root@svr7~]# curl http://www.qq.com
[root@svr7~]# curl http://www.lol.com
四、NFS服务基础
NFS共享概述
Network File System ,网络文件系统
-用途:为客户机提供共享使用的文件夹
-协议:NFS(TCP/UDP2049)、RPC(TCP/UDP111)
所需软件包:nfs-utils
系统服务:nfs-server
/etc/exports
虚拟机A:
]# rpm -q nfs-utils
]#mkdir /public
]# echo 123 > /public/a.txt
]# ls /public
]# vim /etc/exports
/public *(ro)
/public 192.168.4.207(ro)
]# systemctl restart rpcbind
]#systemctl restart nfs-server
虚拟机B:
]# mkdir /mnt/abc
]#rpm -q nfs-utils
]#showmount -e 192.168.4.7:/public
]#mount 192.168.4.7:/public /mnt/abc
]#ls/mnt/abc
自动挂载
]#vim /etc/fstab
192.168.4.7:/public /mnt/abc nfs defaults,_netdev 0 0
]#umount /mnt/abc
]#mount -a
]#ls /mnt/abc
管理运行级别
RHEL6:运行级别 300
0:关机 0个服务
1:单用户模式(基本功能的实现,破解Linux密码) 50个服务
2:多用户字符界面(不支持网络) 80个服务
3:多用户字符界面(支持网络)服务器默认运行级别 100个服务
4:未定义 0个服务
5:图形界面 300个服务
6:重起 0个服务
切换运行级别:init 数字
RHEL7:运行模式(运行级别)
字符模式:multi-user.target
图形模式:graphical.target
当前直接切换到字符模式
]# systemctl isolate multi-user.target #相当于原来的init 3
当前直接切换到图形模式
]# systemctl isolate graphical.target #相当于原来的init 5
查看每次开机默认进入模式
[root@svr7 /]# systemctl get-default
设置永久策略,每次开机自动进入multi-user.target
[root@svr7 /]# systemctl set-default multi-user.target
[root@svr7 /]# reboot