当前位置:网站首页>你女朋友也能读懂的LAMP架构
你女朋友也能读懂的LAMP架构
2022-06-23 15:53:00 【用户7353950】
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
临时关闭防火墙
[[email protected] ~]# systemctl stop firewalld.service
下次开机不自动启动
[[email protected] ~]# systemctl disable firewalld.service
[[email protected] ~]# systemctl list-unit-files |grep firewalld
firewalld.service disabled
关闭selinux
[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce
Permissive
[[email protected] ~]# vim /etc/selinux/config
...
SELINUX=disabled
....
㈡ 配置本地软件仓库
手动挂载光盘到本地/mnt下
[[email protected]8 ~]# mount -o ro /dev/sr0 /mnt
开机自动启动
[[email protected] ~]# echo "mount -o ro /dev/sr0 /mnt" >> /etc/rc.local
[[email protected] ~]# chmod +x /etc/rc.d/rc.local
修改配置文件指定软件仓库
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] 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版本
[[email protected] ~]# 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数据库
[[email protected] ~]# yum install mariadb-server mariadb
3、启动相应服务
㈠ 启动后台数据库
[[email protected] ~]# systemctl start mariadb.service
[[email protected] ~]# systemctl enable mariadb.service
[[email protected] ~]# netstat -nltp|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 45368/mysqld
[[email protected] ~]# mysqladmin -u root password '123'
㈡ 启动前端web服务
[[email protected] ~]# systemctl start httpd.service
[[email protected] ~]# systemctl enable httpd.service
[[email protected] conf]# netstat -nltp|grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 45593/httpd
4、测试是否可以解析php页面
[[email protected] ~]# vim /var/www/html/index.php
[[email protected] ~]# cat /var/www/html/index.php
<?php
phpinfo();
?>
三、网站商城项目上线
1、上传网站源代码到web服务器
[[email protected] ~]# mkdir /lamp
[[email protected] ~]# ls /lamp/
phpshe1.7.zip
2、解压并将其拷贝到指定位置
•解压并拷贝网站源码文件到指定位置
[[email protected] ~]# cd /lamp/
[[email protected] lamp]# unzip phpshe1.7.zip
[[email protected] lamp]# mv phpshe1.7/* /var/www/html/
•更改网站源码文件权限
[[email protected] 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
边栏推荐
- R language uses colorblinr package to simulate color blind vision, and uses edit to visualize the image of ggplot2_ The colors function is used to edit and convert color blindness into visual results
- 泰山OFFICE技术讲座:使用字体斜体的四种情形
- [solution] NPM warn config global ` --global`, `--local` are deprecated Use `--location=global`
- 2022九峰小学(光谷第二十一小学)生源摸底
- Solution: in the verification phase, the first batch does not report errors, and the second batch reports CUDA exceeded errors
- Apache基金会正式宣布Apache InLong成为顶级项目
- 万字攻略,详解腾讯面试(T1-T9)核心技术点,面试题整理
- Golang write file code example
- Quartz
- Golang data type diagram
猜你喜欢

How did Tencent's technology bulls complete the overall cloud launch?

《ThreadLocal》

亚朵更新招股书:继续推进纳斯达克上市,已提前“套现”2060万元

数字经济加速落地,能为中小企业带来什么?

IFLYTEK neuroimaging disease prediction program!

openGauss数据库源码解析系列文章—— 密态等值查询技术详解(下)

解读2022年度敏捷教练行业现状报告
![leetcode:30. Concatenate substrings of all words [counter matching + pruning]](/img/a2/91ccaec4cc3dab27c566184b74e561.png)
leetcode:30. Concatenate substrings of all words [counter matching + pruning]

How to configure PostgreSQL data source on SSRs page
Drag the child file to the upper level
随机推荐
【TcaplusDB知识库】Tmonitor后台一键安装介绍(二)
【TcaplusDB知识库】Tmonitor单机安装指引介绍(二)
Golang对JSON文件的读写操作
Leetcode: interview question 08.13 Stacking bin [top-down DFS + memory or bottom-up sorting + DP]
【TcaplusDB知识库】Tmonitor单机安装指引介绍(一)
[tcapulusdb knowledge base] Introduction to tmonitor stand-alone installation guidelines (I)
Quartz
15 differences between MES in process and discrete manufacturing enterprises (Part I)
线上交流丨可信机器学习之机器学习与知识推理相结合(青源Talk第20期 李博)
js中 if 直接判断 数据类型 结果举例
股票开户如何便宜一些?现在网上开户安全么?
出现Identify and stop the process that‘s listening on port 8080 or configure this application等解决方法
ADB key name, key code number and key description comparison table
Reading and writing JSON files by golang
数字经济加速落地,能为中小企业带来什么?
How to quickly respond to changing production management needs?
提高效率 Or 增加成本,开发人员应如何理解结对编程?
openGauss数据库源码解析系列文章—— 密态等值查询技术详解(下)
npm install 问题解决(nvm安装与使用)
读书郎通过上市聆讯:平板业务毛利率走低,2021年利润同比下滑11%