10_1 Linunx Web服务管理
10_1 Linunx Web服务管理
文章目录
- 10_1 Linunx Web服务管理
- @[toc]
- 1. 环境准备
- 2. Web服务
- 2.1 Web服务简介
- 2.2 Web配置
- 2.2.1 提供的默认配置
- 2.2.2 Web服务的主配置文件
- 2.2.3 /etc/httpd/conf/httpd.conf 文件反映出来的”访问控制信息“
- 2.2.4 修改监听端口,访问
- 2.2.5 访问Web服务的流程
- 2.3 Web访问出现测试界面的可能
- 2.4 虚拟web主机
- 2.4.1 多页面的实现
- 2.4.2 虚拟Web主机
- 2.4.3 区分方式
- 2.4.4 在”调用配置文件“里增加配置
文章目录
- 10_1 Linunx Web服务管理
- @[toc]
- 1. 环境准备
- 2. Web服务
- 2.1 Web服务简介
- 2.2 Web配置
- 2.2.1 提供的默认配置
- 2.2.2 Web服务的主配置文件
- 2.2.3 /etc/httpd/conf/httpd.conf 文件反映出来的”访问控制信息“
- 2.2.4 修改监听端口,访问
- 2.2.5 访问Web服务的流程
- 2.3 Web访问出现测试界面的可能
- 2.4 虚拟web主机
- 2.4.1 多页面的实现
- 2.4.2 虚拟Web主机
- 2.4.3 区分方式
- 2.4.4 在”调用配置文件“里增加配置
1. 环境准备
- 所有的虚拟机设置SELinux运行模式
[root@server ~]# getenforce
Enforcing
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive
[root@server ~]# vim /etc/selinux/config
SELINUX=permissive
- 所有虚拟机卸载防火墙
[root@server ~]# yum -y remove firewalld
[root@server ~]# rpm -q firewalld
2. Web服务
2.1 Web服务简介
-
基于 B/S (Browser/Server)架构的网页服务
- 服务端提供网页
- 浏览器下载并显示网页
-
Wed服务用到的协议
- Hyper Text Markup Language,(HTML)超文本标记语言
- Hyper Text Transfer Protocol,(HTTP)超文本传输协议
-
配置Wed服务的步骤
- 三步走:装包、配置、启服务
-
实现Web功能的软件
- httpd、Nginx、Tomcat
- httpd由软件基金会Apache
- httpd、Nginx、Tomcat
2.2 Web配置
2.2.1 提供的默认配置
* Listen:监听地址:端口(80)
* ServerName:本站点注册的DNS名称(空缺)
* DocumentRoot:**网页根目录(/var/www/html)**
* DirectoryIndex:**起始页/首页文件名(index.html)**
2.2.2 Web服务的主配置文件
* **/etc/httpd/conf/httpd.conf **
* 因配置**/etc/httpd/conf/httpd.conf**此文件导致web访问失败可能出现的错误有:
[root@server ~]# systemctl restart httpd
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.[root@server ~]# journalctl -xe #查错
2.2.3 /etc/httpd/conf/httpd.conf 文件反映出来的”访问控制信息“
1. 当子目录没有规则,默认继承上一级目录规则针对此目录有单独配置,则不继承上一级目录规则<Directory /> Require all denied #拒绝所有人访问</Directory> <Directory "/var/www">Require all granted #允许所有人访问</Directory>总结:默认情况下网页文件,必须在/var/www目录下,才能允许访问2. 将默认DocumentRoot修改为自己的虚拟机A: ]#mkdir /webroot]#echo wo shi webroot > /webroot/index.html]# vim /etc/httpd/conf/httpd.conf…….此处省略一万字DocumentRoot "/webroot"<Directory "/webroot"> #针对于/webroot路径Require all granted #允许所有人访问</Directory>…….此处省略一万字]# systemctl restart httpd #重启服务]# curl 192.168.88.240 wo shi webroot
- 注意: DocumentRoot只有一个是生效的,下面的会覆盖上面的所以下面的生效
2.2.4 修改监听端口,访问
- 主配置文件:/etc/httpd/conf/httpd.conf
- 调用配置文件:/etc/httpd/conf.d/*.conf
- 注意:在”调用配置文件“里添加了DocumentRoot路径后”主配置文件的DocumentRoot“路径被覆盖
1. 端口:数字编号起到标识作用,标识协议或者进程http协议默认端口:80[root@server ~]# vim /etc/httpd/conf.d/haha.conf
DocumentRoot /var/www/cbd
Listen 8000
[root@server ~]# systemctl restart httpd
[root@server ~]# curl 192.168.88.240:8000
[root@server ~]# curl 192.168.88.240 #默认是80端口
2.2.5 访问Web服务的流程
-
DocumentRoot 为自己修改的路径/webroot
客户端curl 192.168.88.240---->http协议方式------>服务端 192.168.88.240—>响应http协议请求----->httpd进程----->主配置文件设置---->DocumentRoot /webroot—>index.html- 注意:所有现有页面都叫index.html,不要修改/etc/httpd/conf/httpd.conf 下的 ”DirectoryIndex index.html“
-
网络路径与实际路径
网络路径: curl 192.168.88.240
实际路径: /webrootDocumentRoot /webroot
网络路径: curl 192.168.88.240/abc
实际路径: /webroot/abcDocumentRoot /webroot
网络路径: curl 192.168.88.240/abc/cbd
实际路径: /webroot/abc/cbd
2.3 Web访问出现测试界面的可能
- 没有网页文件
- 网页文件名称不是index.html
- httpd的访问控制规则拒绝
- SELinux的没有关闭
2.4 虚拟web主机
2.4.1 多页面的实现
- /etc/httpd/conf/httpd.conf提供的DocumnetRoot是一个页面,要想实现多个页面就要使用虚拟Web主机
2.4.2 虚拟Web主机
- 由同一台服务器,提供多个不同的Web站点
2.4.3 区分方式
- 基于域名的虚拟主机
- 基于端口的虚拟主机
- 基于IP地址的虚拟主机
2.4.4 在”调用配置文件“里增加配置
- 域名
1. 为每个虚拟站点添加配置
<VirtualHost IP地址:端口>ServerName 此站点的DNS名称DocumentRoot 此站点的网页根目录
</VirtualHost>2. 示例
(1)虚拟机A: [root@server ~]# vim /etc/httpd/conf.d/xixi.conf<VirtualHost *:80> #在所有IP地址监听80ServerName www.qq.com #网站的域名DocumentRoot /var/www/qq #网页文件路径</VirtualHost> <VirtualHost *:80> ServerName www.lol.comDocumentRoot /var/www/lol</VirtualHost>]#mkdir /var/www/qq /var/www/lol]#echo wo shi QQ > /var/www/qq/index.html]#echo wo shi LOL > /var/www/lol/index.html]#systemctl restart httpd(2)采用/etc/hosts文件直接解析域名,只为本机解析]# vim /etc/hosts …….此处省略一万字192.168.88.240 www.qq.com www.lol.com]# curl www.qq.com]# curl www.lol.com
- 端口
[root@server ~]#vim /etc/httpd/conf.d/xixi.conf
<VirtualHost *:80>ServerName www.qq.comDocumentRoot /var/www/qq
</VirtualHost>
Listen 8080
<VirtualHost *:8080>ServerName www.qq.comDocumentRoot /var/www/lol
</VirtualHost>
[root@server ~]# systemctl restart httpd
[root@server ~]# curl www.qq.com:8080
[root@server ~]# curl www.qq.com
相关文章:
10_1 Linunx Web服务管理
10_1 Linunx Web服务管理 文章目录 10_1 Linunx Web服务管理[toc]1. 环境准备2. Web服务2.1 Web服务简介 2.2 Web配置2.2.1 提供的默认配置2.2.2 Web服务的主配置文件2.2.3 /etc/httpd/conf/httpd.conf 文件反映出来的”访问控制信息“2.2.4 修改监听端口,访问2.2.5…...
苹果WWDC 2024:十三大亮点公布,一切都有关AI|TodayAI
在刚刚结束的苹果全球开发者大会(WWDC 2024)上,苹果公司展示了一系列令人瞩目的新功能,特别是在人工智能(AI)领域的重大进展。以下是本次大会的十三大亮点。 1. 苹果推出首个AI系统 苹果宣布推出其首个AI系统——Apple Intelligence,这一系统将强大的生成模型直接集成到…...
Nginx访问日志
Nginx日志是Nginx Web服务器产生的记录文件,主要用于跟踪和分析服务器的访问情况以及错误信息。Nginx日志主要分为两大类:访问日志 (access_log): 访问日志记录了每一次客户端对Nginx服务器的HTTP请求的详细信息,这对于统计分析、流量监控、用…...
Java使用Hutool工具类轻松生成验证码
一、效果展示 二、Hutool工具类实现验证码生成 2.1 引入依赖 <!--hutool工具包--> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.15</version> </dependency2.2 简单实现方…...
leetcode 40. 组合总和 II
题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 原题链接:https://leetc…...
AMEYA360代理品牌:ROHM开发出世界超小CMOS运算放大器,适用于智能手机和小型物联网设备等应用
全球知名半导体制造商ROHM(总部位于日本京都市)开发出一款超小型封装的CMOS运算放大器“TLR377GYZ”,该产品非常适合在智能手机和小型物联网设备等应用中放大温度、压力、流量等的传感器检测信号。 智能手机和物联网终端越来越小型化,这就要求搭载的元器…...
第1章Hello world 4/5:对比Rust/Java/C++创建和运行Hello world全过程:运行第一个程序
讲动人的故事,写懂人的代码 1.7 对比Rust/Java/C++创建和运行Hello world全过程 有了会听懂人类的讲话,还能做记录的编程助理艾极思,他们三人的讨论内容,都可以变成一份详细的会议纪要啦。 接下来,我们一起看看艾极思是如何记录下赵可菲创建和运行Java程序Hello world,…...
golang优雅代码【lock实现】
golang优雅代码【lock实现】 1.局部锁1.1 具体实现方式 本文代码风格来源参考 database/sql 包 更加深刻理解go语言圣经中函数是一等公民 1.局部锁 database/sql源码中使用 withLock(dc, func(){...}) 方法实现局部锁,完美利用了 golang 的 defer 关键字对 入参dc…...
Dijkstra算法(迪杰斯特拉算法)
迪杰斯特拉算法通常用在图的最短路径问题上 而迷宫的最短路径可以用BFS来做,虽然BFS不能用于带权值的迷宫,但是可以对BFS稍微改进,只需要把判断是否走过的数组改为最短路径的数组,在判断是否可走时判断是否比最短的小即可 Dijks…...
用函数指针求a和b中的大者
指针变量也可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。 先按一般方法编写程序: 可以用一个指针变量指向max函数,然后通过该指…...
鸿蒙轻内核M核源码分析系列六 任务及任务调度(2)任务模块
任务是操作系统一个重要的概念,是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其它任务运行。鸿蒙轻内核的任务模块可以给用户提供多个任务,实现任务间的切换,帮助用户管理业务程序流程。…...
解决找不到MSVCR120.dll,无法执行代码
msvcr120.dll是Microsoft Visual C 2013 Redistributable Package的一部分,它提供了运行使用Microsoft Visual C 2013编译器编译的程序所需的运行时环境。这个DLL文件包含了在运行使用Visual C编译器(特别是2013版)编译的应用程序时所必需的一…...
Linux iptables详解
前言:事情是这样的。最近部门在进行故障演练,攻方同学利用iptables制造了一个故障。演练最终肯定是取得了理想的效果,即业务同学在规定时间内定位了问题并恢复了业务(ps:你懂得)。 对我个人来讲一直知道iptables的存在࿰…...
Mac电脑arm64芯片Cocoapods 的 ffi 兼容问题
转载请标明出处:https://blog.csdn.net/donkor_/article/details/139505395 文章目录 前言问题分析解决方案总结 前言 今天在改Flutter项目的时候,构建IOS项目时,Cocoapods报错 Error: To set up CocoaPods for ARM macOS, run: arch -x86_6…...
如何提高逻辑性?(小妙招)
在现代社会中,逻辑性是一种至关重要的思维能力。不论是在工作、学习还是生活中,逻辑清晰的人总能更好地解决问题和做出决策。然而,如何提高逻辑性却是许多人头疼的问题。本文将从六个方面详细探讨如何提升逻辑性,包括细心态度、逼…...
2024050501-重学 Java 设计模式《实战命令模式》
重学 Java 设计模式:实战命令模式「模拟高档餐厅八大菜系,小二点单厨师烹饪场景」 一、前言 持之以恒的重要性 初学编程往往都很懵,几乎在学习的过程中会遇到各种各样的问题,哪怕别人那运行好好的代码,但你照着写完…...
0104__Linux 中 nm 命令简介
Linux 中 nm 命令简介_linux nm-CSDN博客...
Linux网络服务
01 Linux网络设置 02 DHCP原理与配置 03 DNS域名解析服务 04 远程访问及控制 05 部署YUM仓库及NFS共享服务 06 PXE高效批量网络装机...
Vue18-列表渲染
一、v-for渲染列表 1-1、遍历数组(用的多) 1-2、key属性 让每一个<li>都有一个唯一的标识! 1、写法一 只有用了遍历的方式(v-for)来生成多个同样结构的数据,必须给每个结构取一个唯一的标识。 2、写法二 或者:…...
【三维重建】增量SFM系统
在学习完鲁鹏老师的三维重建基础后,打算用C代码复现一下增量SFM系统(https://github.com/ldx-star/SFM)。 本项目的最终目标就是通过相机拍摄的多视角视图获取三维点云。由于资金有效,博主使用的是相机是小米12。 先来看一下最终…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
