基于rpm搭建基础LAMP

 

架构图:

实验环境:
C8 10.0.0.10:apache
C8 10.0.0.20:php-fp
C8 10.0.0.10:mysql

注意事项:
1)在实际工作中Apache软件和php-fpm小项目装一块 大项目分开装。
2)删除装错的
remi-release-x.rpm

yum -y remove remi-release

 

3)只用enable --now 表面实现已监听已开启,实则还要使用start才能真正打开服务。 
4)如果php无连接mysql数据库的账号或者连接mysql数据库的php文件抒写错误则客户端访问Apache节点会提示连接被拒绝。

配置列表👇:
1.Apache配置:

1)检查mod_proxy_fcgi.so 模块是否存在,默认加载。

<没有则装载打开此文件装载>

vim /etc/httpd/conf.modules.d/00-proxy.conf

2)创建子配置文件将用户的动态请求转移到php-fpm服务进行处理(就是一个打通apache和php连接的文件)。

vim /etc/httpd/conf.d/fcgi.conf

DirectoryIndex index.php
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$  fcgi://10.0.0.20:9000/data/php/$1  #指定php-fpm节点IP及php-fpm节点所指定的php文件存放路径
ProxyPassMatch ^/(status|ping) fcgi://10.0.0.20:9000       #当用户访问status和ping这个两个资源时也提交给php-fpm处理(这样可获取php服务器实时状态)

3)开启Apache服务

systemctl enable --now httpd
httpd -k start

 

2.php-fpm配置:
1)###搭建yum仓库获取最新的php包,centos7则搭建remi-release-7.rpm
yum -y install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-8.rpm
2)###安装7.4版本的php-fpm及相关依赖包
yum -y install php74-php-fpm.x86_64 php74-php-mysqlnd 
3)打开子配置文件修改其选项<通过rpm -ql 
php74-php-fpm  找到其主配置文件/etc/opt/remi/php74/php-fpm.conf  翻到最下一行可看到>

vim /etc/opt/remi/php74/php-fpm.d/*.conf

<修如下图:>

<修如下图:将其注释 指定哪个用户可以访问>

<修如下图:取消注释 打开PHP的状态页面>

<修如下图:取消注释,提供PHP连通性功能,如果正常则返回pong>

4)创建放置php文件的路径

mkdir /data/php
vim /data/php/index.php
<?php
phpinfo();
?>

5)存放php文件的路径下(/data/php)写个能够让php-fpm节点连接mysql数据库的文件

vim /data/php/mysql.php
<?php
try {
$user='php';   ###数据库需已创建该账号
$pass='123456';
$dbh = new PDO('mysql:host=10.0.0.30;port=3306;dbname=mysql', $user, $pass);  ###指定要连接的数据库IP及端口号
foreach($dbh->query('SELECT user,host from user') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>

 

6)改完配置后,重启php-fpm服务。

systemctl enable --now php74-php-fpm.service
systemctl start php74-php-fpm.service

3.mysql配置:
1)yum安装mysql-server

yum -y install mysql-server
systemctl enable --now mysqld
systemctl start mysqld

 

 2)登录mysql(因为yum安装所以在服务端上可以空密码登录,登陆后记得修改),创建并授权一个all权限的php账号用于连接mysql。

create user php@'10.0.0.%' identified by '123456';
grant all on *.* to php@'10.0.0.%';

 测试环节
1)分别测试Apache与ph-fpm及php-fpm与mysql的连通情况。
<Apache与ph-fpm>

 

 

<php-fpm与mysql>

 

 

2)通过访问Apache节点获取php-fpm节点的状态页和连通性情况。
<status页>

<连通性情况>

 

 

结论:LAMP搭建成功后客户端的访问php资源(动态请求)Apache接收后则会以fastcgi协议与php-fpm相互传输,而php-fpm到mysql则以mysql协议进行传输。

 

 

 

 

 

 

 









 

posted on 2021-07-03 22:59  1251618589  阅读(2)  评论(0编辑  收藏  举报

导航