引言
lamp含义:黄金组合。简要介绍一下下面这四个东西吧。linux,不用说了有很多发行版本,主流的三大版本是Debian系列,RedHat系列,slackware系列。apache,全称叫Apache HTTP Server,是世界使用排名第一的web服务器软件,httpd是超文本传输协议http服务器的主程序。可通过简单的API扩展,将PHP/Perl/Python等解释器编译到服务器中。PHP是全球最好的脚本语言,主要用于web开发,python是高级编程语言,功能也很强大。
mysql和mariadb是数据库,mysql被oracle收购,oracle做的很好,但是收费,mysql是oracle的眼中钉,肉中刺,oracle喜欢通过收购竞争对手来解决竞争,然后把别人的技术放置不用。为此mysql的作者担心这种情况的发生,有开发了mariadb。
请求流程
1、一次http事务
前面提到了,客户端的一个请求 服务端的一个响应就构成了一次http事务。那么具体的过程如何:
2、请求流程
静态资源请求
用户请求先到达内核空间的网络协议栈,内核空间通过web服务所监听的套接字socket,可以将用户请求转发给用户空间的http服务进程。静态资源是http服务进程向内核发请求,去磁盘找到这个资源,没有就显示Not Found,有就把加载的资源返回给进程,先到内核自己的内存中。其中进程把任务交给内核后到内核把资源返回进程之间,进程处于空闲状态,我们把这个状态称为阻塞状态。拿到资源后,进程构建响应报文,把资源的前面加上响应首部,发到内核空间,通过通信子网进行向外发送。即达成了一次http事务吧。
静态资源:Client -- http 协议--> httpd 补充: 如果不阻塞,则注册一个事务,就去做别的事情,等这边的事情好了,提醒一下就好了,这种机制叫做AIO机制。
上面的,内核加载完了资源放到了内存中,然后又返给进程,这个时候又浪费了一次用户空间,所以有一种Sendfile机制,可以直接在内核里面添加响应首部,然后传给用户。这样就省去了一回用户空间,提高了效率。
动态资源请求
从磁盘加载后,进程将资源传给PHP,PHP根据是否用到数据库去调用数据库,都处理好了,传递给进程。 客户端通过http协议将请求传给内核,那么httpd进程通过三种方法与php结合: modules: 把 php 编译成为 httpd 的模块 cgi: fastcgi: php要联系mysql。要用PHP代码扮演客户端,经过mysql协议联系。 Client -- http --> httpd --> libphp5.so () -- mysql --> MySQL server
Centos7上搭建lamp
1、系统环境
centos7
ip=192.168.1.109
防火墙关闭
selinux关闭
2、安装LAMP组件
yum install -y httpd php-fpm php-mysql mariadb-server
3、设置mysql,启动并设置开机自启动
systemctl start mariadb.service
systemctl enable mariadb.service
4、测试
mysql
GRANT ALL PRIVILEGES ON testdb.* TO gwx@'192.168.%.%' IDENTIFIED BY '1';
5、重启mysqld服务:systemctl restart mysqld
话说启动失败是咋回事,用通用二进制或者源码安装的是这样启动mysqld。yum安装的启动方式如下:
6、http开启以及虚拟主机配置前面已经讨论过了 故在此省略
部署WorPress
1、下载wordpress
wget -O /www/b.net/htdocs/wordpress.zip https://cn.wordpress.org/wordpress-4.4.2-zh_CN.zip
2、配置wordpress
unzip wordpress.zip
cd wordpress
cp wp-config-sample.php wp-config.php #复制其配置模板然后配置
CREATE DATABASE wpdb;
GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'passwd'; #赋予wpuser用户对wpdb数据库的所有权限, 并设置密码为passwd
vim wp-config.php #按自己需求配置
service httpd restart
3、测试
http://www.b.net/wordpress
如上说明数据库没设置好,注意如下几个方面
GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'passwd'; 与你的配置文件要吻合,配置文件的local,要改为你远程连接的地址,数据库要创建。
如下图
再测试,结果如下
就表示ok了!!!
然后你就可以写博客啦啦啦啦!!!!!
乘热打铁,我们在来搭建一个phpMyAdmin平台管理数据库
1、下载
wget -O /www/c.org/htdocs/phpadmin.zip https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.zip unzip phpadmin.zip ln -sv phpMyAdmin-4.6.5.2-all-languages/ pma cd pma cp config.sample.inc.php config.inc.php openssl rand -base64 15 #生成一个随机数
测试结果如下:
这结果说明我的php版本太低要一个高点的,那么现在我去wget一个较低版本的phpmyadmin试一试。
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.15/phpMyAdmin-4.0.10.15-english.zip
说明什么,还要安装一个包,装上这个包试试:yum install php-mbstring,之后重启。
好了,可以用了。
作者:yezi
来源:http://www.178linux.com/63490