LAMP架构部署--yum安装方式

这里写目录标题

  • LAMP架构部署
    • web服务器工作流程
      • web工作流程
    • yum安装方式
      • 安装软件包
      • 配置apache
        • 启用代理模块
      • 配置虚拟主机
      • 配置php
      • 验证

LAMP架构部署

web服务器工作流程

web服务器的资源分为两种,静态资源和动态资源

  • 静态资源就是指静态内容,客户端从服务器获得的资源的表现形式与原文件相同。可以简单的理解为就是直接存储于文件系统中的资源
  • 动态资源则通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端

那么web服务器如何执行程序并将结果返回给客户端呢?下面通过一张图来说明一下web服务器如何处理客户端的请求

在这里插入图片描述

如上图所示

阶段①显示的是httpd服务器(即apache)和php服务器通过FastCGI协议进行通信,且php作为独立的服务进程运行

阶段②显示的是php程序和mysql数据库间通过mysql协议进行通信。php与mysql本没有什么联系,但是由Php语言写成的程序可以与mysql进行数据交互。同理perl和python写的程序也可以与mysql数据库进行交互

web工作流程

通过上面的图说明一下web的工作流程:

  • 客户端通过http协议请求web服务器资源
  • web服务器收到请求后判断客户端请求的资源是静态资源或是动态资源
    • 若是静态资源则直接从本地文件系统取之返回给客户端。
    • 否则若为动态资源则通过FastCGI协议与php服务器联系,通过CGI程序的master进程调度worker进程来执行程序以获得客户端请求的动态资源,并将执行的结果通过FastCGI协议返回给httpd服务器,httpd服务器收到php的执行结果后将其封装为http响应报文响应给客户端。在执行程序获取动态资源时若需要获得数据库中的资源时,由Php服务器通过mysql协议与MySQL/MariaDB服务器交互,取之而后返回给httpd,httpd将从php服务器收到的执行结果封装成http响应报文响应给客户端。

L:Linux

A: apache

M: Mariadb/mysql

P: php

yum安装方式

可动态显示

#在最初始的环境下运行搭建[root@zyq ~]# cd /etc/yum.repos.d/
[root@zyq yum.repos.d]# ls
CentOS-Stream-AppStream.repo  CentOS-Stream-Extras.repo            CentOS-Stream-NFV.repo         CentOS-Stream-ResilientStorage.repo
CentOS-Stream-BaseOS.repo     CentOS-Stream-HighAvailability.repo  CentOS-Stream-PowerTools.repo  CentOS-Stream-Sources.repo
CentOS-Stream-Debuginfo.repo  CentOS-Stream-Media.repo             CentOS-Stream-RealTime.repo
[root@zyq yum.repos.d]# mv * /opt/
[root@zyq yum.repos.d]# ls
[root@zyq yum.repos.d]# 
[root@zyq yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  2495  100  2495    0     0  11550      0 --:--:-- --:--:-- --:--:-- 11497
[root@zyq yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@zyq yum.repos.d]# yum clean all
21 files removed
[root@zyq yum.repos.d]# yum makecache 
......

安装软件包

lamp平台软件安装次序:

​ httpd --> mysql --> php

[root@zyq ~]yum -y --allowerasing install httpd mariadb mariadb-server php*

配置apache

启用代理模块
[root@zyq ~]# ls /etc/httpd/conf.modules.d/
00-base.conf  00-dav.conf  00-lua.conf  00-mpm.conf  00-optional.conf  00-proxy.conf  00-systemd.conf  01-cgi.conf  10-h2.conf  10-proxy_h2.conf  15-php.conf  README  //查看已经打开了的代理模块
[root@zyq ~]# cat /etc/httpd/conf.modules.d/00-proxy.conf 
# This file configures all the proxy modules:
LoadModule proxy_module modules/mod_proxy.so   <-----查看
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so  <----查看
LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

配置虚拟主机

[root@zyq ~]# cd /var/www/html/
[root@zyq html]# ls
[root@zyq html]# vi index.php
[root@zyq html]# cat index.php
<?phpphpinfo();
?>
[root@zyq html]# cd /etc/httpd/conf.d/
[root@zyq conf.d]# find / -name *vhosts.conf
/usr/share/doc/httpd/httpd-vhosts.conf
[root@zyq conf.d]# cp /usr/share/doc/httpd/httpd-vhosts.conf vhosts.conf
[root@zyq conf.d]# ls
autoindex.conf  php.conf  README  userdir.conf  vhosts.conf  welcome.conf
[root@zyq conf.d]# vim vhosts.conf 
[root@zyq conf.d]# cat vhosts.conf 
<VirtualHost *:80>DocumentRoot "/var/www/html"ServerName www.zyq.comErrorLog "/var/log/httpd/www.zyq.com-error_log"CustomLog "/var/log/httpd/www.zyq.com-access_log" common
ProxyRequests OffProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1  <Directory "/var/www/html">Options noneAllowOverride noneRequire all granted</Directory>
</VirtualHost>配置主配置文件
[root@zyq conf.d]# grep -A3 'application/x-gzip .gz' /etc/httpd/conf/httpd.conf AddType application/x-gzip .gz .tgzAddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps#
[root@zyq conf.d]# grep -C1 'index.html' /etc/httpd/conf/httpd.conf 
<IfModule dir_module>DirectoryIndex index.php  index.html   //默认php
</IfModule>

在这里插入图片描述

在这里插入图片描述

启动服务

[root@zyq ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@zyq ~]# ss -antl
State               Recv-Q              Send-Q                           Local Address:Port                           Peer Address:Port             Process             
LISTEN              0                   128                                    0.0.0.0:22                                  0.0.0.0:*                                    
LISTEN              0                   128                                          *:80                                        *:*                                    
LISTEN              0                   128                                       [::]:22                                     [::]:*    [root@zyq ~]# systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
[root@zyq ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> quit
Bye

配置php

#添加9000端口号
[root@zyq etc]# cd /etc/php
php.d/     php-fpm.d/ 
[root@zyq etc]# cd /etc/php-fpm.d/
[root@zyq php-fpm.d]# ls
www.conf
[root@zyq php-fpm.d]# vi www.conf 
[root@zyq php-fpm.d]# grep '^listen' www.conf 
listen = 0.0.0.0:9000
listen.acl_users = apache,nginx
listen.allowed_clients = 127.0.0.1
[root@zyq php-fpm.d]# systemctl restart php-fpm
[root@zyq php-fpm.d]# systemctl enable php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.#查看端口
[root@zyq ~]# ss -antl
State               Recv-Q              Send-Q                           Local Address:Port                           Peer Address:Port             Process             
LISTEN              0                   128                                    0.0.0.0:22                                  0.0.0.0:*                                    
LISTEN              0                   128                                    0.0.0.0:9000                                0.0.0.0:*                                    
LISTEN              0                   128                                          *:80                                        *:*                                    
LISTEN              0                   128                                       [::]:22                                     [::]:*                                    
LISTEN              0                   80                                           *:3306                                      *:*               
关闭防火墙
[root@zyq ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@zyq ~]# setenforce 0
[root@zyq ~]# vi /etc/selinux/config 
[root@zyq ~]# grep 'SELINUX' /etc/selinux/config 
# SELINUX= can take one of these three values:
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
SELINUXTYPE=targeted

在这里插入图片描述

验证

在这里插入图片描述

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

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

相关文章

如何选择合适的奶瓶?五大超实用选购技巧,新手宝妈必看

奶瓶什么品牌好&#xff1f;奶瓶是每个新生宝宝都需要用到的辅喂产品&#xff0c;然而市场上许多网红品牌为了赚快钱&#xff0c;往往凭借外观设计、性价比和广告营销来吸引消费者。这些品牌由于缺乏专业技术&#xff0c;往往没有对选材用料和安全性进一步的优化&#xff0c;从…

MNN Session::resize 之流水线编码(五)

系列文章目录 MNN createFromBuffer&#xff08;一&#xff09; MNN createRuntime&#xff08;二&#xff09; MNN createSession 之 Schedule&#xff08;三&#xff09; MNN createSession 之创建流水线后端&#xff08;四&#xff09; MNN Session::resize 之流水线编码&am…

【LeetCode: 173. 二叉搜索树迭代器 + dfs + 二叉搜索树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

电脑数据安全新利器:自动备份文件的重要性与实用方案

一、数据安全的守护神&#xff1a;自动备份文件的重要性 在数字化时代&#xff0c;电脑中的文件承载着我们的工作成果、个人回忆以及众多重要信息。然而&#xff0c;数据丢失的风险无处不在&#xff0c;无论是硬件故障、软件崩溃&#xff0c;还是恶意软件的攻击&#xff0c;都…

Python计算机二级选择易错题(一)

题目来源&#xff1a;python计算机二级真题&#xff08;选择题&#xff09; - 知乎 选择题第08&#xff0c;09套

力扣刷题Days22-49.字母异位词(js)

目录 1&#xff0c;题目 2&#xff0c;代码 2.1利用数组排序作为键名 2.2计数实现 3&#xff0c;学习与总结 1&#xff0c;题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到…

虚拟化技术

前言 大家好我是jiantaoyab&#xff0c;这是我所总结作为学习的笔记第十八篇&#xff0c;在这里分享给大家&#xff0c;这篇文章讲虚拟技术就是大家平时用到的云服务器是什么。 虚拟机技术变迁 虚拟机&#xff08;Virtual Machine&#xff09;技术&#xff0c;其实就是指在现…

关于Oracle Primavera P6 v23.12新增的特殊功能

​​​​​​​ 本文将介绍Oracle Primavera P6 最新发行版v23.12 中有新增哪些特色功能 1.角色限制计算的细化 如果选择显示根据主要资源限制计算的角色限制&#xff0c;你可以选择在“用户首选项”的“资源分析”选项卡上仅使用 P6 Professional 中的活动资源来计算限制。…

Spring-Gateway服务网关

一、网关介绍 1. 为什么需要网关 Gateway网关是我们服务的守门神&#xff0c;所有微服务的统一入口。 网关的核心功能特性&#xff1a; 请求路由 权限控制 限流 架构图&#xff1a; 权限控制&#xff1a;网关作为微服务入口&#xff0c;需要校验用户是是否有请求资格&am…

高端嵌入式底层技术揭秘:《ARM汇编与逆向工程》

ARM架构简介 与传统的CISC&#xff08;Complex Instruction Set Computer&#xff0c;复杂指令集计算机&#xff09;架构相比&#xff0c;Arm架构的指令集更加简洁明了&#xff0c;指令执行效率更高&#xff0c;能够在更低的功耗下完成同样的计算任务&#xff0c;因此在低功耗…

el-dialog弹框遮罩层问题

先看一下出现的bug&#xff0c;点击按钮出现弹框的时候&#xff0c;遮罩层出现在弹框上层&#xff0c;不知道是那个同事写的全局样式影响的&#xff0c;这个时候我们需要在el-dialog标签上添加一个属性就行 :modal-append-to-body“false” 下图是出现的问题&#xff0c;遮罩层…

[论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction

一种利用句法依赖和词性相关性信息来过滤噪声&#xff08;无关跨度&#xff09;的基于span方法。 会议EMNLP 2023作者Pan Li, Ping Li, Kai Zhang团队Southwest Petroleum University论文地址https://aclanthology.org/2023.emnlp-main.17/代码地址https://github.com/bert-ply…

MySQL数据自动同步到Es

Logstash 测试数据准备 DROP DATABASE IF EXISTS es;CREATE DATABASE es DEFAULT CHARACTER SET utf8;USE es;CREATE TABLE book (id INT NOT NULL,title VARCHAR(20),author VARCHAR(20),price DECIMAL(6,2),PRIMARY KEY(id) );DROP PROCEDURE IF EXISTS batchInsertBook;DELI…

【Java基础知识总结 | 第四篇】Java基础重要知识(面试题)

文章目录 4.Java基础重要知识&#xff08;面试题&#xff09;4.1基本数据类型4.1.1 八种基本数据类型4.1.2 基本类型和包装类型的区别4.1.3包装类型的缓存机制4.1.4自动装箱和拆箱&#xff1f;原理&#xff1f;&#xff08;1&#xff09;定义&#xff08;2&#xff09;原理 4.2…

springboot项目讲解

技术栈 vue(前端) springboot(后端主框架) mybatis&#xff08;ORM&#xff0c;用于后端和数据库的映射&#xff0c;即java对象转换成表&#xff09; mysql (关系型数据库) 顶层结构 .idea&#xff1a; idea缓存文件(不需要管) src&#xff1a;代码核心文件夹 —main&#xf…

【PINet车道线检测】代码复现过程

《Key Points Estimation and Point Instance Segmentation Approach for Lane Detection》 论文&#xff1a;https://arxiv.org/abs/2002.06604 代码&#xff1a;GitHub - koyeongmin/PINet 论文解读&#xff1a;http://t.csdnimg.cn/AOV91 这是篇关于自动驾驶中车道检测技…

代码随想录算法训练营第50天 | 123.买卖股票的最佳时机III ,188.买卖股票的最佳时机IV

动态规划章节理论基础&#xff1a; https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 123.买卖股票的最佳时机III 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/ 思…

如何本地部署1Panel面板

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

PTA一笔画

作者 张志梅 单位 青岛大学 小丁最近迷恋上一个游戏&#xff0c;传说中的“一笔画”游戏。 那么什么是一笔画&#xff1f;如下图&#xff0c;顾名思义就是一笔可以完成的图。一笔画最基本的要求是在画图的过程中&#xff0c;笔不能离开纸&#xff0c;且笔所画过的线不能重复…

Springboot和Spring Cloud版本对应

Spring在不断地升级&#xff0c;各个版本存在一些不兼容的地方&#xff0c;为了避免出现问题&#xff0c;最好注意使用正确的版本。 官网的对应关系&#xff1a;https://start.spring.io/actuator/info 如下图&#xff1a; 下面附一下创建项目的工具&#xff1a; Spring官方…