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…

阿博泰克杯第五届青少年国际IT精英挑战赛Java组一等奖项目——TimpleShop电商系统_需求分析说明书

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载 TimpleShop商城系统 需求分析说明书 编号&#xff1a;APTECH-2018-LIB-SLMM 版本&#xff1a;1.0 作者&#xff1a; 田超凡 日期&#x…

【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;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到…

【WSL】Windows11 迁移 Linux 子系统到非系统盘 (如D 盘),减少系统盘占用

1、安装 安装见官方文档进行安装&#xff0c;参考 https://learn.microsoft.com/zh-cn/windows/wsl/install wsl --install Ubuntu-20.04安装时&#xff0c;若出现 0x80370… 错误&#xff0c;下载下面依赖&#xff0c;再进行上述安装 https://wslstorestorage.blob.core.w…

虚拟化技术

前言 大家好我是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…

MSF融合流程

1. 添加重力约束 重力约束是在在车体系的方向是&#xff08;0&#xff0c;0&#xff0c;1&#xff09;&#xff0c;添加时1&#xff09;如果已知车辆在水平方向运动&#xff0c;添加平面约束&#xff1b;2&#xff09;如果已知车辆静止&#xff08;判断IMU加速度计和陀螺仪的n…

【基础】连续数的和 c++

描述 给出两个整数n和k&#xff0c;&#xff08;2≤n≤70000,1≤k≤n&#xff09;&#xff0c;求出1,2,3,…,n中连续k个数的和&#xff0c;并计算出和为平方数的个数。 例如n10,k3。在1,2,…,10中&#xff0c;连续3个数的和有 1236 2349 34512 45615 56718 67821 78924 891027…

reflectasm java 高性能反射工具

reflectasm java 高性能反射工具 大佬文章 官网示例 maven 引入 <dependency><groupId>com.esotericsoftware</groupId><artifactId>reflectasm</artifactId><version>1.11.9</version> </dependency>实体类 public class U…

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…