LAMP: 一般是linux+apache+mariadb(mysql)+3P(p: php, perl, python)
LAMMP: memcached
    静态资源:静态内容;客户端从服务器获得的资源的表现形式与原文件相同;
    动态资源:通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端;

CGI:web服务器与应用程序服务器通信的协议

--------------------------------------------------------------------------------------------

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

后来出现了一种更高级的方式是, web服务器可以内置perl解释器或php解释器。 也就是说这些解释器做成模块的方式,web服务器会在启动的时候就启动这些解释器。 当有新的动态请求进来时,web服务器就是自己解析这些perl或php脚本,省得重新fork一个进程,效率提高了。

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

fastcgi用tcp方式跟远程机子上的进程或本地进程建立连接,需要开启tcp端口,进入循环,等待数据的到来,处理数据

----------------------------------------------------------------------------------------------------

php解释器

Zend Engine的出现将PHP代码的处理过程分成了两个阶段:首先是分析PHP代码并将其转换为称作Zend opcode的二进制格式(类似Java的字节码),并将其存储于内存中;第二阶段是使用Zend Engine去执行这些转换后的Opcode。

执行流程:

1、Scanning(Lexing) —— 将PHP代码转换为语言片段(Tokens)
2、Parsing —— 将Tokens转换成简单而有意义的表达式
3、Compilation —— 将表达式编译成Opocdes
4、Execution —— 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能

基于PHP的特殊扩展机制如opcode缓存扩展也可以将opcode缓存于php的共享内存中,从而可以让同一段代码的后续重复执行时跳过编译阶段以提高性能。由此也可以看出,这些加速器并非真正提高了opcode的运行速度,而仅是通过分析opcode后并将它们重新排列以达到快速执行的目的。

常见加速器:xcache  包名php-xcache

php-common提供了php配置文件(解释器读取配置文件指定了php运行环境),php包提供了httpd的模块调用文件

配置文件:/etc/php.ini, /etc/php.d/*.ini
    配置文件(php.ini)在PHP启动时被读取。对于服务器模块版本的PHP,仅在php启动时读取一次。
    对于CGI和CLI 版本,每次调用都会读取。
    ini文件格式:[Foo]: Secion Header
    directive = value
    ; : 注释符;
    php.ini核心配置选项:http://php.net/manual/zh/ini.core.php
    php.ini配置选项列表:http://php.net/manual/zh/ini.list.php

httpd+php:三种方式
1.调用modules
    httpd prefork: libphp5.so
    httpd event or worker: libphp5-zts.so
2.cgi
3.fastcgi(fpm)

几种加速器:APC, eAccelerator, Xcache

请求流程:Client --> (http协议) --> httpd --> (cgi协议) --> application server (program file) --> (mysql提供的与应用程序交互的协议) --> mariadb

CentOS 7:
    程序包:httpd, php, php-mysql, mariadb-server
    注意:php要求httpd使用prefork MPM
    启动服务:
    systemctl start httpd.service
    systemctl start mariadb.server
CentOS 6:
    程序包:httpd, php, php-mysql, mysql-server
    启动服务:
    service httpd start
    service mysqld start

以Centos7为例,安装了上述三个包后

分别启动三个服务后再/var/www/cgi-bin/下面创建index.php,使用测试代码测试

php和mariadb是否生效

浏览器访问发现生效

在lamp上安装wordpress:

1.下载wordpress源码包

2.将源码包放到/var/www/html目录下

3.解压源码包,进入wordpress目录

4.设置wp-config文件

编辑:修改以下信息

根据上面的信息做数据库授权:

创建数据库:

登陆测试:

在lamp上部署phpmyadmin:

1.下载phpmyadmin源码包

2.将源码包放到/var/www/html目录下

3.解压源码包,创建软链接:

生成一段随机数:

将生成的随机数填到这里,用于基于cookie的加密密码的认证

登录测试:发现缺乏mbstring字符支持

安装mbstring:yum install php-mbstring

设置mysql管理员密码

登录测试:

lamp下搭建discuzz论坛:

1.下载discuzz的zip包,有以下多种:

2.用unzip命令解压压缩包,并且将upload目录下所有文件复制到/var/www/html下,给予写权限

3.如果你下载的是GBK语言环境的包需要修改/etc/php.ini文件支持GBK编码格式

4.测试进入安装向导

5.为discuzz创建数据库,为管理员添加密码(你也可以特意为discuzz创建用户并且授权,像前面搭建wordpress那样)

6.安装成功,管理员admin登陆成功:

转载于:https://blog.51cto.com/leeyan/1696555

lamp介绍,wordpress,phpmyadmin,discuzz安装相关推荐

  1. lamp +discuz+wordpress+phpmyadmin实例安装详解

    应用需求如下: 1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php  2. 同时安装apache和nginx,其中nginx启动80端口,用来 ...

  2. 以安装 WordPress为例介绍在Xampp中安装Bitnami XAMPP modules

    以安装 WordPress为例介绍在Xampp中安装Bitnami XAMPP modules 本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦: 系 ...

  3. LAMP介绍、Apache安装

    目录 一.LAMP架构介绍 1.1 LAMP概述 1.2 LAMP各组件介绍 二.编译安装Apache httpd服务 2.1 操作步骤流程 2.2 操作详细步骤 一.LAMP架构介绍 1.1 LAM ...

  4. Windows下 Apache+PHP5+MYSQL5+phpmyadmin 规范安装

    < Apache+PHP5+MYSQL5+phpmyadmin> Windows下 Apache+PHP5+MYSQL5+phpmyadmin 规范安装 (绝对原创)     装PHP规范 ...

  5. 转载一篇介绍 WordPress 的文章

    Wordpress简明使用指南 从今年9月到现在,我用Wordpress也有大约3个月了.现将自己使用中的一些体会分简介.安装.一般使用.主题.插件.代码修改等几个部分逐一概述如下. 1. 简介 Wo ...

  6. Centos6.5 LAMP环境源码包安装与配置,附安装包百度网盘地址

    Centos6.5 LAMP环境源码包安装与配置 http://pan.baidu.com/s/1nvNruzv 安装包百度网盘地址 LAMP是一种web网络应用和开发环境,是linux,Apache ...

  7. windows下phpmyadmin的安装与配置

    安装的前提条件:php:apache:mysql 一.安装Apache,配置成功一个普通网站服务器 运行下载好的"apache_2.0.55-win32-x86-no_ssl.msi&quo ...

  8. wordPress mac本地安装

    安装教程,原地址 https://codex.wordpress.org/zh-cn:%E5%AE%89%E8%A3%85_WordPress 找了好久都没找到不用mamp的安装方案,本地apache ...

  9. heartbeat(v2)实现LAMP提供wordpress博客站点高可用模型实践

    友情提醒:本文实验环境 vmware 10 + Centos 6.6 X86_64,文中涉及到的命令和方式请谨慎使用 内容概括: 1)实验思路 2)实验环境和拓扑 3)实验步骤 4)实验后的思考 一 ...

最新文章

  1. [Bat]UNC路径不支持的2种解决方法
  2. 『中级篇』阿里云安装Docker企业版UCP和DTR(59)
  3. NOI2007 货币兑换 - CDQ分治斜率优化dp
  4. Java常见问题汇总
  5. WPF基础知识学习笔记(一)XAML基础
  6. android 设置功能,NDK 使用入门  |  Android NDK  |  Android Developers
  7. [PHP] - visitFile()遍历指定文件夹
  8. 当identity_insert 设置为off时不能为表_最近新get日志测试方法,再也不用为故障响应慢发愁!...
  9. 数学画图软件_数学建模竞赛要点分析 amp; 实用工具网站收集
  10. Linux下解决cannot connect to X server :0.0 问题
  11. Matlab中将横纵坐标改为自定义标签(set(gca,xtick)set(gca,xticklabel))
  12. 洛谷 P1490 买蛋糕 解题报告
  13. 聂易铭:3月20日数字货币筑底失败,破位遥遥无期
  14. (3)数仓建设-数据仓库设计方案
  15. 如何从Excel表格导入数据批量生成二维码
  16. 华为IE讲师:直通华为HCNA课程实战第一部分-安德-专题视频课程
  17. 如何安装EOS智能合约开发工具包CDT
  18. android设置edittext字数,Android EditText最大字数限制并提示
  19. 秦岭瑰宝_陕南中药材·宁陕猪苓_陕南赤子_新浪博客
  20. linux安装mysql压缩包

热门文章

  1. 解决 MSChart控件 X轴坐标显示不全的问题
  2. Mysql Explain 详解
  3. (Alan Murta)编制的多边形集合运算软件包(general polygon clipping library,简称GPC)
  4. Could not find a version that satisfies the requirement pyspider (from versions: ) No matching distr
  5. c语言实现4x4随机字母,求用C++编写一个4x4矩阵运算类(元素float),实现转置和相乘,具体见补充,在线等!谢谢啦~...
  6. idea不区分大小写设置_我的 IntelliJ IDEA 一直都是这么设置的,效果很棒!
  7. webapi控制器怎么接收json_一个秒杀系统的登录系统到底是怎么工作的
  8. uni上传图片跨域_uni-app的项目实践心得
  9. JStorm与Storm源码分析(五)--SpoutOutputCollector与代理模式
  10. java 数据合并算法_Java与算法之(11) - 合并排序