【web(二):LAMP搭建论坛】

LAMP

LAMP 是一个常用的 Web 开发和部署平台,它可以用来搭建动态网站和应用。
它是由一组开源软件构成的,用于搭建动态网站和应用。

LAMP 是一个首字母缩略词,代表了以下四个组成部分:

  1. Linux: 操作系统,通常是基于 Linux 内核的操作系统,如 CentOS、Ubuntu 等。

  2. Apache(作为前端): 是一款功能强大,稳定性好的web服务器程序,用于接收和处理 HTTP 请求,将网页内容发送给客户端浏览器。

  3. MySQL(或MariaDB)(LAMP架构的后端): 关系型数据库管理系统,用于存储和管理应用的数据。

  4. PHP(或Perl、Python)(中间连接): 服务器端脚本语言,用于编写动态网页和应用逻辑。

LAMP的特点

  1. 开源: LAMP 使用的软件均为开源软件,免费使用,可以根据需求自由定制和修改。

  2. 跨平台: LAMP 平台可以在多种操作系统上运行,但常见的是在 Linux 环境下。

  3. 灵活性: 开发人员可以根据需求选择适合的编程语言(PHP、Perl、Python)和数据库(MySQL、MariaDB)。

  4. 动态网站: 使用 LAMP 平台可以构建动态网站,根据用户请求生成动态内容。

  5. 强大的社区支持: LAMP 相关技术有庞大的社区支持,提供丰富的文档、教程和插件。

LAMP的架构

在这里插入图片描述

工作过程:

1、当客户端请求的是静态资源时,web服务器会直接把静态资源返回客户端;

2、当客户端请求的是动态资源时,httpd的php模块会进行相应的动态资源运
算,如果此过程还需要数据库的数据作为运算参数时,php会连接mysq|取得数
据然后进行运算,运算的结果转为静态资源由web服务器返回到客户端;

apache主要实现如下功能

  1. 第一:处理http的请求、构建响应报文等自身服务;

  2. 第二:配置让Apache支持PHP程序的响应(通过PHP模块或FPM);

  3. 第三:配置Apache具体处理php程序的方法,如通过反向代理将php程序交给fcgi处理。

mysql 主要实现如下功能

  1. 第一:提供PHP程序对数据的存储;

  2. 第二:提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)。

php主要实现如下功能

  1. 第一:提供apache的访问接口,即CGI或Fast CGI(FPM);

  2. 第二:提供PHP程序的解释器;

  3. 第三:提供mysql数据库的连接函数的基本环境。

(CGI和astcgi)

CGI(通用网关接口)和 FastCGI(快速通用网关接口)都是用于连接 Web 服务器和应用程序的接口技术,用于实现动态内容的生成和交付。

  1. CGI(通用网关接口): CGI 是一种用于在 Web 服务器和外部程序(通常是脚本语言如 Perl、Python 或 PHP)之间进行通信的标准协议。当用户请求一个需要动态生成的网页时,Web 服务器会将请求传递给指定的 CGI 脚本,脚本处理请求并生成响应内容。每个 CGI 请求都会创建一个新的进程,这可能导致性能问题。

  2. FastCGI(快速通用网关接口): FastCGI 是对 CGI 的改进,它使用持久的进程来处理多个请求,从而减少了进程的创建和销毁开销。在 FastCGI 中,应用程序作为一个守护进程运行,通过与 Web 服务器之间的通信管道处理多个请求。这使得 FastCGI 更加高效,能够处理大量的并发请求,适用于高负载的 Web 环境。

  3. FastCGI 相对于传统的 CGI 具有以下优点:

性能提升: FastCGI 的持久进程模型减少了进程创建和销毁的开销,提高了性能和响应速度。
资源利用: FastCGI 进程可以在多个请求之间共享资源,减少了内存占用,提高了资源利用率。
并发处理: FastCGI 可以同时处理多个并发请求,适用于高并发的 Web 环境。
灵活性: FastCGI 提供了更多的配置选项和参数,允许开发人员对进程管理和资源分配进行更精细的控制。

PHP

PHP(Hypertext Preprocessor)是一种服务器端脚本语言,用于开发动态的 Web 应用程序。PHP 可以嵌入到 HTML 页面中,通过服务器执行来生成动态的网页内容,与数据库交互,处理用户输入等。

PHP Opcode 语言,Opcode是一种PHP脚本编译后的中间语言,类似于Java的ByteCode,或者.NET的MSL

PHP的语言引擎Zend执行PHP脚本代码一般会经过如下4个步骤:
扫描–>分析–>编译–>执行

配置文件的位置:/etc/php.ini, /etc/php.d/*.ini

expose_php = On   #响应报文显示首部字段x-powered-by: PHP/x.y.z,暴露php版本,建议为off 
max_execution_time= 30 #最长执行时间30s
memory_limit=128M #生产不够,可调大
display_errors=off  #调试使用,不要打开,否则可能暴露重要信息
display_startup_errors=off  #建议关闭
post_max_size=8M   #最大上传数据大小,生产可能调大,比下面项大
upload_max_filesize =2M  #最大上传文件,生产可能要调大
max_file_uploads = 20 #同时上传最多文件数
date.timezone =Asia/Shanghai  #指定时区
short_open_tag=on #开启短标签,如: <? phpinfo();?>

编译安装Apache httpd

编译安装Mysql

编译安装PHP

搭建论坛

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值