LAMP建站简介
1. LAMP概述
1.1 为什么是LAMP
LAMP无非就是Linux+Apache+MySQL+PHP的网站架构体系而已。而之所以叫LAMP,就是取了这几个单词的首字母罢了,但这里的P可以指PHP、Python、Perl这三种编程语言。在安装PHP的时候要特别注意它的版本,貌似坑有点多 :) 。而WordPress呢,它是一个开源的且比较好用的免费主题模板,我们构建好了LAMP后,将WordPress跑在LAMP上面,就可以构建个人站点了。
1.2 PHP的两种工作方式
- php以模块的方式直接被httpd调用
- php以守护进程的方式监听在一个套接字上以提供服务(通过fastcgi协议进行交互)
这里我们采用httpd(Apache)直接调用php模块的方式来构建LAMP环境,这也是最简单的方式,一步到位。如果小伙伴愿意,也可以将php和httpd拆分开来,让php以守护进程的模式工作,只不过需要安装并启动php-fpm而已。
1.3 LAMP的运作流程
稍微解释一下LAMP架构的运作流程:
- 首先,我们需要一台Linux主机并至少拥有一个公网IP地址
- 然后在此主机上我们需要安装Apache的httpd服务程序,以提供静态页面访问。
- 为了提供动态页面访问的功能,我们还需要安装PHP程序以实现php代码的解析和执行。
- 接下来我们的数据需要保存到数据库中,所以我们还需要安装MySQL服务程序以提供数据存储。
- 而为了让php和MySQL数据库之间能够进行交互,我们还需要安装php-mysql程序以实现二者之间的交互。
1.4 稍微总结一下建站步骤
- 弄一台Linux主机,配置好IP地址,我这里用的是CentOS7系统。
- 安装httpd程序(Apache)并设置,这里装的是2.4的版本。
- 安装PHP,我装的是7.2的版本。
- 安装php-mysql
- 安装MySQL并设置,我这里是CentOS7上直接yum安装的MariaDB5.5
- LAMP环境搭建好之后,我们直接将WordPress部署在LAMP环境中,然后经过简单的设置后,一个个人站点就已然成形。
2. 构建LAMP环境
2.1 安装Apache
2.1.1 安装httpd(Apache)
话不投机直接干,我们来直接yum安装httpd吧,简单方便快捷。CentOS7上默认yum安装的httpd就是2.4的版本。安装成功之后我们还需要对它进行配置。
[root@c7_node_01 ~]# yum install httpd -y
2.1.2 配置虚拟主机
我们进入到httpd的额外配置文件目录中,然后直接创建一个新的配置虚拟主机配置文件
[root@c7_node_01 ~]# cd /etc/httpd/conf.d/
[root@c7_node_01 conf.d]# vim mysite.conf
然后在在 mysite.conf 配置文件中添加如下配置信息
<VirtualHost *:80> # 定义一个监听在本地主机所有IP地址80端口上的虚拟主机
ServerName bbs.hgzero.com # 这是虚拟主机的名称,因为启用了基于端口的虚拟主机,这里可随意写一个名称
DocumentRoot "/data/apache/bbs" # 这是网站的根路径,根据自己的设置来填写
<Directory "/data/apache/bbs"> # 这里要对该根路径定义权限
Options None
AllowOverride None
Require all granted
#AuthType Basic # 以下注释的是Basic认证信息,请忽视它
#AuthName "Pls input password ^_^"
#AuthUserFile "conf.d/htpasswd"
#Require valid-user
</Directory>
</VirtualHost>
定义好的配置文件保存后,我们重启httpd使之生效
[root@c7_node_01 conf.d]# systemctl restart httpd.service
2.2 安装PHP等模块
这里也可以用yum直接一步到位,但是CentOS7上默认的php居然是5.4的版本?这怎么能忍?emmm,我这里假装你已经配置好了php7.2的源,至于怎么配php7.2的源,这个地方有写 :)
2.2.1 安装php和php-mysql
这里我直接把php和php-mysql一起安装了
[root@c7_node_01 ~]# yum install php php-mysql -y
2.2.2 再安装一些php的扩展模块
[root@c7_node_01 ~]# yum install php-mcrypt php-cli php-gd php-curl php-ldap php-zip php-fileinfo php-fpm -y
2.3 安装MySQL
2.3.1 安装MariaDB(MySQL)
同样,直接yum安装,CentOS7上默认安装的是MariaDB5.5的版本
[root@c7_node_01 ~]# yum install mariadb -y
2.3.2 初始化数据库
安装成功后需要对数据库进行初始化,我们这里运行以下命令,直接一步到位,我们这里暂不讨论MySQL的优化问题。
[root@c7_node_01 ~]# mysql_secure_installation
2.3.3 登录后创建新库并授权用户
# 登录
[root@c7_node_01 ~]# mysql -uroot -p
Enter password:
# 创建新库
MariaDB [(none)]> create database shit_blog;
# 创建用户并授权
MariaDB [(none)]> grant all on shit_blog.* on "hg"@"localhost" identified by 'shitshit';
# 刷新权限
MariaDB [(none)]> flush privileges;
2.4 LAMP构建完毕
到这里,我们的LAMP环境已然构建完成。当然,各个步骤的测试还需要自己来完成,比如httpd是否能正常访问?如果不能正常访问,去看看防火墙和SELinux是否关闭,将这一系列外在因素慢慢排查完之后,如果再出问题,还需要看httpd的日志来分析原因。这里我就不巴拉巴拉一大堆了。
3. 部署WordPress
部署WordPress的步骤也十分简单,我们可以直接在WordPress的官网下载一个最新版的WordPress,然后直接将其解压后的内容部署到我们刚刚创建虚拟主机定义的哪个目录下就可以了。
要访问我们的网站,直接在浏览器键入http://你的IP地址 , 就可以看到WordPress的安装页面了,然后一路下一步就可以了。此过程中遇到的问题请大家自行google或百度,我先睡了 :)
LAMP建站简介的更多相关文章
- 云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2 ,Apache版本:2.4.23, Mysql 版本:5.7.17 , Php版本:7.0.12)
云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2) 部署 LAMP (CentOS 7.2) 文档提供方:上海驻云信息科技有限公司 更新时间:2017-06 ...
- HHvm建站环境搭建方法:Nginx,Mariadb,hhvm及lnmp/lamp安装部署
HHVM起源于Facebook公司,是一个开源的PHP虚拟机,使用JIT的编译方式以及其他技术,让PHP代码的执行性能大幅提升.HHVM提升PHP性能的途径,采用的方式就是替代Zend引擎来生成和执行 ...
- Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境
我们选择VULTR VPS建站的还是比较多的,其主要原因在于商家的稳定,毕竟我们用来建站选择服务器价格考虑的不是主要的(当然VULTR价格也是比较便宜),最为主要的是因为VULTR商家比较稳定,而且多 ...
- Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站
完整Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站 第一.安装和配置Apache Web服务器 运行升级命令来确保我们的系统组件各方面都是最新的. apt-get upd ...
- [web建站] 优课急送《零基础快速学习建站》视频+课件【价值399元】
[课程介绍]你想快速建一个网站出来吗?你想从什么都不懂到一两天出一个漂漂亮亮的站吗?你想完成领导交给你的任务找人建站吗?你想自己建站来创业吗?你想学会建站之后,利用给别人建站来赚钱吗?你想建一个跟某个 ...
- Nodejs学习笔记(三)——一张图看懂Nodejs建站
前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试 ...
- (转) Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么?
Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么? 建站有很多技术,如 HTML.HTML5.XHT ...
- [基础常识]阿里云ecs从购买到环境搭建和建站!!(phpstudy一件包)
首先如何购买ECS?发现有些人购买5G硬盘,我个人认为买硬盘应该购买20以上!这样以后好处理! 进入http://www.aliyun.com/product/ecs/?spm=5176.7189 ...
- Portal:十大免费建站程序推荐
TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...
随机推荐
- pyenv,轻松切换各种python版本
pyenv,轻松切换各种python版本 解决什么问题 mac自带python2,md又不能删掉他 linux也自带python2,这玩意都过时了,也不赶紧换掉 安装pyenv git 安装 git ...
- go语言依赖注入实现
最近做项目中,生成对象还是使用比较原始的New和简单工厂的方式,使用过程中感觉不太爽快(依赖紧密,有点改动就比较麻烦),还是比较喜欢使用依赖注入的方式. 然后网上没有找到比较好用的依赖注入包,就自己动 ...
- 补充_001_问题_001_Vivian
在此先向前辈们和同学们道个歉,一是没有认真地专研前辈们的精文,二是对一些读者造成了一定程度上的困扰,为此鄙人深感抱歉,现在对"问题_001_Vivian"中不严谨的地方进行修改: ...
- 痞子衡嵌入式:MCUBootUtility v2.3发布,这次不再放过任何一款Flash
-- 痞子衡的 NXP-MCUBootUtility 开源项目自2018年8月27日第一笔提交至今已有21个月,目前累计代码已近50000行.相信这个工具为大家开发 i.MXRT 项目提供了一些便利, ...
- Android_AndroidX简介&Junit4
AndroidX简介: Android 9.0(API level 28)发布时,AndroidX也作为一个新的支持库发布出来了.AndroidX时Jetpack的一部分,它包含了现有的支持库和最新的 ...
- 【MOOC操作系统】测试题大题-进程调度 先入先服务算法例题 【某多道程序系统供用户使用的主存为100K,磁带机2台,打印机1台,采用可变分区存储管理,静态方式分配外围设备(进程获得所需全部设备才能进入内容),忽略用户作业的I/O时间。采用动态分区、首次匹配法(从低地址区开始)分配主存,一个作业创建一个进程,且运行中不紧缩内存。作业调度采用FCFS算法,在主存中的进程采用剩余时间最短调度算法。】
分析图: 答案: (1) 8 : 00作业1到达,占有资源并调入主存运行. 8: 20作业2和3同时到达,但作业2因分不到打印机,只能在后备队列等待.作业3资源满足,可进主存运行,并与作业1平分CPU ...
- 伪静态%{REQUEST_FILENAME} !-f 和!-d用法
%{REQUEST_FILENAME} !-f 和!-d只对下一条RewriteRule起作用.再往下的RewriteRule不管用. -f 表示为文件 -d 表示为目录 ! 表示非,取反的意思 R ...
- Salesforce LWC学习(十七) 前端知识之 onclick & onblur & onmousedown
在Salesforce LWC学习(八) Look Up组件实现篇中,我们实现了公用的lookup组件,使用的过程中,会发现当我们输入内容以后,搜索出来的列表便无法被清空. 针对此种情况我们打算优化一 ...
- OAuth + Security - 3 - JWT令牌
为什么使用JWT令牌 在上面的资源服务器中,通过配置,我们了解到,当我们拿着token去获取资源时,程序会先去调用远程认证服务器的端点去验证解析token,或者在本地解析校验token,这样毫无疑问, ...
- Java实现 LeetCode 558 四叉树交集(四叉树,第一次遇到,研究了半天)
558. 四叉树交集 四叉树是一种树数据,其中每个结点恰好有四个子结点:topLeft.topRight.bottomLeft 和 bottomRight.四叉树通常被用来划分一个二维空间,递归地将其 ...