LAMP是什么?

LAMP,也就是Linux-Apache-MySQL-PHP的简称。

这里我们需要了解两个概念,静态资源和动态资源。

静态资源一般是用HTML编写的网页,实际上是一个文本文件。

静态内容通过浏览器的辅助而展示出我们所看到的网站的内容。如网站布局等。

动态资源则是需要特定的解释器翻译之后,通过服务器运行,最后返回给用户的结果。

在访问一个PHP网站时,假如我们需要登录账号,这部分则是由PHP完成,而账号密码则保存在MySQL里面。

假如用户在php网站请求登录,请求顺序是这样的:

Apache-PHP-MySQL是这样协作的

Apache有什么特色?

其实我们可以从他的名字中来理解他的一个最经典的特性。

Apache,原意为A Patchy Server。

意思是,一个打补丁、拼凑而成的服务器。

他主要的特点,就是支持DSO。Dynamic Shared Object

意思就是动态加载模块的意思。

配置文件中通过加入LoadModule 来调用模块。

因为这样调用模块真的很方便,当时有许多人为Apache服务器编写模块文件。

这一点跟Nginx就有很大的不同,Nginx如果需要添加第三方模块,是要重新编译的。

另外,Apache支持MPM。Multipath Processing Modules

一般可以叫作:多路处理模块。

他有两种较为常用的模式:

Prefork模式:

我们可以拆开这个词来理解他的特性,Pre-Fork。

Fork在英文里面其实就是产生子进程的意思。

Pre在英文中常有预先的意思,例如Preview的意思则是预演。

Prefork模式的特点:

在空闲时通过预先产生多个子进程,通过进程来接受用户的请求。

一般认为此种模式的好处有两个:

a.假如平时流量少,但有突如其来的并发请求,Prefork模式可以更好地应对。

因为避免了在响应请求时,为了加大响应量再产生大量进程,而对资源产生额外的开销。

b.而在进程因为某些原因崩溃的时候,不会影响到其他的进程。

注意:PHP一般都需要运行在Prefork模式下。

Worker模式的特点:

相对于Prefork模式,Worker模式也有使用子进程的概念。

但是Worker的特色在于他在进程内部产生多个线程,使用线程来处理请求。

一般认为worker模式的好处在于:

a.使用线程来响应,能够接受更多的请求。

所以在并发的性能上,Worker模式的性能比Prefork模式更好。

b.使用线程,开销比使用进程要小。

但是相比较于Prefork模型,由于使用了线程,稳定性不如Prefork。

因为当线程出现问题的时候,所在进程也会受到影响。

由于Apache的网络IO模型的原因,Prefork模式和Worker模式最多同时响应1024个请求。

使用LAMP架设一个WordPress个人博客

这一次由于在单机上面操作,并没有拓扑图。

本文的实验中,系统使用CentOS7.1,数据库:MariaDB-5.5.50

注意:实验中关闭了selinux,以及iptables。

(1)安装LAMP具体的包

[root@node3 ~]yum install httpd mariadb-server mariadb php php-mysql

httpd是Apache的程序名字。MariaDB-server负责MySQL的数据存储

php组件用于解析php请求,php-mysql组件用于php于mariadb交互。

(2)启动Apache和MySQL服务并设置为开机启动。

[root@node3 ~]# systemctl start mariadb.service

[root@node3 ~]# systemctl start httpd.service

[root@node3 ~]# systemctl enable mariadb.service

[root@node3 ~]# systemctl enable httpd.service

(3)查看httpd是否正常运行

Apache-test-page.jpg

当什么网站都没有的时候,在浏览器中输入IP地址就会出现一个测试页.

证明Apache运行正常

(4)到官方网站下载WordPress,并解压到特定目录。

官方网站的下载地址很明显,可以直接在机器上使用wget命令。

a.下载

[root@node3 ~]# wget https://wordpress.org/latest.tar.gz

--2016-12-11 15:56:17-- https://wordpress.org/latest.tar.gz

Resolving wordpress.org (wordpress.org)... 66.155.40.249, 66.155.40.250

Connecting to wordpress.org (wordpress.org)|66.155.40.249|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 7993186 (7.6M) [application/octet-stream]

Saving to: ‘latest.tar.gz’

100%[======================================================>] 7,993,186 36.1KB/s in 2m 36s

b.解压

[root@node3 ~]# tar xvf /root/latest.tar.gz -C /var/www/html/

(5)修改文件属主

[root@node3 ~]# chown -R apache.apache /var/www/html/wordpress/

[root@node3 ~]# ll !$

ll /var/www/html/wordpress/

total 184

-rw-r--r--. 1 apache apache 418 Sep 25 2013 index.php

-rw-r--r--. 1 apache apache 19935 Mar 6 2016 license.txt

-rw-r--r--. 1 apache apache 7433 Dec 2 15:04 readme.html

-rw-r--r--. 1 apache apache 5447 Sep 28 05:36 wp-activate.php

drwxr-xr-x. 9 apache apache 4096 Dec 7 02:40 wp-admin

-rw-r--r--. 1 apache apache 364 Dec 19 2015 wp-blog-header.php

-rw-r--r--. 1 apache apache 1627 Aug 29 20:00 wp-comments-post.php

-rw-r--r--. 1 apache apache 2853 Dec 16 2015 wp-config-sample.php

drwxr-xr-x. 4 apache apache 49 Dec 7 02:40 wp-content

-rw-r--r--. 1 apache apache 3286 May 25 2015 wp-cron.php

drwxr-xr-x. 18 apache apache 8192 Dec 7 02:40 wp-includes

-rw-r--r--. 1 apache apache 2422 Nov 21 10:46 wp-links-opml.php

-rw-r--r--. 1 apache apache 3301 Oct 25 11:15 wp-load.php

-rw-r--r--. 1 apache apache 33939 Nov 21 10:46 wp-login.php

-rw-r--r--. 1 apache apache 7841 Nov 21 10:46 wp-mail.php

-rw-r--r--. 1 apache apache 16250 Nov 29 13:39 wp-settings.php

-rw-r--r--. 1 apache apache 29896 Oct 19 12:47 wp-signup.php

-rw-r--r--. 1 apache apache 4513 Oct 15 03:39 wp-trackback.php

-rw-r--r--. 1 apache apache 3065 Sep 1 00:31 xmlrpc.php

因为httpd.conf中定义了用户和组,所以需要将网站文件的属主属组都改为对应用户``默认都是apache

(6)数据库创建一个数据库,并授权一个用户。

[root@node3 ~]# mysql

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 5.5.50-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database wordpress;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on wordpress.* to 'wordpress'@'%' identified by 'wordpress';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

(7)修改httpd的配置文件,将网站设置为虚拟主机。

DocumentRoot /var/www/html/wordpress/

ServerName node3.bc.com

ErrorLog "/var/log/httpd/node3-err_log"

CustomLog "/var/log/httpd/node3-access_log" common

(8)图形化界面,设置mysql地址,主机地址和密码。

有两种方式,任选其一。

a.直接配置安装wordpress。

配置文件在网站根目录下,此处为/var/www/html/wordpress/wp-config.php

vim /var/www/html/wordpress/wp-config.php

/** The name of the database for WordPress */

define('DB_NAME', 'wordpress');

/** MySQL database username */

define('DB_USER', 'wordpress');

/** MySQL database password */

define('DB_PASSWORD', 'wordpress');

/** MySQL hostname */

define('DB_HOST', '192.168.2.203');

/** Database Charset to use in creating database tables. */

define('DB_CHARSET', 'utf8mb4');

/** The Database Collate type. Don't change this if in doubt. */

define('DB_COLLATE', '');

b.也可以直接在浏览器上面访问主机地址

选择语言

准备开始!

设置刚才设置的数据库和用户

正常使用!

至此,我们已经成功地安装LAMP并架设了一个十分常用的个人博客。

下一篇文章,我们将会比较Apache和Nginx,并用Nginx搭建一个phpMyAdmin。见 http://www.linuxidc.com/Linux/2017-10/147556.htm

下面关于LAMP相关的内容你可能也喜欢:

linux服务安装框架,CentOS7安装经典Web架构:LAMP相关推荐

  1. Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

    Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 前方: 开源地址:GitHub - cyq1162/Taurus.MVC: Taurus.mvc i ...

  2. linux设置docker自动启动,CentOS7安装Docker配置服务端和容器自启动

    接上一篇,在VirtualBox上安装配置好了CentOS7,继续在这个虚拟机上装好docker并总结一下使用到的常用功能. 安装Docker 安装直接参考官网来安装就OK,没有遇到什么问题,值得注意 ...

  3. Linux一键安装xrdp,centos7安装xrdp

    centos7安装xrdp 2018-04-22 17:00:54 Windows远程CentOS桌面(前提条件是CentOS采用桌面版安装,非最小化安装) Centos7 默认库不支持xrdp,要先 ...

  4. linux es数据库 head,centos7安装Elasticsearch及Es-head插件详细教程(图文)

    懒惰了很久,今天来写一下Elasticsearch在centos7上安装教程以及安装过程中可能出现的报错解决方式,有不对的地方,烦请各位看官多多指教! 一.ES安装 1.环境检查 确保有java环境, ...

  5. Linux环境搭建:CentOS7安装Oracle

    CentOS7 安装Oracle 11.2.0 材料 [root@bogon yum.repos.d]# rpm -qi centos-release Name : centos-release Ve ...

  6. Linux如何打开cp2k,centos7安装并行版cp2k6.1-POPT

    centos7安装并行版cp2k6.1-POPT centos7安装并行版cp2k6.1-POPT 一.环境介绍 系统:Centos7.6 所需软件包:cp2k-6.1.tar.bz2,libint- ...

  7. linux系统yum安装xrdp,CentOS7安装xrdp

    CentOS7安装xrdp步骤 1.默认库不包含xrdp,需要安装epel库. yum install epel-release 然后安装xrdp yum install xrdp 2.安装tiger ...

  8. linux oracle swd.oui,centos7安装oracle11g报错,请问怎么解?

    centos7安装oracle11g报错,请问怎么解? 在centos7下安装oracle11g到85%时报错提示Error in invoking target 'install' of makef ...

  9. python3.6.5安装教程-Centos7 安装Python3.6.5

    一.centos7 安装 Python3.6.5教程 1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel ...

最新文章

  1. 破2.5万亿美元,全球市值第一「巨无霸」尾随Meta杀入元宇宙!
  2. xm console无法联接guest问题的解决
  3. 《Nmap渗透测试指南》—第2章2.2节使用Zenmap进行扫描
  4. 你有可能错过的东西:IIS7 ULR-Rewrite已经成为正式版本
  5. 正弦波 程序 角度传感器_激光位移传感器的原理及应用领域
  6. git不区分文件名大小写这种坑当然要跳出来
  7. 1000个网络摄像头如何组网?
  8. apple 个人或公司账号(99$)升级企业账号(299$)
  9. 趣图:程序员的 5 个职业生涯阶段,你处于在哪个阶段呢
  10. Python数据可视化之Matplotlib(饼图)
  11. matlab实现聚类算法
  12. 计算机智能化音乐制作,音乐制作那些事儿
  13. catia批量转stp文件格式_catia教程一数据格式转换
  14. java 计算年龄_Java根据日期计算年龄——精确到天
  15. threejs camera.lookAt()的作用
  16. EEG实验中Matlab打标方法及遇见问题
  17. Oracle11g下载
  18. Windows 7/8 创建WIFI热点
  19. Maven在pom文件中添加资源插件后,src/main/resource目录中的文件编译后不拷贝解决方法。
  20. Linux-包教包会系列之-shell

热门文章

  1. python with open as yaml_python怎么解析yaml文件?
  2. Kafka剖析(一):Kafka背景及架构介绍
  3. Hadoop 新 MapReduce 框架 Yarn 详解
  4. Day 30: Play Framework —— Java开发者的梦想框架
  5. Day 24: 使用Yeoman自动构建Ember项目
  6. python with关键字学习
  7. 专访赵加雨:WebRTC在网易云信的落地
  8. 解决计算机问题的一般步骤
  9. www.pythonchanlleges.com
  10. servlet解析演进(2-1)