当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/611102.html

相关文章:

  • VUE丢失long类型精度,使用 json-bigint 库解析大整数
  • 人工智能领域、图欧科技、IMYAI智能助手2025年7月更新月报
  • 暑期算法训练.14
  • 关于如何SecureCRT软件连接开发板后默认显示大字体,且重启开发板或重新连接时不会重置的方法
  • Android原生项目集成Flutter模块极简指南
  • Linux学习-数据结构(链表)
  • 深入浅出:Ajax 与 Servlet 实现前后端数据交互
  • 01-数据结构
  • ES(Elasticsearch)进程掉线(节点脱离集群)问题
  • 18-Chapter03-Example05
  • Ubuntu24.04环境下非DOCKER方式安装Mysql5.7
  • 《Linux编译器:gcc/g++食用指南》
  • Go 单元测试:如何只运行某个测试函数(精确控制)
  • 龙芯(loongson) ls2k1000 openwrt
  • 007TG洞察:高效运营Telegram私域流量:技术挑战与自动化解决方案探索
  • Wisdom SSH:自动化网络配置管理的领航者
  • LangChain入门:内存、记录聊天历史 ChatMessageHistory、模型、提示 ( Prompt )、模式 ( Schema )
  • golang的切片
  • 2025年特种设备作业人员考试题库及答案(流动式起重机Q2)
  • MyBatisPlus查询数据库中所有表的数据(AI)
  • GPU 基础矩阵精规组织教程:从基础作用到实战应用
  • Redis里面什么是sdshdr,可以详细介绍一下吗?
  • 用 Spark 找出最大值:高性能计算的正确姿势
  • 8XC552 系列单片机的定时器 T2 和捕捉比较逻辑是什么
  • 如何通过视觉+自动化组合拳提升UI测试的质量
  • Centos-Stream 10 安装教程(2025版图文教程)
  • Vue2博客项目笔记(第一天)
  • SpringBoot集成STOMP
  • CS231n Lecture11 目标检测和图像分割笔记
  • mq_timedsend系统调用及示例