LAMP 架构
LAMP 架构
什么是LAMP 架构 ?
LAMP架构是指一种常用的Web应用程序开发和部署架构,由四个主要组件组成,分别是Linux操作系统、Apache Web服务器、MySQL数据库以及PHP编程语言,它们的首字母缩写组成了LAMP。
LAMP架构的主要优点是:
-
所有组成产品均是开源软件,可以节省成本和提高安全性。
-
LAMP架构具有Web资源丰富、轻量、快速开发等特点,适合搭建各种动态网站和应用
-
LAMP架构具有通用、跨平台、高性能、低价格的优势,与Java/J2EE架构或微软的.NET架构相比,更具有竞争力。
LAMP架构的主要工作流程是:
-
客户端发送请求连接Web服务器的80端口,由Apache响应并处理用户的静态请求。
-
如果客户端请求的是动态资源,由Apache加载调用libphpX.so模块进行解析处理。
-
如果处理需要和后台数据库沟通,那么由PHP程序去完成。
-
PHP程序将处理完后的结果再返回给Apache,由Apache返回给客户端。
LAMP架构的主要配置步骤是:
-
在Linux系统上安装Apache服务器,并配置相关参数。
-
在Linux系统上安装MySQL数据库,并配置相关参数。
-
在Linux系统上安装PHP编程语言,并配置相关参数。
-
在Apache服务器上加载PHP模块,并配置相关参数。
-
在PHP程序中连接MySQL数据库,并编写相关代码。
LAMP 部署
Centos7 |
Mysql 5.7 |
Apache HTTP 2.4.6 |
Php 7.2 |
初始化配置
#关闭防火墙
[root@LAMP ~]# systemctl stop firewalld
[root@LAMP ~]# systemctl disable firewalld
#关闭Selinux
[root@LAMP ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@LAMP ~]# setenforce 0
添加MySQL 源
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
#MySQL的GPG升级了,需要更新
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
更换php源
由于需要部署wordpress5.0.19,Centos7.6标准环境只提供php到5.4版本,我们需要更换rpm源来实现安装PHP7.0以上版本。
[root@LAMP ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
[root@LAMP ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装软件
[root@LAMP ~]# yum -y install mysql-community-server httpd php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-ldap php72w-mcrypt
测试php
[root@LAMP ~]#php -v
PHP 7.2.34 (cli) (built: Oct 1 2020 13:37:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies
修改http 配置文件
[root@LAMP ~]# vim /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
重启服务
[root@LAMP ~]# systemctl restart httpd mysqld
[root@LAMP ~]# systemctl enable httpd mysqld
查看mysql 默认密码
# 查找默认密码
[root@LAMP ~]# grep 'temporary password' /var/log/mysqld.log
MySQL安全设置命令
[root@LAMP ~]# mysql_secure_installation
修改mysql 密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
或
mysql> set password for 'root'@'localhost'=password('123456');
mysql> flush privileges;# 刷新权限
或
[root@LAMP ~]# mysqladmin -u username -h hostname -p password "123456"
添加php测试页面
[root@LAMP ~]# cat > index.php << EOF
<!DOCTYPE html>
<html>
<body>
<?php
phpinfo();
?>
</body>
</html>
EOF
访问测试
http://localhost/
WordPress 博客
WordPress 概述
WordPress是基于PHP和MySQL的免费开源内容管理系统(CMS)。它是全球使用最广泛的CMS软件,截至2019年5月,它为排名前1000万个网站中提供了超过30%的支持,并拥有在使用CMS构建的所有网站中,估计有60%的市场份额。
WordPress始于2003年,最开始仅为一款简单的博客系统,但现已发展成为具有数千款插件,小工具和主题功能完整的CMS系统。它是根据开源协议通用公共许可证(GPLv2或更高版本)进行授权。
基于以上LAMP 架构部署 WordPress播客
创建WordPress 数据库并授权
mysql> create database wordpress; #创建数据库
mysql> create user wordpress@localhost; #创建用户
mysql> set password for wordpress@localhost = password('redhat'); #设置用户密码
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'redhat'; #授权数据库
mysql> FLUSH PRIVILEGES; #刷新数据库
注:如果曾经升级过数据库,需要重新更新数据库,不然会导致无法创建用户等操作
ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50568, now running 50742. Please use mysql_upgrade to fix this error.
更新数据库
[root@LAMP ~]# mysql_upgrade -u root -p
下载 WordPress
[root@LAMP ~]# wget https://cn.wordpress.org/wordpress-5.0.19-zh_CN.tar.gz
解压配置 WordPress
解压
[root@LAMP ~]# tar -xvzf wordpress-5.0.19-zh_CN.tar.gz
拷贝文件到html目录中
[root@LAMP ~]# cp -r wordpress/* /var/www/html
[root@LAMP ~]# chomd -R 777 /var/www/html/
编辑wordpress配置文件
[root@LAMP ~]# cp -p wp-config-sample.php wp-config.php
[root@LAMP ~]# vim wp-config.php
define('DB_NAME', 'wordpress'); #设置连接数据库名称
/** MySQL database username */
define('DB_USER', 'wordpress'); #连接数据库用户名
/** MySQL database password */
define('DB_PASSWORD', 'redhat'); #连接数据库用户密码
访问测试
http://localhost
完毕!