Web服务器-一代经典LAMP

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一大章介绍了Kubernetes的知识,本章节我们进入中间件的讲解,这里会包含很多不同的类型组件,中间件的第一个大类我这里定义的是Web服务器。由于目前使用最广泛的Web服务器是Nginx,所以我们这里的讲解主要以Nginx服务器为主。

前面我们讲一代经典LNMP,实际上在他之前还有更经典的LAMP,今天我们就来讲解下这里最核心的Apache。

早期的运维面试在Web方面经常会问的一个问题,Apache和Nginx的主要是区别是啥。目前在比较新的应用里面已经较少使用Apache,在一些比较旧的系统里面还有不少Apache在运行。

Apache介绍

Apache HTTP服务器(通常简称为Apache)是一个开源的、基于标准的HTTP服务器,用于现代操作系统,包括UNIX、Microsoft Windows、macOS等。它由Apache软件基金会维护,是互联网上最流行的Web服务器之一。根据Netcraft的调查数据,Apache长期保持在活跃网站使用的Web服务器中的高占有率。甚至Apache这个基金会这个名字都受Apache软件的影响。

曾经的Apache占据web市场的半壁江山,现在也还排在前几位。

Apache安装和启动

bash 复制代码
yum install httpd
#他的服务名字是httpd,而非apache 
systemctl start httpd
systemctl enable httpd

Apache的配置文件和目录结构

核心文件配置

bash 复制代码
[root@localhost ]# ll /etc/httpd/conf/httpd.conf 
-rw-r--r-- 1 root root 11753 May 30  2023 /etc/httpd/conf/httpd.conf

创建一个虚拟机(网站)

bash 复制代码
<VirtualHost *:80>
    ServerName mysite.com          # 你的域名(无域名可用服务器IP)
    ServerAlias www.mysite.com     # 可选:域名别名
    DocumentRoot /var/www/mysite.com #静态网站目录,需要有apache的权限

    <Directory /var/www/mysite.com>  #对目录的权限的控制
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
     
    ErrorLog ${APACHE_LOG_DIR}/error.log    #错误日志定义
    CustomLog ${APACHE_LOG_DIR}/access.log combined #调用全局日志格式
</VirtualHost>

对PHP的支持

bash 复制代码
#这里实际上可以有很多模块,这里只选择了最核心的连接数据库的模块 
yum install php php-mysql
systemctl restart httpd

#构建测试页面 
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

现在的安装相对以前都简单很多,我们以前安装LAMP基本上是这样安装的。

1.二进制安装MYSQL,只需要修改基本的配置文件即可(曾经编译过好像好几个小时)。

2.编译安装PHP及相关依赖插件(编译完成获得静态文件,他没有类似fpm的进程)。

3.编译安装Apache,这里需要指定加入PHP的路径,这样编译出来的Apache就原生支持PHP,这里就没有php-fpm的进程。

4.手工修改httpd.conf,添加php模块配置进去,让他可以支持PHP。

自动化安装编译LAMP环境,也是当时必须要编写的Shell脚本之一。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
网硕互联的小客服23 分钟前
Centos系统如何更改root账户用户名?需要注意什么?
linux·运维·服务器·数据库·安全
lisanmengmeng36 分钟前
zentao的prod环境升级(一)
linux·运维·数据库·docker·容器·禅道
wunianor41 分钟前
[高并发服务器]DEBUG日志
linux·运维·服务器·c++
nbsaas-boot1 小时前
SQL Server 存储过程设计规范(事务与异常处理)
linux·数据库·设计规范
Jason_zhao_MR2 小时前
米尔RK3506核心板SDK重磅升级,解锁三核A7实时控制新架构
linux·嵌入式硬件·物联网·架构·嵌入式·嵌入式实时数据库
网硕互联的小客服2 小时前
遇到网站500内部服务器错误如何处理?如何预防这样的问题发生?
运维·服务器·安全
叮咚侠2 小时前
Ubuntu 24.04.3 LTS 中 vdb 的 UUID 永久挂载没有显示的磁盘的操作步骤
linux·运维·ubuntu·挂载磁盘
GAOJ_K2 小时前
滚柱导轨中的密封件如何判断是否需更换?
运维·人工智能·科技·自动化·制造
.小墨迹2 小时前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
风华同学2 小时前
【Linux驱动篇】LED驱动开发实验
linux·驱动开发·ubuntu