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

相关推荐
法外狂徒126 分钟前
将 Pi Agent 接入 HagiCode 的实践之路
服务器·前端·人工智能
ShineWinsu1 小时前
对于Linux:基于UDP实现简单聊天室功能
linux·c++·面试·udp·笔试·进程·简单聊天室
Dovis(誓平步青云)1 小时前
《精讲Spring Boot后端跑另一个端口:如何解决暴露服务器问题》
服务器·人工智能·spring boot·后端·生成对抗网络
流量猎手1 小时前
Vscode登陆服务器
服务器·ide·vscode
zoipuus1 小时前
上传repo仓库到自己的gitlab
linux·gitlab·shell·全志·tina
IT大白鼠1 小时前
CVE-2026-7531 Azure Linux MariaDB PQC 内存破坏漏洞详解
linux·mariadb·azure·cve-2026-7531
无忧.芙桃2 小时前
线程同步与线程互斥(上)
linux·运维·操作系统·运维开发
HAPPY酷2 小时前
【ROS2】16G 内存笔记本跑 ROS2 仿真?VMware 虚拟机“保姆级”配置指南 (R9 7940HX + RTX 4060)
java·linux·ide·windows·pycharm
xywww1686 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色9 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理