LAMP服务架构

article/2025/9/22 12:52:57

LAMP服务架构

文章目录

  • LAMP服务架构
    • 1. LAMP简介
    • 2. LAMP工作原理
    • 3. 部署LAMP
      • 3.1 源码安装http服务
      • 3.2 源码安装mysql数据库
      • 3.3 源码安装php
      • 3.2 apache和php配置

1. LAMP简介

LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写

  • L代表服务器操作系统使用Linux
  • A代表网站服务使用的是Apache软件基金会中的httpd软件
  • M代表网站后台使用的数据库是MySQL数据库
  • P代表网站是使用PHP/Perl/Python等语言开发

2. LAMP工作原理

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

当客户端请求的是动态资源时,apache(httpd程序)会调用libphpX.so模块进行相应的解析
如果解析处理需要用到后台数据库相关数据,此时php程序也会连接后台数据库
最终php程序将解析后的结果返回给apache(httpd程序),让apache返回给客户端

静态网页

  • 静态网页指使用HTML(超文本标记语言)编写,一般后缀为.htm,.html等;网页文件中没有程序代码。
  • 静态页面,用户双击打开,看到的效果与web服务器是相同的,因为网页的内容在用户访问之前就已经确定。

动态网页

  • 动态网页指网站使用特定的编程语言编写,网页文件中除了HTML标记以外,还包括一些实现特定功能的程序代码。
  • 服务端可以根据客户端的不同请求动态产生网页内容。
  • 动态网页后缀一般为.php .asp .aspx .cgi .perl .jsp等
  • 常见的留言板,论坛,注册,发帖都是用动态网页实现的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jwhRyRgU-1650566907868)(E:\App\Typora\Typora\picture{6DI1(J2DRUK1__RS)]1FJB3.jpg)


3. 部署LAMP

3.1 源码安装http服务

# 下载解压包后解压
[root@localhost ~]# ls
anaconda-ks.cfg  apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.53.tar.gz
[root@localhost ~]# tar -xf apr-1.7.0.tar.gz
[root@localhost ~]# tar -xf apr-util-1.6.1.tar.gz
[root@localhost ~]# tar -xf httpd-2.4.53.tar.gz
# 安装环境
[root@localhost ~]# dnf -y group mark install "Development Tools"
[root@localhost ~]# dnf -y install gcc gcc-c++ openssl-devel pcre-devel expat-devel
# 创建用户
[root@localhost ~]# useradd -r -M -s /sbin/nologin apache
# 编译安装
[root@localhost ~]# cd apr-1.7.0
[root@localhost apr-1.7.0]# vim configure$RM "$cfgfile"				//删除此行
[root@localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.7.0]# make && make install
[root@localhost apr-1.7.0]# cd /root/apr-util-1.6.1
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.6.1]# make && make install
[root@localhost apr-util-1.6.1]# cd /root/httpd-2.4.53
[root@localhost httpd-2.4.53]# ./configure --prefix=/usr/local/apache \
> --enable-so \
> --enable-ssl \
> --enable-cgi \
> --enable-rewrite \
> --with-zlib \
> --with-pcre \
> --with-apr=/usr/local/apr \
> --with-apr-util=/usr/local/apr-util/ \
> --enable-modules=most \
> --enable-mpms-shared=all \
> --with-mpm=prefork
[root@localhost httpd-2.4.53]# make && make install
# 安装后配置
[root@localhost httpd-2.4.53]# cd /usr/local/apache/
[root@localhost apache]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/apache.sh
[root@localhost apache]# source /etc/profile.d/apache.sh 
[root@localhost apache]# cd /usr/lib/systemd/system
[root@localhost system]# cp sshd.service httpd.service
[root@localhost system]# vim httpd.service
[Unit]
Description=httpd server daemon
After=network.target sshd-keygen.target[Service]
Type=forking
ExecStart=/usr/local/apache/bin/apachectl start
ExecStop=/usr/local/apache/bin/apachectl stop
ExecReload=/bin/kill -HUP $MAINPID[Install]
WantedBy=multi-user.target
[root@localhost system]# systemctl enable --now httpd
[root@localhost ~]# 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                       [::]:*                      

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZxSTb3GE-1650566907870)(E:\App\Typora\Typora\picture\image-20220421154739820.png)]

3.2 源码安装mysql数据库

# 安装5.7yum源和所需的依赖包
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
[root@localhost ~]# rpm -ivh mysql80-community-release-el7-5.noarch.rpm
[root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo 
[root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-server-5.7.35-1.el7.x86_64.rpm \
> http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-client-5.7.35-1.el7.x86_64.rpm \
> http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-common-5.7.35-1.el7.x86_64.rpm \
> http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-devel-5.7.35-1.el7.x86_64.rpm \
> http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-5.7.35-1.el7.x86_64.rpm
# 启动服务
[root@localhost ~]# systemctl enable --now mysqld
[root@localhost ~]# 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           80                            *:3306                        *:*                      
LISTEN      0           128                           *:80                          *:*                      
LISTEN      0           128                        [::]:22                       [::]:*                    # 查看密码并进入
[root@localhost ~]# grep 'password' /var/log/mysqld.log 
2022-04-21T16:26:14.702813Z 1 [Note] A temporary password is generated for root@localhost: _3(biehY-h!J
[root@localhost ~]# mysql -uroot -p'_3(biehY-h!J'

3.3 源码安装php

所需软件包网址:https://pkgs.org/

# 下载oniguruma-devel工具包
[root@localhost ~]# dnf -y install http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm

php官网:php.net

链接:https://www.php.net/distributions/php-7.4.29.tar.xz

# 配置安装环境进行编译安装
[root@localhost ~]# dnf -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel  pcre-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel mhash mhash-devel php-mysqlnd sqlite-devel libzip-devel
[root@localhost ~]# wget https://www.php.net/distributions/php-7.4.29.tar.xz
[root@localhost ~]# tar xf php-7.4.29.tar.xz
[root@localhost ~]# cd php-7.4.29
[root@localhost php-7.4.29]# ./configure --prefix=/usr/local/php7  \
--with-config-file-path=/etc \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-openssl \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-exif  \
--enable-ftp \
--enable-gd \
--with-jpeg \
--with-zlib-dir \
--with-freetype \
--with-gettext \
--enable-json \
--enable-mbstring \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-readline \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--with-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-pcntl \
--enable-posix
[root@localhost php-7.4.29]# make && make install

3.2 apache和php配置

# 配置php
[root@localhost php-7.4.29]# echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php7.sh
[root@localhost php-7.4.29]# source /etc/profile.d/php7.sh 
[root@localhost php-7.4.29]# \cp php.ini-production /etc/php.ini
[root@localhost php-7.4.29]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-7.4.29]# chmod +x /etc/rc.d/init.d/php-fpm
[root@localhost php-7.4.29]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@localhost php-7.4.29]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc//php-fpm.d/www.conf
[root@localhost php-7.4.29]# service php-fpm start
Starting php-fpm  done
[root@localhost php-7.4.29]# ss -antl
State       Recv-Q      Send-Q            Local Address:Port             Peer Address:Port      Process      
LISTEN      0           128                   127.0.0.1:9000                  0.0.0.0:*                      
LISTEN      0           128                     0.0.0.0:22                    0.0.0.0:*                      
LISTEN      0           80                            *:3306                        *:*                      
LISTEN      0           128                           *:80                          *:*                      
LISTEN      0           128                        [::]:22                       [::]:*                      
# 配置apache
[root@localhost ~]# mkdir /usr/local/apache/htdocs/test.com
[root@localhost test.com]# cat > /usr/local/apache/htdocs/test.com/index.php <<EOF
<?phpphpinfo();
?>
EOF[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
<VirtualHost *:80>DocumentRoot "/usr/local/apache/htdocs/test.com"ServerName test.example.comProxyRequests OffProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/test.com/$1<Directory "/usr/local/apache/htdocs/test.com">Options noneAllowOverride noneRequire all granted</Directory>
</VirtualHost>[root@localhost ~]# vim /usr/local/apache/conf/httpd.confAddType application/x-compress .ZAddType application/x-gzip .gz .tgzAddType application/x-httpd-php .php        	//添加此行AddType application/x-httpd-php-source .phps	//添加此行[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf  
<IfModule dir_module>DirectoryIndex index.php index.html
</IfModule>
[root@localhost ~]# systemctl restart httpd

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-108R34XY-1650566907872)(E:\App\Typora\Typora\picture\image-20220422022218246.png)]


http://chatgpt.dhexx.cn/article/odS159Y0.shtml

相关文章

LAMP架构部署论坛

搭建论坛&#xff0c;要求为8080端口 安装LAMP 架构所需的服务&#xff0c;部分及插件 yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd 启动服务&#xff1a;systemctl start httpd mariadb 设置数据库密码&#xff1a…

快速搭建LAMP架构

快速搭建LAMP架构 1.安装apache2.部署mysql3.部署php结合apache4.验证5.部署一个论坛disuz 1.安装apache [rootlocalhost ~]# yum install httpd -y 已加载插件&#xff1a;fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* …

LAMP架构简介与配置

文章目录 前言LAMP 简介与概述LAMP平台概述 构建LAMP平台顺序编译安装的优点各组件的主要作用 编译安装 Apache编译安装mysql安装PHP 前言 LAMP 简介与概述 LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整台系统和相关软件&#x…

搭建LAMP架构

搭建LAMP架构 一、LAMP架构概述 1、LAMP简介 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整台系统和相关软件&#xff0c;能够提供动态web站点服务及其应用开发环境。 LAMP是一个缩写词&#xff0c;具体包括Linux操作系统&#xff0c;Apache网…

LAMP架构简介与概述 及服务安装

目录 1、LAMP平台概述 &#xff08;1&#xff09;LAMP平台概述 &#xff08;2&#xff09;构建LAMP平台顺序 &#xff08;3&#xff09;编译安装的优点 &#xff08;4&#xff09;各组件的主要作用 2、Apache概述 &#xff08;1&#xff09; 安装Apache服务&#xff1a;…

什么是LAMP架构?

LAMP架构介绍 LAMP动态网站架构 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。 1、LAMP分别代表什么&#xff1f; L代表服务器操作系统使用Linux A代表网站服务使用的是Apache软件基金会中的httpd软件 M代表网站后台使用的数据库是MySQL数…

【ubuntu】搭建lamp架构

文章目录 一、准备工作1、更新源2、更新软件3、防火墙UFW 二、安装apache21、安装apache包2、网页浏览查看 三、安装mysql1、安装mysql2、查看mysql3、设置mysql数据库的密码 四、安装PHP1、安装php包以及插件2、测试php包 五、安装wordpress1、获取wordpress的压缩包2、上传压…

腾讯云— LAMP 架构个人实践分享

LAMP 环境通常指Linux 环境下&#xff0c;由ApacheMySQL/MariaDBPHP 以及其它相关组件组成的网站服务器架构。目前以LAMP组成的Web 应用程序平台广泛被应用&#xff0c;70%以上的访问流量由LAMP提供&#xff0c;所以我们也认同LAMP是最强大的网站解决方案。 关于LAMP的环境部署…

一:LAMP 架构简介

一&#xff1a;LAMP 架构简介 LAMP 是目前成熟的一种企业网站应用模式之一&#xff0c;指的是协同工作的一套系统和相关软件的整合&#xff0c;可提供PHP动态web站点应用及开发环境&#xff0c;LAMP 经过十年的完善各个组件间的兼容性&#xff0c;协作能力&#xff0c;稳定等方…

php lamp架构,lamp架构搭建

lamp架构搭建(yum) 环境&#xff1a;一台主机&#xff0c;centos7.5 lamp安装 yum -y install httpd php-fpm php-mysql mariadb-server 启动php-fpm服务 systemctl start php-fpm 配置httpd生成配置文件&#xff0c;提示http&#xff0c;php-fpm服务在本地 vim /etc/httpd/con…

LAMP架构介绍及配置

1.LAMP简介与概述 1.1 LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整台系统和相关软件&#xff0c;能够提供动态web站点服务及其应用开发环境 LAMP是一个缩写词&#xff0c;具体包括Linux操作系统&#xff0c;Apache网站服务器&a…

lamp

文章目录 1. LAMP架构介绍2. web服务器工作流程2.1 cgi与fastcgi2.2 httpd与php结合的方式2.3 web工作流程 3. lamp平台构建3.1 安装httpd3.2 安装mysql3.3 安装php3.4 配置apache3.4.1 启用代理模块3.4.2 配置虚拟主机 3.5 验证 1. LAMP架构介绍 lamp&#xff0c;其实就是由L…

LAMP架构简介

一、LAMP架构介绍 现如今打开浏览器&#xff0c;搜索LAMP关键词&#xff0c;出现大量的关于LAMP的介绍&#xff0c;包括LAMP的一键脚本、LAMP的yum安装、LAMP的编译安装&#xff0c;但是对于一个非开发或非专业人员有可能根据网络参考资源实现LAMP的搭建并成功运行各种服务&am…

LAMP架构简述

阅读目录 图片架构详解               LAMP架构以及通信过程 LNMP架构优缺点Nginx/APACHE tomcat MySQL 图片架构详解               LAMP/LNMP&#xff1a;是有Linux系统&#xff0c;Apache网络服务器或者Nginx服务器&#xff0c;MySQL数据库…

LAMP架构

目录 一、LAMP简介与概述1.LAMP平台概述2.构建LAMP平台顺序3.编译安装的优点4.各组件的主要作用 二.安装1.-安装Apache2.安装MYSQL3.安装PHP4.安装论坛5.论坛测试 一、LAMP简介与概述 1.LAMP平台概述 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一…

LAMP架构一(介绍)

一、LAMP架构介绍 现如今打开浏览器&#xff0c;搜索LAMP关键词&#xff0c;出现大量的关于LAMP的介绍&#xff0c;包括LAMP的一键脚本、LAMP的yum安装、LAMP的编译安装&#xff0c;但是对于一个非开发或非专业人员有可能根据网络参考资源实现LAMP的搭建并成功运行各种服务&…

Smokeping的主从模式部署

Smokeping 支持 Standalone&#xff08;单机&#xff09;模式和 Master/Slave&#xff08;主从&#xff09;模式。 之前老苏折腾过单机模式&#xff0c;这次应网友 Roxmie 的要求&#xff0c;研究了一下主从模式的部署 文章传送门&#xff1a; 网络性能监控工具Smokeping 因为…

Centos7上smokeping安装

Centos7上Smokeping安装 一、安装软件 1、添加镜像源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2、安装Apache yum -y install httpd httpd-devel gcc make curl wget3、安装rrdtool a.安装依赖的库 yum -y install libx…

centos7下源码安装Smokeping,主从部署

一、环境部署(准备两台Centos虚拟机) 1.关闭防火墙和SElinux #systemctl stop firewalld.service #systemctl disable firewalld.service #sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config #grep SELINUXdisabled /etc/selinux/config #setenforce 02.安装E…

网络性能监测工具smokeping

smokeping简介&#xff1a; smokeping是rrdtool的作者Tobi Oetiker的作品&#xff0c;所以它在图形显示方面有很大优势&#xff0c;也是一个很有特点的opensource工具&#xff1a;多种探测方式&#xff0c;包括fping、echoping、dig、curl等&#xff1b;可以在多个节点收集同一…