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端口,进入循环,等待数据的到来,处理数据
----------------------------------------------------------------------------------------------------
httpd+php:三种方式
1.调用modules
2.cgi
3.fastcgi(fpm)
请求流程: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:yuminstall php-mbstring
设置mysql管理员密码
本文出自 “明天过后” 博客,请务必保留此出处http://leeyan.blog.51cto.com/8379003/1696555
原文地址:http://leeyan.blog.51cto.com/8379003/1696555