LAMP及部署wordpress/phpMyadmin

LAMP详解 wordpress安装


一、引言

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。

l:linux
a:apache(httpd)
m:mysql<--->mariadb
p:php,perl,python

二、请求流程

1、一次http事务

前面提到了,客户端的一个请求+服务端的一个响应就构成了一次http事务。那么具体的过程如何:

客户端通过浏览器发出http请求,请求当中包含一部分内容,内容不是最关键的,关键的是在内容前面附加一个http请求首部,用来告诉服务器端,客户端是如何请求的,用哪种方法进行请求的,请求哪一个虚拟机等等。

请求发送到服务器端后,服务器端要分析请求,分析这个请求首部用什么url,用什么方法请求,请求哪个主机,用哪个协议等等。然后构建响应报文,响应时还要告诉客户端我是怎么响应你的,给出响应状态码(100-500)。客户端利用这些首部信息完成内容之外的交换信息。则这一次http事务完成。

    报文语法格式:
        request 报文
            <method> <request-URL> <version>
            <headers>

            <entity-body>
        response 报文
            <version> <status> <reason-phrase>
            <headers>

            <entity-body>

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

LAMP及部署wordpress/phpMyadmin

三、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';

LAMP及部署wordpress/phpMyadmin

5、重启mysqld服务:systemctl restart mysqld

LAMP及部署wordpress/phpMyadmin

话说启动失败是咋回事,用通用二进制或者源码安装的是这样启动mysqld。yum安装的启动方式如下:

LAMP及部署wordpress/phpMyadmin

LAMP及部署wordpress/phpMyadmin

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

LAMP及部署wordpress/phpMyadmin

如上说明数据库没设置好,注意如下几个方面

GRANT ALL ON wpdb.* TO 'wpuser'@'%' IDENTIFIED BY 'passwd';    与你的配置文件要吻合,配置文件的local,要改为你远程连接的地址,数据库要创建。

如下图

LAMP及部署wordpress/phpMyadmin

再测试,结果如下

LAMP及部署wordpress/phpMyadmin

就表示ok了!!!

LAMP及部署wordpress/phpMyadmin

然后你就可以写博客啦啦啦啦!!!!!

四、乘热打铁,我们在来搭建一个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   #生成一个随机数

LAMP及部署wordpress/phpMyadmin

测试结果如下:

LAMP及部署wordpress/phpMyadmin

这结果说明我的php版本太低要一个高点的,那么现在我去wget一个较低版本的phpmyadmin试一试。

wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.15/phpMyAdmin-4.0.10.15-english.zip

LAMP及部署wordpress/phpMyadmin

说明什么,还要安装一个包,装上这个包试试:yum install php-mbstring,之后重启。

LAMP及部署wordpress/phpMyadmin

好了,可以用了。

原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/63490

(0)
N24_yeziN24_yezi
上一篇 2016-12-12
下一篇 2016-12-13

相关推荐

  • linux部署lamp,samba,nfs

    linux部署lamp,samba,nfs 实验拓扑图 实验要求 五台机器使用linux模拟 一台机器做数据库服务器,samba共享服务器,nfs共享服务器 其中两台做http服务器 一台做PC机 实验目的 samba服务器向一台http服务器提供共享服务,做http的DocumentRoot,nfs服务器一样作为另一台http服务器的DocumentRoo…

    2017-05-02
  • 0812作业

    练习题 1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件 4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 5、查找/etc目录下大于1M且类型为普通文件的所有文…

    Linux干货 2016-08-15
  • 宣言

    我是一个新手  但是我想认真努力学好linux     有朝一日能成为别人眼中的大牛再回头看看现在 不会后悔  付出必然会有回报  虽千万人吾往矣!

    Linux干货 2016-10-24
  • Ansible安装及简单使用

    简介: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包…

    Linux干货 2016-08-07
  • 计算机基础知识点

    说明:(仅仅记录个人认为重要的内容) CPU的相关概念 主频:主频是cpu的时钟频率(cpu clock speed),是cpu运算时的工作频率(1秒内发生的同步脉冲数) 的简称。单位是HZ,一般 来说,主频越高,cpu的速度越快。由于内部结构的不同,并非所有的时钟频率 相同的cpu的性能都一样  外频:系统…

    Linux干货 2017-02-14
  • 进程的基本动作机制

    进程 我们知道硬件到用户使用分为:硬件,内核(系统),软件。 硬件也就是我们常见到的计算机等等,就相当于我们的身体,内核就相当于是我们的大脑,软件就相当于我们的动作。而进程就相当于我们怎么去实现这些动作。 进程是程序的一个具体实现,同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的IO接口。 进程…

    Linux干货 2016-06-01

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-23 12:21

    赞~安装过程已经描述的很详细~~继续加油~