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。 先来看一下最终…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
