设为首页 加入收藏

TOP

CentOS8 LAMP的实现以及相关应用(二)
2023-07-23 13:36:20 】 浏览:46
Tags:CentOS8 LAMP 相关应
che 60282 0.0 0.5 183184 10176 ? S 19:02 0:00 php-fpm: pool www root 61303 0.0 0.0 12112 1044 pts/0 S+ 19:46 0:00 grep --color=auto php [root@CentOS8 ~]# systemctl restart php-fpm.service

LAMP的实现方式:

httpd 接收用户的web请求;静态资源则直接响应;动态资源为php脚本,对此类资源的请求将交由php
来运行

apache和php结合的方式:
  • 模块文件:将php编译成为httpd的模块libphp5.so,只有prefork 模式才支持(CentOS 7 默认是这个)

  • FastCGI:php和apache是两个单独的服务(CentOS 8 默认使用factcgi模式)

LAMP架构实现:

动态资源的请求方式:

  • Client -- http --> httpd --> libphp5.so () -- mysql --> MySQL server

  • Client -- http --> httpd -->fastcgi-- mysql --> MySQL server

实现LAMP:

前提:
??需要安装MySQL、apache、php这三个软件包

PHP连接MySQL的方式:

1. 使用mysqli扩展连接数据库:
??使用mysqli扩展模块mysqli.so连接数据,此方式只能连接MySQL数据库,不支持其它数据库

<?php
$mysqli=new mysqli("mysqlserver", "username", "password");
if(mysqli_connect_errno()){
 echo "Failure";
 $mysqli=null;
 exit; }
echo "OK";
$mysqli->close();
?>

默认安装php的时候是没有安装连接mysql的工具包的

#CentOS 8 需要安装php-mysqlnd这个软件包才会生成对应的模块
[root@CentOS8 ~]# rpm -ql php-mysqlnd
/etc/php.d/20-mysqlnd.ini
/etc/php.d/30-mysqli.ini
/etc/php.d/30-pdo_mysql.ini
/usr/lib/.build-id
/usr/lib/.build-id/27
/usr/lib/.build-id/27/050298f7ae4de2117b0325d5e1f354539efa77
/usr/lib/.build-id/43
/usr/lib/.build-id/43/0aa1d5fd22f68c8c868a0ffb6473f529360ca8
/usr/lib/.build-id/c9
/usr/lib/.build-id/c9/713dbdb20adf4b190b48176317b0c06d691f4e
/usr/lib64/php/modules/mysqli.so
/usr/lib64/php/modules/mysqlnd.so
/usr/lib64/php/modules/pdo_mysql.so

#不加斜线认为是软连接,加了斜线认为是文件夹
[root@CentOS8 ~]# find /lib64/ -name mysqli.so
/lib64/php/modules/mysqli.so

2. 使用PDO(PHP Data Object)扩展连接数据库:
??使用PDO扩展模块pdo_mysql.so连接数据库,此方式可以支持连接MySQL,Oracle等多种数据库

范例:php使用pdo扩展连接数据库的测试代码1


<?php
$dsn='mysql:host=mysqlhost;port=3306;dbname=mysql';
$username='root';
$passwd='magedu';
$dbh=new PDO($dsn,$username,$passwd);
var_dump($dbh);
?>

例如:

[root@CentOS8 html]# cat lamp.php 
<?php

$servername = "localhost";
$username = "root";
$password = "";

try {
    $conn = new PDO("mysql:host=$servername;dbname=mysql", $username, $password);
    // 将PDO错误模式设置为异常
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功"; 
}
catch(PDOException $e){

    echo "连接失败:".$e->getMessage();
}
?>

常见LAMP应用实现

1. phpmyadmin:实现mysql的web管理

PhpMyAdmin是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库,官网:https://www.phpmyadmin.net/

实现 phpMyadmin应用部署

1.下载软件包
官网:https://www.phpmyadmin.net/

注意:

#不下载这两个对应的包 pma不会给浏览器返回任何信息
[root@CentOS8 html]# yum install php-xml php-json

2.解压到apache的根目录下

3.测试:

http://10.0.0.14/pma/

WordPress:

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上
架设属于自己的网站。也可把 WordPress当作一个内容管理系统(CMS)来使用,
官网:https://cn.wordpress.org/

部署worlpress:
上传的文件存放位置:/var/www/html/blog/wp-content/

Discuz:

Crossday Discuz! Board(简称 Discuz!)是一套通用的社区论坛软件系统。自2001年6月面世以来,是覆盖率最大的论坛软件系统之一。2010年8月23日与腾讯达成收购协议,官网:https://www.discuz.net/

部署Discuz
  • 1.去官网下载对应的安装包

  • 2.解压安装包(只需要里面的uploade目录)

  • 3.移动到apache服务的根目录

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇nginx反向代理与负载均衡 下一篇vsftpd服务

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目