Linux基础- 使用 Apache 服务部署静态网站

目录

零. 简介

一. linux安装Apache

二. 创建网页

三. window访问

修改了一下默认端口 到 8080


零. 简介

Apache 是世界使用排名第一的 Web 服务器软件。

它具有以下一些显著特点和优势:

  1. 开源免费:可以免费使用和修改,拥有庞大的社区支持,便于获取帮助和资源。
  2. 跨平台:能够在多种操作系统上运行,如 Linux、Windows、Unix 等。
  3. 稳定性高:经过长期的实践和优化,具有出色的稳定性和可靠性,能够长时间稳定运行。
  4. 功能强大:支持多种模块扩展,可以实现诸如 URL 重写、虚拟主机、SSL 加密、访问控制等丰富的功能。
  5. 配置灵活:通过配置文件可以对服务器的各种参数进行详细的设置和调整,以满足不同的需求。
  6. 安全性较好:不断更新以修复安全漏洞,并提供多种安全机制来保护服务器和网站。

Apache 广泛应用于各种规模的网站和应用程序的部署,无论是个人博客、企业网站还是大型电子商务平台,都可以基于 Apache 搭建可靠的 Web 服务。

一. linux安装Apache

在 Ubuntu 系统中安装 Apache 服务,可以按照以下步骤进行操作:

  1. 打开终端。

  2. 更新软件包列表:

   sudo apt update
  1. 安装 Apache 服务:
   sudo apt install apache2
  1. 安装过程中会提示确认一些信息,按回车键确认即可。

安装完成后,Apache 服务会自动启动。您可以通过以下方式进行验证:

  1. 在浏览器中输入服务器的本地 IP 地址,如果看到 Apache 的默认页面,说明安装成功。

  2. 您还可以使用以下命令查看 Apache 服务的状态:

   sudo systemctl status apache2

如果您想进一步配置 Apache 服务(如虚拟主机、SSL 证书等),可以通过修改 /etc/apache2 目录下的相关配置文件来实现。

成功打开本地地址.

二. 创建网页

找到默认网页位置

如果不习惯这个模式,可以直接打开文件夹

输入 nautilus admin:/

就可以看到文件夹了

创建新的网页

运行网页

Apache2 配置的介绍:

Apache2 是一个开源的 HTTP 服务器软件。以下是一些常见的 Apache2 配置的介绍:

  • ServerRoot:指定服务器的根目录。
  • Listen:监听的端口,可以指定 IP 地址和端口号,默认为监听所有 IP 的 80 端口。例如:Listen 80 或 Listen 127.0.0.1:8080
  • <IfModule unixd_module>:通常用于设置所属用户和组,后面添加虚拟路径的文件夹必须拥有这个用户和组的读写权限。
  • ServerAdmin:当网站出现故障时,为客户提供的可帮助解决问题的邮件地址。
  • ServerName:设置服务器本机的主机名称以及端口,对 URL 地址的重定向很重要。
  • DocumentRoot:设置 Web 服务对客户端开放可见的文档根目录,即客户端访问网站的根路径,但符号链接和别名可指向其他位置。
  • <Directory>:用于控制特定目录的相关权限和设置。例如,Indexes 的作用是当目录下没有 index.html 文件时,是否显示目录结构;Options 可设置目录的具体功能,如 FollowSymLinks 允许访问链接文件;AllowOverride 可设置为 None 完全忽略 .htaccess 文件,或设置为 All 允许 .htaccess 文件中的指令生效;Require 用于指定访问权限,如 all granted 表示无条件允许访问。
  • DirectoryIndex:设置默认的目录资源列表文件,即当访问目录时,首先寻找的文件。
  • ErrorLog:指定错误日志的路径。
  • LogLevel:设置记录错误的等级。
  • LogFormat:定义访问日志的格式。
  • CustomLog:使用该参数设置访问日志的位置和格式。
  • <IfModule alias_module>:可用于设置虚拟目录。
  • <IfModule cgid_module>:在特定运行模式下设置与 CGI 守护进程通信的套接字文件名前缀。
  • <Directory "/usr/local/apache2/cgi-bin/">:设定默认 CGI 脚本目录的属性,类似其他 <Directory> 的设置。
  • <IfModule headers_module>:用于设置一些与请求头相关的操作。
  • <IfModule mime_module>:指定 MIME 类型映射文件,以及添加特定的文件类型映射。

在 Ubuntu 系统中,Apache2 的安装目录文件结构通常如下:

  • /etc/apache2/:主配置目录。其中包含 apache2.conf(主配置文件,通常很少修改)、ports.conf(所有监听的端口配置)、sites-available(所有的虚拟主机配置文件)、sites-enabled(所有正在运行的虚拟主机配置文件,该目录下的文件只是 sites-available 下面文件的软链接)、mods-available(已安装的 Apache2 模块,非启用的模块)、mods-enabled(已启用的模块)、envvars(Apache2 的环境变量,通常很少修改)等。

要修改 Apache2 的配置,需要根据具体需求编辑相应的配置文件。修改完成后,通常需要重新加载或重启 Apache2 服务以使配置生效。例如,在 Ubuntu 中可以使用sudo systemctl restart apache2命令重启 Apache2 服务。

另外,Apache2 有多种并发处理模型(MPM),不同版本的具体配置方式可能会有所差异。例如在 2.4 版中,可通过修改 /etc/apache2/mods-enabled/mpm_perfork.conf 文件来配置 Prefork 模型的相关参数。

三. window访问

我是直接关闭了Ubuntu的防火墙

sudo systemctl stop firewalld.service;

查看ip地址

ip address

用windows telnet一下端口确保端口能通

虚拟机用的是 ant模式

修改了一下默认端口 到 8080

在 Ubuntu 中更改 Apache 的端口,您可以按照以下步骤进行操作:

  1. 打开 Apache 的端口配置文件:
   sudo nano /etc/apache2/ports.conf
  1. 在该文件中,您会看到类似以下的内容:
   # If you just change the port or add more ports here, you will likely also# have to change the VirtualHost statement in# /etc/apache2/sites-enabled/000-default.confListen 80
  1. 将 Listen 80 中的 80 更改为您想要的端口号,例如 Listen 8080 。

  2. 保存并关闭文件(在 nano 编辑器中,按 Ctrl + X ,然后按 Y 确认保存)。

  3. 接下来,您还需要更改默认站点配置文件中关于端口的设置。打开默认站点配置文件:

   sudo nano /etc/apache2/sites-enabled/000-default.conf
  1. 找到类似于以下的内容:
   <VirtualHost *:80>
  1. 将其中的 80 更改为您在 ports.conf 文件中设置的新端口号,例如 <VirtualHost *:8080> 。

  2. 保存并关闭文件。

  3. 最后,重启 Apache 服务以使更改生效:

   sudo systemctl restart apache2

这样,Apache 就会在您指定的新端口上运行了。请确保新端口未被其他服务占用,并根据您的网络环境和安全策略,合理配置防火墙以允许对新端口的访问。

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

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

相关文章

Web渗透:任意文件下载

任意文件下载漏洞&#xff08;Arbitrary File Download Vulnerability&#xff09;是一种常见的Web安全漏洞&#xff0c;它允许攻击者通过修改输入参数&#xff0c;从服务器下载任意文件&#xff0c;而不仅仅是预期的文件&#xff1b;通常这种漏洞出现在处理用户输入的地方&…

python CSSE7030

1 Introduction In this assignment, you will implement a (heavily) simplified version of the video game ”Into The Breach”. In this game players defend a set of civilian buildings from giant monsters. In order to achieve this goal, the player commands a s…

AI进阶指南第四课,大模型优缺点研究?

在上一篇文章中&#xff0c;我主要探讨了LM模型与企业级模型的融合。 但是&#xff0c;在文末对于具体的大模型优缺点只是简单地说明了一下&#xff0c;并不细致。 因此&#xff0c;在这一节&#xff0c;我将更为细致地说明一下大模型的优缺点。 一&#xff0c;隐私安全 将L…

2018年全国大学生数学建模竞赛A题高温服装设计(含word论文和源代码资源)

文章目录 一、部分题目二、部分论文三、部分Matlab源代码问题11 求解h1h22 已知h1h2求解温度分布 问题21 求解第二层最佳厚度 四、完整word版论文和源代码&#xff08;两种获取方式&#xff09; 一、部分题目 2018 年高教社杯全国大学生数学建模竞赛题目 A 题 高温作业专用服…

Linux C 程序 【02】创建线程

1.开发背景 上一个篇章&#xff0c;基于 RK3568 平台的基础上&#xff0c;运行了最简单的程序&#xff0c;然而我们使用了 Linux 系统&#xff0c;系统自带的多线程特性还是比较重要的&#xff0c;这个篇章主要描述线程的创建。 2.开发需求 设计实验&#xff1a; 创建一个线程…

入门JavaWeb之 JavaBean 实体类

JavaBean 有特定写法&#xff1a; 1.必须有一个无参构造 2.属性必须私有 3.必须有对应的 get/set 方法 一般用来和数据库的字段做映射 ORM&#xff1a;对象关系映射 表->类 字段->属性 行记录->对象 连接数据库 没有的话去 Settings -> Plugins 搜索 Data…

Vue-路由

路由简介 SPA单页面应用。导航区和展示区 单页Web应用整个应用只有一个完整的页面点击页面中的导航连接不会刷新页面&#xff0c;只会做页面的局部更新数据需要通过ajax请求获取 路由&#xff1a;路由就是一组映射关系&#xff0c;服务器接收到请求时&#xff0c;根据请求路…

[论文阅读笔记33] Matching Anything by Segmenting Anything (CVPR2024 highlight)

这篇文章借助SAM模型强大的泛化性&#xff0c;在任意域上进行任意的多目标跟踪&#xff0c;而无需任何额外的标注。 其核心思想就是在训练的过程中&#xff0c;利用strong augmentation对一张图片进行变换&#xff0c;然后用SAM分割出其中的对象&#xff0c;因此可以找到一组图…

k8s集群node节点加入失败

出现这种情况&#xff1a; [preflight] FYI: You can look at this config file with kubectl -n kube-system get cm kubeadm-config -o yaml [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" [kubelet-start] Writing kub…

python 识别图片点击,设置坐标,离设置坐标越近的优先识别点击

import pyautogui import cv2 import numpy as np import mathdef find_and_click(template_path, target_x, target_y, match_threshold0.8):"""在屏幕上查找目标图片并点击。Args:template_path: 目标图片的路径。target_x: 预设的坐标 x 轴值。target_y: 预设…

OpenCV报错已解决:Vector析构异常OpencvAssert CrtlsValidHeapPointer

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 在使用OpenCV进行图像处理时&#xff0c;我们可能会遇到Vector析构异常OpencvAssert CrtlsValidHeapPointer的问题。本文将…

基于LMS自适应滤波的窄带信号宽带噪声去除(MATLAB R2021B)

数十年的研究极大的发展了自适应滤波理论&#xff0c;自适应滤波理论已经成为信号处理领域研究的热点之一。从理论上讲&#xff0c;自适应滤波问题没有唯一解。为了得到自适应滤波器及其应用系统&#xff0c;可以根据不同的优化准则推导出许多不同的自适应理论。目前该理论主要…

在eclipse中导入idea项目步骤

一、可以把其它项目的.project&#xff0c; .classpath文件拷贝过来&#xff0c;修改相应的地方则可。 1、.project文件只需要修改<name>xxx</name>这个项目名称则可 2、.classpath文件通常不用改&#xff0c; 二、右击 项目名 >选择“Properties”>选择 Re…

自动驾驶⻋辆环境感知:多传感器融合

目录 一、多传感器融合技术概述 二、基于传统方法的多传感器融合 三、基于深度学习的视觉和LiDAR的目标级融合 四、基于深度学习的视觉和LiDAR数据的前融合方法 概念介绍 同步和配准 时间同步 标定 摄像机内参标定&#xff08;使用OpenCV&#xff09; 摄像机与LiDAR外…

微软推出最新视觉基础模型Florence-2 可在浏览器运行

据微软官方消息&#xff0c;微软推出视觉基础模型Florence-2&#xff0c;该模型现已能够在支持WebGPU的浏览器中100%本地运行。Florence-2-base-ft是一个拥有2.3亿参数的视觉基础模型&#xff0c;采用基于提示的方法来处理广泛的视觉和视觉语言任务。 该模型支持多种功能&…

IDEA 插件推荐【一】

好使的插件可以让工作事倍功半。下面就推荐一些常用的IDEA插件&#xff0c;如果你有其他好使的插件&#xff0c;欢迎评论区留言分享出来~ 1.Key Promoter X Key Promoter X 插件&#xff0c;IDEA 快捷键提示工具。 在每次我们使用鼠标进行 IDEA 的某个操作&#xff0c;Key Pr…

lambda-map.merge

map.merge 结论: 1.当前传入的 key ,value biFunction 2.如果之前map不存在则直接put(当前key,当前value) 3.如果之前map已经有了,老value与 当前value 进入function处理后再 put(当前key,处理后的value)

IDEA使用Apidocx插件在RAP生成接口文档

第一步 安装插件&#xff0c;安装最新的1.1.7即可&#xff0c;插件与idea版本对照 第二步 输入对应的IP或域名&#xff0c;端口说明&#xff1a; 1. 38080&#xff1a;为后端数据 API 服务器&#xff08;rap2-delos&#xff09; 2. 3000&#xff1a;为前端静态资源服务&…

40岁学习java是否需要报班学习?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;应该不需要。各种公开免费的…

【计算机毕业设计】087基于微信小程序社区养老服务

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…