Linux-Day11.WEB服务,虚拟主机

今日目标:

  1. Web基础应用
  2. NFS服务基础
  3. 触发挂载(了解)

一、服务的管理

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 )架构的网页服务

-服务端提供网页

-浏览器下载并显示网页

  1. Hyper Text Markup Language ,超文本标记语言
  2. 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

相关推荐
2601_9657984716 分钟前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
我头发多我先学32 分钟前
linux系统编程:初识进程
linux·运维·服务器
Freak嵌入式42 分钟前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
云飞云共享云桌面1 小时前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
苍狗T1 小时前
LVS相关知识总结
linux·运维·服务器·lvs
lightqjx2 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用
我星期八休息2 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
各类产品分享2 小时前
什么是AR智慧运维系统,主要能解决什么问题
运维·ar·ar智慧运维解决方案
RisunJan3 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔3 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes