WEB网站服务(一)
1.1 Apache网站服务基础
1.1.1Apache简介
Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务。Apache服务器可以运行在Linux,UNIX,windows等多种操作系统·平台中。
1.Apache的起源
1995年,Apache服务程序的1.0版本发布,之后一直有“Apache Groub"负责管理和维护,直到1999年,在“Apache Groub” 的基础上成立了Apache软件基金会(Apache Software Foundation,AFS)。目前Apache项目一直由ASF管理和维护
ASF是非营利性质组织,最初只负责“Apache Web”服务器项目管理,随着Web应用需求不断变大,ASF逐渐增加了许多与Web技术相关的开源软件项目。因此Apache现在不仅代表着Web服务器,而且广泛代表这ASF管理的众多开源软件项目。ASF的官方网站是http://www.apache.org
Apache HTTP Server是ASF旗下著名的软件项目之一,正式名称为‘httpd’, 也就是历史上的Apache网站服务器。
2.Apache的主要特点
开放源代码:Apache服务器的重要特性之一,也是其他特性的基础
跨平台应用:Apache服务器可以运行在绝大多数软硬件平台上
支持各种Web编程语言:支持网页编程语言包括perl,php,python,java等。微软的ASP技术也可以在Apache服务器上使用
模块化设计:软件开发商可以编写标准的模块程序,从而添加Apache本身并不具有的其他功能3
运行非常稳定:Apache服务器可用于构建具有大负载访问量的Web站点
良好的安全性:Apache服务器具有相对较好的安全性,这是开源软件的特性
3.Apache的主要版本
Apache服务器目前包括1.X和2.X,两个版本具有一定的差异,也具有各自的特性
1.X版本:最高版本1.3,继承了Apache服务器1.0版本以来的优秀特性和管理风格,具有非常好的兼容性和稳定性
2.X版本:使用的配置语法和管理风格也有所改变,新构建的网站服务器,使用2.X版本是不错的选择
1.1.2安装httpd服务器
配置Apache网站服务前,需要正确安装http服务器软件。httpd服务器的安装分为RPM安装,源码编译安装
将以源码包httpd-2.4.25.tar.gz为例
1.卸载使用RPM方式安装的httpd
rpm -e httpd --nodeps
2.源码编译及安装·
解包
tar zxf httpd-2.4.25.tar.gz -C /usr/src
切换目录
cd /usr/src/httpd-2.4.25
配置
若要获取可用的各种配置选项及其含义,可以执行./configure --help
/ 表示当前目录
./configure --prefix=/usr/local/httpd --enable-so --ebable-rewrite --enable-charset-lite --ebable-ogi
上述配置命令,各选项的含义如下
--perfix:指定将httpd服务程序安装到那个目录下
--enable-so:启用动态加载模块支持,使httpd具备进一步的扩展功能的能力
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi:启用CGI脚本程序支持, 便于扩展网站的应用访问能力
编译及安装
make
make install
3.确认安装结果
ls /usr/local/httpd
bin cgi-bin error icons logs manual
build conf htdocs inclue man modules
/usr/local/httpd/bin:存放httpd服务的各种执行程序文件,包括住程序httpd,服务控制工具apachectl等。
/usr/local/httpd/logs:存放httpd服务的日志文件
/usr/local/httpd/cgi-bin:存放各种CGI程序文件
/usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf,增强配置子目录extra等。
/usr/local/httpd/htdocs:存放网页文档,包括默认首页文件index.html等。
/usr/local/httpd/modules:存放httpd服务的各种模块文件
4.优化执行路径
通过源码编译安装的httpd服务,程序路径并不在默认的搜索路径中为了使该服务在使用时更方便,可以为相关程序添加符号链接
ln -s /usr/lcoal/httpd/bin/* /sur/local/bin
这样在执行相关命令就不用输入冗于的路径了。列如当执行httpd -v 命令(用于查看程序版本)时,相当于执行/usr/local/httpd/bin/httpd -v命令。
5.添加httpd系统服务
将编译安装的程序添加为系统服务有两种方式:1.通过chkconfig命令添加为系统服务,由systemctl进行管理。2.在/lib/systemd/system目录下,手动编写以.service结尾的单元配置文件。
(1).使用chkconfig添加系统服务

(2).建立【service】.service配置文件
在/lib/systemd/system/目录下,建立一个以.service结尾的单元配置文件,用于systemd控制或监控的httpd服务,配置文件分为三个部分,控制单元的定义,服务的定义以及安装部分。

配置文件个配置项的作用如下:
Description:设置服务单元描述字符串
After:设置服务单元的启动先后顺序。列入:httpd.service单元文件中出现“After=network.target” 表示启动时先启动network.target,后启动httpd.service,关闭时顺序相反。与After对应的患有一个Before字段,同上
Type:设置服务进程的启动类型。注意当启动类型为forking时需要同时设置PIDFile配置项,以帮助systemd准确定位到服务的主进程
PIDFile:设置服务的守护进程的PID文件
ExecStart:设置服务启动时执行的命令
ExecReload:设置服务重新加载时执行的命令
KillMode:设置在单元停止时,杀死进程的方法。process表示仅杀死主进程
Restart:设置服务进程正常推出,异常退出,被杀死,超时的时候,是否重启该服务。on-failure表示仅在进程异常退出时重启
RestartSec:设置在重启服务前暂停多长时间,默认100毫秒
WantedBy:设置该服务所在的Target(运行目标)
6.设置httpd服务开机自启动
systemctl enable httpd.service
查看httpd服务的状态
systemctl is-enabled httpd.service
1.2.httpd服务器基本配置
1.2.1.Web站点的部署过程
1.确认网站名称,IP地址
若要向internet中发布一个Web站点,需要申请一个合法的互联网IP地址,并向DNS服务提供商注册一个完整的网站名称。如:www.aaa.com
若要客户机在浏览器中通过网站名称来访问此Web站点,还要有可用的域名服务
2.配置并启动httpd服务
(1).编辑httpd配置文件

修改配置文件后建议进行语法检查
apachectl -t
(2).启动httpd服务
systemctl start httpd
(3).查看httpd端口(80)
netstat -anpt | grep httpd
有80端口说明安好了
相关文章:

WEB网站服务(一)
1.1 Apache网站服务基础1.1.1Apache简介Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务。Apache服务器可以运行在Linux,UNIX,windows等多种操作系统平台中。1.Apache的起源1995年,Apache服务程序的1.0版…...
Python数据分析script必备知识(一)
Python数据分析script必备知识(一) 1.重定向终端输出内容 使生成的结果移动到其他位置 # 重定向, 使生成的结果移动到其他位置 import syssys.stderr = sys.stdoutprint(dir(sys)) # ,,,,,__stderr__, __stdin__, __stdout__,,,,,,# 使用场景:脚本上线时,想要把输出结果…...

初识linux之管道
一、进程间通信的概念大家都知道,进程是具有独立性的,因为一个程序运行起来生成进程时,也会生成它的进程结构体,即PCB,然后然后通过进程结构体中的结构体指针找到它的虚拟地址空间,然后再通过它的页表映射到…...

C++成神之路 | 第一课【步入C++的世界】
目录 一、认识C++ 1.1、关于 C++ 1.2、C++的前世今生 1.2.1、C+...

【面试题】大厂面试官:你做过什么有亮点的项目吗?
大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库前言大厂面试中除了问常见的算法网络基础,和一些八股文手写体之外,经常出现的一个问题就是,你做过什么项目…...

Springboot Long类型数据太长返回给前端,精度丢失问题 复现、解决
前言 惯例,收到兄弟求救,关于long类型丢失精度的问题: 存在一个初学者不会,就会有第二个初学者不会,所以我出手。 正文 不多说,开搞。 如题, 后端返回的数据 给到 前端, Long类型数…...

Anaconda虚拟环境的创建方法(命令创建)
虚拟环境介绍: 虚拟环境是一为某个项目创建的专属于它的python包,因此做python项目时,一般一个项目用一个虚拟环境。在实际开发中,如果项目A需要某个包的1.0版本,项目B需要此包的2.0版本。如果没有安装虚拟环境&#…...

数据结构——树与二叉树
作者:几冬雪来 时间:2023年3月22日 内容:数据结构树与二叉树的讲解(介绍) 目录 前言: 1.树的概念: 2.树与非树: 3.树的定义: 4.树的应用: 二叉树&…...

vue后台管理系统
后面可参考下:vue系列(三)——手把手教你搭建一个vue3管理后台基础模板 以下代码项目gitee地址 文章目录1. 初始化前端项目初始化项目添加加载效果配置 vite.config.js2. 使用路由安装路由配置路由配置别名和跳转安装pathvite.config.jsjsco…...
spring boot 集成 postgis jar
要将 PostGIS 集成到 Spring Boot 应用程序中,需要按照以下步骤进行操作:1. 将 PostGIS JDBC 驱动程序添加到项目依赖项中。可以在 Maven 或 Gradle 中添加以下依赖项:Maven:```xml <dependency><groupId>org.postgresql</groupId><artifactId>pos…...

【Java进阶篇】——反射机制
一、反射的概念 1.1 反射出现的背景 Java程序中,所有对象都有两种类型:编译时类型和运行时类型,而很多时候对象的编译时类型和运行时类型不一致 Object obj new String("hello")、obj.getClass(); 如果某些变量或形参的声明类型…...
Oracle中含有recover 状态的数据文件环境中,做异机恢复
背景: 我们在一些恢复测试案例中,会经常遇到一些奇怪的问题,其中有的是源端数据文件不规范而导致恢复过程出错,比较常见的错误有: 数据文件名称重复(如:/oradata1/user01.dbf 和 /oradata2/us…...

图像识别模型
一、数据准备 首先要做一些数据准备方面的工作:一是把数据集切分为训练集和验证集, 二是转换为tfrecord 格式。在data_prepare/文件夹中提供了会用到的数据集和代码。首先要将自己的数据集切分为训练集和验证集,训练集用于训练模型…...

[零刻]EQ12 N100 迷你主机:从开箱到安装ESXi+虚拟机
开箱先上图:配置详情:EQ12采用了Intel最新推出的N100系列的处理,超低的功耗,以及出色的CPU性能用来做软路由或者是All in one 相当不错,CPU带有主动散热风扇,在长期运行下散热完全不用担心,性价…...
MongoDB基础
优质博客 IT-BLOG-CN 一、简介 MongoDB是一个强大的分布式文件存储的NoSQL数据库,天然支持高可用、分布式和灵活设计。由C编写,运行稳定,性能高。为WEB应用提供可扩展的高性能数据存储解决方案。主要解决关系型数据库数据量大,并…...

【Linux】Linux基本指令(下)
前言: 紧接上期【Linux】基本指令(上)的学习,今天我们继续学习基本指令操作,深入探讨指令的基本知识。 目录 (一)常用指令 👉more指令 👉less指令(重要&…...

基于uniapp+u-view开发小程序【技术点整理】
一、上传图片 1.实现效果: 2.具体代码: <template><view><view class"imgbox"><view>职业证书</view><!-- 上传图片 --><u-upload :fileList"fileList1" afterRead"afterRead"…...
投稿指南【NO.7】目标检测论文写作模板(初稿)
中文标题(名词性短语,少于20字,尽量不使用外文缩写词)张晓敏1,作者1,2***,作者2**,作者2*(通信作者右上标*)1中国科学院上海光学精密机械研究所空间激光传输与探测技术重…...

【绘图】比Matplotlib更强大:ProPlot
✅作者简介:在读博士,伪程序媛,人工智能领域学习者,深耕机器学习,交叉学科实践者,周更前沿文章解读,提供科研小工具,分享科研经验,欢迎交流!📌个人…...

经典七大比较排序算法 ·上
经典七大比较排序算法 上1 选择排序1.1 算法思想1.2 代码实现1.3 选择排序特性2 冒泡排序2.1 算法思想2.2 代码实现2.3 冒泡排序特性3 堆排序3.1 堆排序特性:4 快速排序4.1 算法思想4.2 代码实现4.3 快速排序特性5 归并排序5.1 算法思想5.2 代码实现5.3 归并排序特性…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...