前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你女朋友也能读懂的LAMP架构

你女朋友也能读懂的LAMP架构

作者头像
用户7353950
发布2022-06-23 15:31:07
4780
发布2022-06-23 15:31:07
举报
文章被收录于专栏:IT技术订阅IT技术订阅

1、LAMP分别代表什么

•L代表服务器操作系统使用Linux

•A代表网站服务使用的是Apache软件基金会中的httpd的软件

•M代表网站后台使用的数据库时MySQL数据库

•P代表网站是使用PHP/Perl/Python等语言开发

2、Apache/MySQL/PHP各自有什么作用

说在前面:

我们可以将LAMP架构理解为饭店!饭店!饭店!

我们家饭店很特别,我们的前台小姐姐灰常漂亮,我们的服务生和厨师很丑

服务生和厨师丑到不能见人的那种(自行脑补哈),所以你去饭店就只能看见前台小姐姐

㈠ 聊聊Apache(httpd)

•像极了前台

•作用:提供web服务,接受用户的连接请求!

注意:Apache或Nginx都只支持静态页面的解析

当客户端请求的是静态资源时,web服务(httpd程序)会直接返回静态资源给客户端

① 静态网页

•静态网页指使用HTML(超文本标记语言)编写,一般后缀为.htm、.html等;网页文件中没有程序代码

•静态网页,用户双击打开,看到的效果与web服务器是相同的,因为网页的内容在用户访问之前,就已经确定

② 动态网页

•动态网页指网站使用特定的编程语言编写,网页文件中除了HTML标记以外,还包括一些实现特定功能的程序代码

•服务器端可以根据客户端的不同请求动态产生网页内容

•动态网页后缀一般为.php、.asp、.aspx、cgi、.perl、.jsp等

•常见的留言板、论坛、注册、发帖都是用动态网页实现的

③ 小结

1)什么是web服务?

答:提供网页浏览功能的网站服务。

即安装了web服务软件如,httpd/nginx等软件,并启动。客户通过浏览器可以访问网站。

2)什么是Web服务器?

答:简单来理解就是安装web服务软件,并能提供Web服务的机器。

3)Web一般是分为客户端与服务器端,两者是如何交互的呢?

答:通过HTTP协议http://www.itcast.cn

4)Apache(httpd)的作用和特点?

答:Apache用于接受用户连接请求;只负责静态页面的解析.

㈡ 聊聊PHP

•像极了服务生

•作用:PHP主要负责PHP脚本程序的解析以及实现与MySQL数据库的交互工作,我们项目中的注册/登录/下单/支付等大多数功能都是基于PHP+MySQL进行实现。PHP是一种通用开源脚本语言。

1.当客户端请求的是动态资源时,Apache(httpd程序)会调用libphpX.so模块进行相应的解析

2.如果解析处理需要用到后台数据库相关数据,此时php程序也会连接后台数据库

3.最终php程序将解析后的结果返回给Apache(httpd程序),让Apache返回给客户端

㈢ 聊聊MySQL

•像极了大厨

•作用:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle旗下产品。其主要作用用于永久的存储数据。

3、LAMP架构是什么

•像极了饭店

(一)Apache像极了饭店前台,专门用来接受客户请求,并做一些静态页面处理(只买酒水饮料)

(二)PHP像极了服务器,他专门用来解析处理由前台不能处理的”订单”,如用户想吃一碗意大利面,服务生就需要和后厨沟通,并做相应的安排处理.然后将处理后的结果返回给前台,由前台再给用户,因为服务生太丑了,见不得人.

(三)MySQL像极了后厨,专门用来存放食材,并且只能由中间的服务生和后厨沟通,来获取什么食材

•专业解释如下

(一)客户端发送请求连接web服务器的80端口,由Apache相应并处理用户的静态请求

(二)如果客户端请求的是动态资源,由Apache加载调用libphpX.so模块(安装php程序带来)进行解析处理

(三)如果处理需要和后台数据库沟通,那么由php程序去完成

(四)Php程序将处理完后的结果再返回给Apache,由Apache返回给客户端

二、一键部署LAMP环境

环境说明:当前系统版本为RedHat8.0系统

1、基础环境配置

㈠ 关闭防火墙和selinux

临时关闭防火墙

[root@rhel8 ~]# systemctl stop firewalld.service

下次开机不自动启动

[root@rhel8 ~]# systemctl disable firewalld.service

[root@rhel8 ~]# systemctl list-unit-files |grep firewalld

firewalld.service disabled

关闭selinux

[root@rhel8 ~]# setenforce 0

[root@rhel8 ~]# getenforce

Permissive

[root@rhel8 ~]# vim /etc/selinux/config

...

SELINUX=disabled

....

㈡ 配置本地软件仓库

手动挂载光盘到本地/mnt下

[root@rhel8 ~]# mount -o ro /dev/sr0 /mnt

开机自动启动

[root@rhel8 ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local

[root@rhel8 ~]# chmod +x /etc/rc.d/rc.local

修改配置文件指定软件仓库

[root@rhel8 ~]# cd /etc/yum.repos.d/

[root@rhel8 yum.repos.d]# cat local.repo

[BaseOS]

name=BaseOS yum

baseurl=file:///mnt/BaseOS/

enabled=1

gpgcheck=0

[App]

name=Appstream yum

baseurl=file:///mnt/AppStream/

enabled=1

gpgcheck=0

2、一键构建LAMP环境

㈠ 安装Apache(httpd)软件

说明:RedHat8默认自带httpd-2.4.37版本

[root@rhel8 ~]# yum install httpd -y

㈡ 安装PHP相关软件

说明:RedHat8默认php-7.2版本

yum -y install php-xml-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-json-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-mysqlnd-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-common-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-fpm-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-bcmath-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-cli-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-gd-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-pdo-7.2.11-1.module+el8+2561+1aca3413.x86_64

php-devel-7.2.11-1.module+el8+2561+1aca3413.x86_64

㈢ 安装Mariadb数据库软件

说明:从RedHat7以后,系统默认自带Mariadb数据库

[root@rhel8 ~]# yum install mariadb-server mariadb

3、启动相应服务

㈠ 启动后台数据库

[root@rhel8 ~]# systemctl start mariadb.service

[root@rhel8 ~]# systemctl enable mariadb.service

[root@rhel8 ~]# netstat -nltp|grep 3306

tcp6 0 0 :::3306 :::* LISTEN 45368/mysqld

[root@rhel8 ~]# mysqladmin -u root password '123'

㈡ 启动前端web服务

[root@rhel8 ~]# systemctl start httpd.service

[root@rhel8 ~]# systemctl enable httpd.service

[root@rhel8 conf]# netstat -nltp|grep :80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 45593/httpd

4、测试是否可以解析php页面

[root@rhel8 ~]# vim /var/www/html/index.php

[root@rhel8 ~]# cat /var/www/html/index.php

<?php

phpinfo();

?>

三、网站商城项目上线

1、上传网站源代码到web服务器

[root@rhel8 ~]# mkdir /lamp

[root@rhel8 ~]# ls /lamp/

phpshe1.7.zip

2、解压并将其拷贝到指定位置

•解压并拷贝网站源码文件到指定位置

[root@rhel8 ~]# cd /lamp/

[root@rhel8 lamp]# unzip phpshe1.7.zip

[root@rhel8 lamp]# mv phpshe1.7/* /var/www/html/

•更改网站源码文件权限

[root@rhel8 lamp]# chown -R apache.apache /var/www/html/

3、安装商城系统

http://192.168.159.100/install

4、重启web服务(可选)

四、测试验证

1、前台访问

http://192.168.159.100

2、后台访问

http://192.168.159.100/admin.php

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术订阅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档