10

2025Mar

Do not wait to strike till the iron is hot, but make it hot by striking.

不要等到铁烫热再去打它,而是通过打它让铁变热。

  • 嘿,朋友,在当下这段时间,我们生命当中有了彼此,感谢遇见!
  • 不知道为什么,我觉得你和别人很不一样
  • 希望你接下来的日子里,没有狗血情节,也没有崎岖波折,平平淡淡,顺顺当当,健健康康,喜乐安好!
  • 不要因为别人的一句话,而夺走你今天的快乐
  • 你的评论和鼓励像一碗粥,可能不够粘稠,却足以温暖我的心
  • 亲爱的朋友,我宁愿看到你伤心愤怒的样子,也不愿意看见你假装高兴
  • 说了这么多,就想告诉你,我很在乎你,不是因为我执着,而是因为你值得
  • 你可能想问我过的怎么样?我过得还可以,不好不坏,不惊不喜,一切只是还可以
  • 一年四季会有很多意外,但最迷人的还是遇见了你
  • 花开可要欣赏,然后就去远行。唯有不等花谢,才能记得花红
  • 我的酒量,大概就是三瓶啤酒或者和半杯白酒,亦或者你的微微一笑
  • 晚安这个词,好像变成了一种礼貌,睡不睡谁知道呢,反正话题是终止了……
  • 话说多了比较难堪,不如沉默来得可爱, 就这样吧,谢谢你呀 !

Linux中LAMP 配置与应用

一、LAMP架构介绍

1.1什么是LAMP

LAMP是Linux,Apache,MySQL和PHP的首字母缩写,一个开源Web开发平台,使用Linux作为操作系统,Apache作为Web服务器,MySQL作为RDBMS(关系数据库管理系统),PHP作为面向对象的脚本语言(有时使用使用Perl或Python替代PHP)。

因为平台具有四个层次,LAMP有时被称为LAMP堆栈。堆栈可以构建在不同的操作系统上。

LAMP的四个组成

了解LAMP堆栈的四个软件层有助于故障排除过程,它允许我们看到每个层如何相互依赖。下面我们来具体了解一下LAMP的四个组成部分:

Linux:操作系统(OS)构成了我们的第一层。Linux为堆栈模型奠定了基础。所有其他图层都在此图层的顶部运行。

Apache:第二层由Web服务器软件组成,通常是Apache Web Server。该层位于Linux层之上。Web服务器负责从Web浏览器转换到正确的网站。

MySQL:我们的第三层是MySQL数据库所在的位置。MySQL存储可以通过脚本查询来构建网站的详细信息。MySQL通常与Apache /第2层一起位于Linux层之上。在高端配置中,MySQL可以卸载到单独的主机服务器。

PHP(Perl或Python):在它们之上的就是我们的第四层也是最后一层。脚本层由PHP和/或其他类似的Web编程语言组成。网站和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

2.1、CGI

CGI:Common Gateway Interface 公共网关接口

CGI 在2000年或更早的时候用得比较多,以前web服务器一般只处理静态的请求,如果碰到一个动态请求怎么办呢?web服务器会根据这次请求的内容,然后会 fork 一个新进程来运行外部的 C 程序或者bash,perl脚本等,这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出。 如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程,周而复始的进行。

CGI 可以让一个客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据;CGI描述了客户端和服务器程序之间传输的一种标准

请求流程:

Client -- (http协议) --> httpd -- (cgi协议) --> application server (program file) -- (mysql协议) --> mysql

范例:httpd 利用CGI运行shell脚本

2.2、fastcgi

fastcgi的方式是,web服务器收到一个请求时,不会重新fork一个进程(因为这个进程在web服务器启动时就开启了,而且不会退出),web服务器直接把内容传递给这个进程(进程间通信,但fastcgi使用了别的方式,tcp方式通信),这个进程收到请求后进行处理,把结果返回给web服务器,最后自己接着等待下一个请求的到来,而不是退出

请求流程:

Client -- (http协议) --> httpd -- (fastcgi协议) --> fastcgi服务器 -- (mysql协议) --> mysql

2.3、CGI和fastcgi比较

CGI: 兼职, 一次性的过河拆桥式的服务

FASTCGI: 专职,全周期的持续式的服务

 三、PHP

3.1PHP简介

PHP(Hypertext Preprocessor,超文本预处理器)是一种通用开源脚本语言,其语法吸收了C语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域。

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法,它可以比 CGI 或者 Perl 更快速地执行动态网页。

与其他的编程语言相比,PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多。

PHP 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

3.2 PHP 配置

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

配置文件在php解释器启动时被读取

对配置文件的修改生效方法

  • Modules:重启httpd服务

  • FastCGI:重启php-fpm服务

/etc/php.ini配置文件格式:

[foo]:Section Header
directive = value

注释符:

  • 以#开头,纯粹的注释信息

  • 以 ; 开头,用于注释可启用的directive

提示:较新的版本中,已经完全使用 “ ; ” 进行注释

php.ini 配置参考文档:

php.ini的核心配置选项文档: http://php.net/manual/zh/ini.core.php

php.ini配置选项列表:http://php.net/manual/zh/ini.list.php

php常见设置:

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();?>

posted @   行走的泡泡  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示