Ubuntu系统中Apache Web服务器的配置与实战

news2024/9/8 23:14:41


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭
~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:Linux

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

Web服务器的基本知识

掌握在Ubuntu系统中利用Apache配置Web服务器的方法

阿帕奇服务器(Apache Server)

一、基本介绍

二、主要特点

三、应用场景与功能

四、社区与支持

五、Apache 服务器的主要配置文件有哪些?

实训例子

1.进入apache 文件配置 再 ls

2.然后进入 sites-available 目录下 |s 这里有两个虚拟配置站点,我们用第1个为例

3.在此目录下 复制一份 000-default.conf 并为站点起个名字

4.再开刚刚创建的站点,这里为了避免权限不够加个 sudo,我用vim 打开配置

5.配置站点,修改名称和数据保存的位置,保留这两行就行,其他可以删除为了好记我把名称改为和站点名一样,最后保存退出。

6.返回上一级目录cd..进入到sites-enable,创建一个软链接 指向刚才的站点

7.到 Apache 目录下创建一个保存数据的目录,和第五步里 DocmentRoot 指定的名称相同

8.我们在刚刚创建的目录下创建一个index.html 用来显示数据

9.最后我们配置本地hosts 文件,对站点拦截,使IP地址指向我们 创建的站点 

10.最后需要重启Apache 


Ubuntu安装Apache服务器

sudo apt-get install apache2 

Web服务器的基本知识

Web服务器的基本知识可以归纳为以下几个方面:

  1. Web服务器定义
    • Web服务器是一个重要的基础设施,它通过互联网提供Web页面和其他文件,以便用户浏览。这些文件可以包括HTML、CSS、JavaScript、图片等。
  2. Web服务器的工作原理
    • Web服务器使用HTTP协议来传输客户端和服务器之间的数据。
    • 当用户在浏览器中输入URL或点击链接时,浏览器会向Web服务器发送HTTP请求。
    • Web服务器接收请求,处理请求,并将所请求的内容(如HTML页面、图片等)返回给浏览器。
    • 浏览器解析返回的文件并呈现给用户。
  3. Web服务器的组成部分
    • Web服务器软件:如Apache、Nginx、IIS等,用于运行Web服务器。
    • 配置文件:包含Web服务器的所有配置信息,例如监听端口、虚拟主机设置等。
    • 文档根目录:存储Web页面和其他文件的目录。
    • 日志文件:记录服务器活动的文件,便于管理员进行访问分析和问题排查。
  4. Web服务器的工作模式
    • 串行模式:依次处理客户端的请求,直到一个请求处理完毕后再处理下一个。
    • 并行模式:同时处理多个请求,提高服务器的请求处理效率。
  5. Web服务器的安全问题
    • 常见的安全问题包括跨站脚本攻击(XSS)、SQL注入攻击、拒绝服务攻击等。
    • 提高安全性的措施包括定期漏洞扫描、修复漏洞、使用安全插件等。
  6. Web服务器的优化
    • 性能优化是一个持续的过程,可以通过多种方式进行,如使用缓存、压缩传输数据、调整并发连接数等。
  7. Web服务器的类型
    • IIS:微软主推的Web服务器产品,适用于Windows系统。
    • Apache:开源免费的Web服务器,支持跨平台应用,尤其对Linux支持良好。
    • Nginx:高性能的Web服务器,支持高并发和负载均衡。
    • 还有其他类型的Web服务器,如Tomcat、Kangle、WebSphere、WebLogic等。

了解这些基本知识有助于更好地配置、管理和维护Web服务器,确保其稳定、高效地运行。

掌握在Ubuntu系统中利用Apache配置Web服务器的方法

阿帕奇服务器(Apache Server)

一、基本介绍

  • 阿帕奇服务器是一款开源的Web服务器软件,由Apache软件基金会开发和维护。
  • 它是互联网上最流行的服务器软件之一,广泛应用于各类网站和应用程序中。

二、主要特点

  1. 开源免费:阿帕奇服务器以开源的方式发布,任何人都可以免费获取和使用。
  2. 跨平台:可在多个操作系统上运行,包括Windows、Linux、UNIX等,为不同平台的用户提供了便利。
  3. 功能强大:采用模块化设计,用户可以根据需要选择和配置不同的模块,以满足特定的需求。同时,它支持多种编程语言,为开发者提供了丰富的功能和扩展性。
  4. 高性能:阿帕奇服务器采用了多种优化技术,如多线程、事件驱动等,以确保高性能和高并发处理能力。
  5. 安全可靠:具有良好的安全性,支持SSL/TLS加密通信,可以有效保护数据传输的安全。

三、应用场景与功能

  • 作为Web服务器,处理Web浏览器发来的请求,并将网页等资源返回给Web浏览器。
  • 可以用作反向代理,将客户端的请求转发到后端服务器。
  • 实现负载均衡,将请求分发到多个服务器,提高系统的可用性和性能。

四、社区与支持

  • 阿帕奇服务器拥有庞大的用户社区和丰富的文档资源,用户可以方便地获取帮助和支持。

综上所述,阿帕奇服务器是一款功能强大、稳定可靠的Web服务器软件,适用于各种规模的项目和场景。其开源性、跨平台性和模块化设计使得它具有很强的灵活性和可定制性,能够满足不同用户的需求。

五、Apache 服务器的主要配置文件有哪些?

Apache服务器的主要配置文件包括httpd.conf,它是Apache配置的核心文件,包含了全局设置和各种模块的加载指令。通过编辑httpd.conf文件,可以对服务器的基本行为进行设置。此外,Apache还提供了虚拟主机配置文件,允许在同一台物理服务器上运行多个网站,每个网站有自己的域名和IP地址。虚拟主机配置文件通常包括针对每个虚拟主机的设置,如ServerName、ServerAlias、DocumentRoot等指令。

实训例子

1.进入apache 文件配置 再 ls

cd /etc/apache2

ls

2.然后进入 sites-available 目录下 |s 这里有两个虚拟配置站点,我们用第1个为例

cd sites-available

ls

3.在此目录下 复制一份 000-default.conf 并为站点起个名字

sudo cp 000-default.conf         www.abc.com.conf

 

4.再开刚刚创建的站点,这里为了避免权限不够加个 sudo,我用vim 打开配置

sudo vim www.abc.com.conf

5.配置站点,修改名称和数据保存的位置,保留这两行就行,其他可以删除为了好记我把名称改为和站点名一样,最后保存退出。

6.返回上一级目录cd..进入到sites-enable,创建一个软链接 指向刚才的站点

cd ..

cd sites-enabled/

sudo In -s ../sites-available/www.abc.com.conf        ww.abc.com.conf

7.到 Apache 目录下创建一个保存数据的目录,和第五步里 DocmentRoot 指定的名称相同

cd /var/www

sudo mkdir www.abc.com

8.我们在刚刚创建的目录下创建一个index.html 用来显示数据

cd www.abc.com/

sudo vim index.html

这里我们拿了一个html文件玩玩,直接复制过去然后保存退出

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Welcome to My Website</title>
</head>
<body>
    <header>
        <h1>Welcome to My Website</h1>
    </header>
    
    <nav>
        <ul>
            <li><a href="#home">Home</a></li>
            <li><a href="#about">About</a></li>
            <li><a href="#contact">Contact</a></li>
        </ul>
    </nav>
    
    <main>
        <section id="home">
            <h2>Home</h2>
            <p>Welcome to our website! This is the home page.</p>
        </section>
        
        <section id="about">
            <h2>About</h2>
            <p>Learn more about us here.</p>
        </section>
        
        <section id="contact">
            <h2>Contact</h2>
            <p>Contact us for more information.</p>
        </section>
    </main>
    
    <footer>
        <p>&copy; 2024 My Website. All rights reserved.</p>
    </footer>
</body>
</html>

9.最后我们配置本地hosts 文件,对站点拦截,使IP地址指向我们 创建的站点 

sudo vim /etc/hosts

在里面添加 本地ip 和 站点名  192.168.64.132(我的ip地址)       www.abc.com

10.最后需要重启Apache 

sudo service apache2 restart

打开我们的浏览器在地址栏 输入 www.abc.com  回车就能看到我们的界面

​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1795090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

封装了一个仿照抖音评论轮播效果的iOS轮播视图

效果图 原理 就是我们在一个视图里面有两个子视图&#xff0c;一个是currentView, 一个是willShowView,在一次动画过程中&#xff0c;我们改变current View的frame&#xff0c;同时改变willShowView的frame&#xff0c;同时&#xff0c;需要改变currentVIew 的transform.y不然…

【数据结构】链式二叉树详解

个人主页~ 链式二叉树基本内容~ 链式二叉树详解 1、通过前序遍历的数组来构建二叉树2、二叉树的销毁3、二叉树节点个数4、二叉树叶子节点个数5、二叉树第k层节点个数6、二叉树查找7、前序遍历8、中序遍历9、后序遍历10、层序遍历与检查二叉树是否为完全二叉树Queue.hQueue.c层序…

(echarts)图上数值显示单位

&#xff08;echarts&#xff09;图上数值显示单位 series: [{name: 比例,type: bar,...label: {show: true,position: top,formatter: (params) > params.value % //图上数值显示格式},tooltip: { //鼠标移入图上数值显示格式valueFormatter: function(value) {return val…

电源设计01

嵌入式电源设计 电池容量的计算电路充电时的选择&#xff1a; 科普硬件知识&#xff0c;写写关于电路板电源的事情。各类电源模块实物但为什么硬件工程师又必须要了解电源并且在板内自己设计电源呢&#xff1f;首先是DCDC的降压芯片下面推荐几个升压芯片&#xff1a;LDO 电池容…

Unity 自定义编辑器根据枚举值显示变量

public class Test : MonoBehaviour {[HideInInspector][Header("数量")][SerializeField]public int num;[Header("分布类型")][SerializeField]public DistributionType distType;[HideInInspector][Header("位置")][SerializeField]public Li…

数据结构 | 超详细讲解七大排序(C语言实现,含动图,多方法!)

目录 ​编辑 排序的概念 常见排序算法 ​编辑 1.冒泡排序 &#x1f379;图解 &#x1f973;代码实现 &#x1f914;时间复杂度 2.插入排序 &#x1f379;图解 &#x1f334;深度剖析 &#x1f34e;代码思路 &#x1f973;代码实现 &#x1f914;时间复杂度 3.希尔…

【深度学习-第6篇】使用python快速实现CNN多变量回归预测(使用pytorch框架)

上一篇我们讲了使用CNN进行分类的python代码&#xff1a; Mr.看海&#xff1a;【深度学习-第5篇】使用Python快速实现CNN分类&#xff08;模式识别&#xff09;任务&#xff0c;含一维、二维、三维数据演示案例&#xff08;使用pytorch框架&#xff09; 这一篇我们讲CNN的多变…

【Linux】磁盘文件和软硬链接

上篇博客我们说了内存级文件&#xff0c;就是文件加载到内存中它的一些操作。那么不可能所有文件文件都要加载到内存中&#xff0c;大部分文件都要存在与一种可以永久性存储数据的硬件中&#xff0c;就是我们要说的磁盘。现在的笔记本电脑用的都是硬盘&#xff0c;你可以理解为…

C语言 io-文件拷贝

#include <stdio.h> int main(int argc, const char *argv[]) {//1文件拷贝到2文件FILE* fileAfopen(argv[1],"r");FILE* fileBfopen(argv[2],"w");if(NULLfileA){perror("fopen");return -1;}if(NULLfileB){perror("fopen");re…

【Vue】scoped解决样式冲突

默认情况下写在组件中的样式会 全局生效 → 因此很容易造成多个组件之间的样式冲突问题。 全局样式: 默认组件中的样式会作用到全局&#xff0c;任何一个组件中都会受到此样式的影响 局部样式: 可以给组件加上scoped 属性,可以让样式只作用于当前组件 一、代码示例 BaseOne…

MYSQL ORDER BY

在MySQL中&#xff0c;默认情况下&#xff0c;升序排序会将NULL值放在前面&#xff0c;因为在排序过程中&#xff0c;NULL会被视为最小值。然而&#xff0c;有时会要求在升序排序中需要将NULL值放在最后。 例如根据日期升序时就会出现这种问题 方案一&#xff1a; SELECT sor…

Docker成功启动Rabbitmq却访问不了管理页面问题解决

目录 启动步骤&#xff1a; 无法访问问题总结&#xff1a; 启动步骤&#xff1a; 拉取镜像&#xff1a; docker pull rabbitmq 运行&#xff1a; docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq进入容器&#xff1a; docker exec -it 容器id /bin/…

2024.6.9周报

目录 摘要 ABSTRACT 一、文献阅读 1、相关信息 2、摘要 3、文献解读 1、Introduction 2、文章主要贡献 3、模型架构 4、实验 4、结论 二、代码实现 总结 摘要 本周我阅读了一篇题目为《Unlocking the Potential of Transformers in Time Series Forecasting with …

流水线建构apk、abb实战(二)

gradlew 命令生成apk、aab包 其实构建应用程序包就几个命令&#xff1a; ### 生成AAB&#xff1a; gradlew bundleRelease #输出到[project]/build/outputs/bundle/release/下 gradlew bundleDebug### 生成APK&#xff1a; gradlew assembleRelease gradlew assembleDebug###…

Linux系统之fc命令的基本使用

Linux系统之fc命令的基本使用 一、fc命令介绍1.1 fc命令简介1.2 fc命令用途 二、fc命令的帮助信息2.1 fc的man帮助2.2 fc命令的使用帮助2.3 fc命令与history命令区别 三、fc命令的基本使用3.1 显示最近执行的命令3.2 指定序号查询历史命令3.3 使用vim编辑第n条历史命令3.4 替换…

openh264 自适应量化功能源码分析

openh264 OpenH264是一个开源的H.264/AVC视频编解码器&#xff0c;由Cisco公司发起并贡献了最初的代码基础。它提供了一个用于视频编码和解码的库&#xff0c;支持H.264视频压缩标准&#xff0c;广泛应用于视频会议、流媒体和视频存储等领域。OpenH264是实现H.264编解码功能的…

关于vue2 antd 碰到的问题总结下

1.关于vue2 antd 视图更新问题 1.一种强制更新 Vue2是通过用Object…defineProperty来设置数据的getter和setter实现对数据和以及视图改变的监听的。对于数组和对象这种引用类型来说&#xff0c;getter和setter无法检测到它们内部的变化。用这种 this.$set(this.form, "…

T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy论文解读

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、引言二、文献综述1. Text-prompted Object Detection2. Visual-prompted Object Detection3. Interactive Object Detection 三、模型方法1. Visual-Text P…

在vscode 中使用npm的问题

当我装了 npm和nodejs后 跑项目在 文件中cmd的话可以直接运行但是在 vscode 中运行的时候就会报一下错误 解决方法就是在 vscode 中吧 power shell换成cmd 来运行就行了

JVM相关:Java内存区域

Java 虚拟机&#xff08;JVM)在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 Java运行时数据区域是指Java虚拟机&#xff08;JVM&#xff09;在执行Java程序时&#xff0c;为了管理内存而划分的几个不同作用域。这些区域各自承担特定的任务&#xff0c…