Apache(httpd) 搭建笔记

news2025/8/8 9:24:38

Apache 搭建笔记

  • 安装Apache HTTP服务器:
    • 启动Apache服务并设置开机自启
  • 配置SSL证书
    • 配置Apache的SSL虚拟主机:
    • 重启Apache服务以使更改生效:
  • 多站点
      • 配置第一个虚拟主机
      • 配置第二个虚拟主机
      • 创建每个站点的根目录:
  • 强制跳转http>>https
  • 多站点的强制跳转http>>https
  • 目录结构

安装Apache HTTP服务器:

yum install httpd
iptables -L #查看是否有防火墙规则
systemctl status firewalld #查看是否开启防火墙
#有防火墙最好关闭
setenforce 0  #关闭selinux

启动Apache服务并设置开机自启

systemctl start httpd
systemctl enable httpd

配置SSL证书

将SSL证书和私钥文件上传到服务器上。通常,证书文件的扩展名为.crt,私钥文件的扩展名为.key。
将证书文件和私钥文件移动到适当的目录,例如/etc/httpd/ssl/:

mkdir /etc/httpd/ssl
mv /tmp/certificate.crt /etc/httpd/ssl/
mv /tmp/private.key /etc/httpd/ssl/

配置Apache的SSL虚拟主机:

vim /etc/httpd/conf/httpd.conf

去掉文本内下列参数注释#

LoadModule ssl_module modules/mod_ssl.so
Include conf.d/*.conf

在配置文件的末尾添加以下内容,配置SSL虚拟主机:

<VirtualHost *:443>
    ServerName your_domain.com #你的域名
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/certificate.crt
    SSLCertificateKeyFile /etc/httpd/ssl/private.key

    <Directory /var/www/html>
        AllowOverride All
    </Directory>
</VirtualHost>

重启Apache服务以使更改生效:

systemctl restart httpd

多站点

每个虚拟主机可以有自己的域名、目录和配置。通过Apache的虚拟主机功能配置多站点
修改配置文件

vim /etc/httpd/conf/httpd.conf

下列参数取消注释#

NameVirtualHost *:80
Include conf.d/*.conf

配置第一个虚拟主机

vim /etc/httpd/conf.d/your_domain1.conf
<VirtualHost *:80>
    ServerName your_domain1.com
    DocumentRoot /var/www/html/your_domain1
</VirtualHost>

your_domain1.com替换为你的第一个域名,并将/var/www/html/your_domain1替换为第一个站点的根目录。

配置第二个虚拟主机

复制第一个虚拟主机配置块,并修改其中的域名和目录:

vim /etc/httpd/conf.d/your_domain2.conf
<VirtualHost *:80>
    ServerName your_domain2.com
    DocumentRoot /var/www/html/your_domain2
</VirtualHost>

保存并关闭文件

创建每个站点的根目录:

将your_domain1和your_domain2替换为每个站点的名称

mkdir /var/www/html/your_domain1
mkdir /var/www/html/your_domain2

将每个站点的文件放置在相应的根目录中。
重启Apache服务

systemctl restart httpd

强制跳转http>>https

修改配置文件

vim /etc/httpd/conf/httpd.conf

在文件的末尾添加以下内容来创建一个新的虚拟主机配置块,用于重定向HTTP到HTTPS:
请确保将your_domain.com替换为你的实际域名。

<VirtualHost *:80>
    ServerName your_domain.com #你的域名
    Redirect permanent / https://your_domain.com/
</VirtualHost>

保存并关闭文件。
重启httpd服务

systemctl restart httpd

多站点的强制跳转http>>https

打开每个站点的配置文件

vim /etc/httpd/conf.d/your_domain1.conf

在文件中找到或添加标签,并在其中添加以下重定向规则:

<VirtualHost *:80>
    ServerName your_domain1.com
    DocumentRoot /var/www/html/your_domain1

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>

将your_domain1.com替换为你的第一个域名,并将/var/www/html/your_domain1替换为第一个站点的根目录。
重复上述步骤,为每个站点的配置文件添加相应的重定向规则。
重启Apache服务以使更改生效

systemctl restart httpd

目录结构

在这里插入图片描述

conf:存放主配置文件httpd.conf,在httpd文件中可以对Apache进行配置。
conf.d:目录通常用于存放额外的Apache配置文件。

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

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

相关文章

mysql及事务隔离级别

目录 一 事务之间相互影响分为几种 二 mysql常见的储存引擎 三 死锁 四 查看使用的储存引擎 五 修改储存引擎 六 总结 一 事务之间相互影响分为几种 脏读:就是读取了没有提交的数据, 不可重复读 :前后多次读取内容不一致 幻读:两次读的结果不一样 丢失更新:后一个会覆…

哈夫曼编码(霍夫曼、赫夫曼)

一、发展历史 哈夫曼使用自底向上的方法构建二叉树。 哈夫曼编码的基本方法是先对图像数据扫描一遍&#xff0c;计算出各种像素出现的概率&#xff0c;按概率的大小指定不同长度的唯一码字&#xff08;这种长度不同的编码方式称为变长编码&#xff0c;对应的长度相同的编码方…

关闭Vue CLI(脚手架)中的语法检查

1.创建一个名为vue.config.js的文件&#xff0c;与package.json文件平级 参考官方文档&#xff1a;Home | Vue CLI (vuejs.org) 2.将下面代码复制进vue.config.js文件中 module.exports{lintOnSave:false;//关闭语法检查 }

c++计算贝塞尔曲线(折线平滑为曲线)坐标方法

效果可查看上一篇博文&#xff1a;js手动画平滑曲线&#xff0c;贝塞尔曲线拟合【代码】js手动画平滑曲线&#xff0c;贝塞尔曲线拟合。https://blog.csdn.net/qiufeng_xinqing/article/details/131711963?spm1001.2014.3001.5502 代码如下&#xff1a; #include <cmath&…

10.6.1 【Linux】撷取命令: cut, grep

cut cut 主要的用途在于将“同一行里面的数据进行分解&#xff01;”最常使用在分析一些数据或文字数据的时候。这是因为有时候我们会以某些字符当作分区的参数&#xff0c;然后来将数据加以切割&#xff0c;以取得我们所需要的数据。 grep 10.6.2 排序命令&#xff1a; sort,…

最火爆的大模型框架LangChain七大核心及案例剖析上(一)

最火爆的大模型框架LangChain七大核心及案例剖析上 10.1 Models解析及案例剖析 本节正式进入当前开源界最火爆的大模型开发框架LangChain的部分,会讲解整个LangChain解决的问题及它的工作机制,通过一个“LangChain GPT内容创建者”(“LangChain GPT Content Creator”)的具体…

第九章:RefineNet——多路径细化网络用于高分辨率语义分割

0.摘要 最近&#xff0c;非常深的卷积神经网络&#xff08;CNN&#xff09;在目标识别方面表现出色&#xff0c;并且也是密集分类问题&#xff08;如语义分割&#xff09;的首选。然而&#xff0c;在深度CNN中&#xff0c;重复的子采样操作&#xff08;如池化或卷积跳跃&#x…

Matplotlib figure图形对象

通过前面的学习&#xff0c;我们知道matplotlib.pyplot模块能够快速地生成图像&#xff0c;但如果使用面向对象的编程思想&#xff0c;我们就可以更好地控制和自定义图像。 在 Matplotlib 中&#xff0c;面向对象编程的核心思想是创建图形对象&#xff08;figure object&#…

第十三章——类继承

面向对象编程的主要目的之一是提供可重用的代码。&#xff08;重用经过测试的代码比重新编写代码要好的多&#xff09; C类提供了更高层次的重用性。很多厂商提供了类库&#xff0c;类组合了数据表示和类方法&#xff0c;因此提供了比函数库更加完整的程序包。通常类库是以源代…

文件IO_文件读写(附Linux-5.15.10内核源码分析)

目录 1.什么是文件偏移量&#xff1f; 1.1 文件偏移量介绍 1.2 文件偏移量重点 1.3 文件偏移量工作原理 2.文件偏移量设置 2.1 lseek函数 2.2 lseek内核源码分析 3.写文件 3.1 write函数 3.2 write内核源码分析 4.读文件 4.1 read函数 4.2 read内核源码分析 5.文…

物流难统计、难管理?学会这招,问题迎刃而解

在当今数字化的时代&#xff0c;商家面临着诸多物流挑战。物流数据人工统计成本高、管理难、决策难是很常见的问题。本文将探讨如何通过智能数据分析解决这些问题&#xff0c;帮助商家提升物流效率和管理能力。 物流数据人工统计&#xff0c;难决策 物流数据沉淀全靠人工线下…

Vue3_简介、CompositionVPI、新的组件

文章目录 Vue3快速上手1.Vue3简介2.Vue3带来了什么1.性能的提升2.源码的升级3.拥抱TypeScript4.新的特性 一、创建Vue3.0工程1.使用 vue-cli 创建2.使用 vite 创建 二、常用 Composition API1.拉开序幕的setup2.ref函数3.reactive函数4.Vue3.0中的响应式原理vue2.x的响应式Vue3…

labview实现呼吸灯颜色渐变效果

呼吸灯效果具有美好的视觉观感&#xff0c;前一段时期感受了一位大佬在MCU中实现呼吸灯颜色渐变效果&#xff0c;很是震撼。这引起了我的兴趣&#xff0c;本文则是实现一种呼吸灯效果(主要在于颜色的渐变体现)。 程序整体视图 程序框图 公式节点程序 int red_is_0 red 0 ?…

探索MR与AIGC技术的发展机遇:教育、医疗领域的前景展望

在当今科技迅猛发展的时代&#xff0c;混合现实&#xff08;MR&#xff09;和增强智能生成创作&#xff08;AIGC&#xff09;技术正逐渐成为教育、医疗领域中的关键驱动力。这两项前沿技术的结合为我们带来了无限的可能性和创新的机遇。 MR技术在教育领域中的发展与机遇是广泛而…

非洲秃鹫优化算法(AVOA)(含MATLAB代码)

先做一个声明&#xff1a;文章是由我的个人公众号中的推送直接复制粘贴而来&#xff0c;因此对智能优化算法感兴趣的朋友&#xff0c;可关注我的个人公众号&#xff1a;启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法&#xff0c;经典的&#xff0c;或者是近几年…

LayUI框架实现OA会议系统——增删改查

目录 前言 1. 配置准备 1.1 Layui框架 1.2 mysql数据库表 1.3 用户管理JSP页面 1.4 新增、修改用户共用界面 2. 后台编写 2.1 编写UserDao类增删改查方法 2.2 R工具类 2.3 BaseDao数据库查询方法 2.4 UserAction控制器类 3. 前台JS编写 3.1 userManage页面JS 3.2…

测试报告?Python自动化测试-Allure测试报告使用大全,一篇全通透

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 安装并配置环境变…

工业相机的基础参数释义

景深&#xff1a; 可以清晰拍摄被测物的距离范围。 工作距离&#xff1a; 相机镜头至被测物的距离。 物像距离&#xff1a; 被测物至芯片靶面的距离。 像元尺寸&#xff1a; 一个像素在长和宽方向上所代表的实际大小&#xff0c;单位通常为微米。像元尺寸越大&#xff0c;分辨率…

记录stm32c8t6使用TIM4_CH1、TIM4_CH2输出PWM波控制编码电机出现的问题

由于之前是使用PB9、PB7引脚即TIM4_ch3\TIM4_ch4&#xff0c;由于项目更改为c8t6的PB、PB7引脚&#xff08;TIM4_ch3\TIM4_ch4&#xff09; 改为配置后发现只有一边的轮子可以转到&#xff0c;明明配置没什么问题&#xff0c;编译也没有报错&#xff0c;最后将pwm的调制模式更改…

Android 进程与进程之间的通信--AIDL详细教程,以传递对象为例,两个app实现

我这里案例是 通过 IPC 传递对象 &#xff08;以DemoBean类为例&#xff09; 如下&#xff1a; AIDL 使用一种简单语法&#xff0c;允许您通过一个或多个方法&#xff08;可接收参数和返回值&#xff09;来声明接口。参数和返回值可为任意类型&#xff0c;甚至是 AIDL 生成的其…