LAMP之fcgi技术

搭建基础服务wordpress

服务器规划

  • 主机A: apache+php+wordpress(192.168.1.223)
  • 主机B:mysql(192.168.1.222)
步骤1
 # 主机A配置[root@vm1 html]# yum install httpd php php-mysql -y
[root@vm1 html]# systemctl start httpd
[root@vm1 html]# httpd -M | grep phpphp5_module (shared)
[root@vm1 html]# tar zxvf wordpress-5.0.4-zh_CN.tar.gz  -C /var/www/html/
[root@vm1 html]# setfacl -Rm u:apache:rwx /var/www/html/wordpress/
##让apache用户具有wordpress/目录的写权限,因为在网页配置的时候需要通过apache用户创建一个 wp-config.php文件,wp-config.php内有后台需要连接的数据库等信息
步骤2
 # 主机B配置
[root@localhost ~]# yum install mariadb-server -y
[root@localhost ~]# systemctl restart mariadb
MariaDB [(none)]> create database wpdb;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on wpdb.* to wpuser@'192.168.1.%' identified by  'centos';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> flush privileges
步骤3

通过访问http://192.168.1.223/wordpress/配置后台连接的数据库信息,通过apache用户自动生成wp-config.php

fcgi技术–提升php网站访问速率

httpd+php的实现方式

  • module:php模块
  • fcgi:php-fpm------httpd(nginx)将.php请求转发给后台php-fpm服务,httpd等于做了反向代理

php-fpm
centos6:php-5.32之前,默认不支持fpm机制,需要自行打补丁编译安装
httpd-2.2:默认不支持fcgi协议,需要自行编译此模块
centos7
httpd-2.4:rpm包默认编译支持fcgi模块
php-fpm包:将php运行于fpm模式

[root@vm1 php-fpm.d]# yum install php-fpm
[root@vm1 php-fpm.d]# rpm -ql php-fpm
/etc/logrotate.d/php-fpm
/etc/php-fpm.conf          ## php-fpm的主配置文件
/etc/php-fpm.d
/etc/php-fpm.d/www.conf     ##扩展配置文件
/etc/sysconfig/php-fpm
/run/php-fpm
/usr/lib/systemd/system/php-fpm.service   ##systemd 启动脚本
/usr/lib/tmpfiles.d/php-fpm.conf
/usr/sbin/php-fpm
/usr/share/doc/php-fpm-5.4.16
/usr/share/doc/php-fpm-5.4.16/fpm_LICENSE
/usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default
/usr/share/fpm
/usr/share/fpm/status.html
/usr/share/man/man8/php-fpm.8.gz
/var/log/php-fpm
[root@vm1 php-fpm.d]# cat /etc/php-fpm.d/www.conf |  egrep -v '^;|^$'
[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session[root@vm1 php-fpm.d]# systemctl restart php-fpm
[root@vm1 php-fpm.d]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process ManagerLoaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)Active: active (running) since Mon 2021-05-03 21:41:15 CST; 4s agoMain PID: 89554 (php-fpm)Status: "Ready to handle connections"Tasks: 6CGroup: /system.slice/php-fpm.service├─89554 php-fpm: master process (/etc/php-fpm.conf)├─89556 php-fpm: pool www├─89557 php-fpm: pool www├─89558 php-fpm: pool www├─89559 php-fpm: pool www└─89560 php-fpm: pool wwwMay 03 21:41:15 vm1 systemd[1]: Starting The PHP FastCGI Process Manager...
May 03 21:41:15 vm1 systemd[1]: Started The PHP FastCGI Process Manager.[root@vm1 php-fpm.d]# vim /etc/httpd/conf.d/fcgi.conf
Directoryindex index.php
proxyrequests off
proxypassmatch  ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1  ##告诉httpd将.php结尾的请求以fcgi协议转发给后台9000端口的php-fpm服务
[root@vm1 php-fpm.d]# systemctl restart httpd[root@vm1 php-fpm.d]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process ManagerLoaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)Active: active (running) since Mon 2021-05-03 21:41:15 CST; 12min agoMain PID: 89554 (php-fpm)Status: "Processes active: 0, idle: 16, Requests: 201, slow: 0, Traffic: 0req/sec"Tasks: 17

LAMP之fcgi技术相关推荐

  1. LAMP兄弟连,我们网络上的家!

    LAMP兄弟连,我们网络上的家! 经常有人问我,"LAMP兄弟连究竟想做成什么样子"? 这个问题也一直困扰着我,究竟要做成什么样子呢?是一个专门讨论技术的坛子?还是只是为学校招生的 ...

  2. PHP语言教父Gutmans炮轰Java:已经输掉Web之战

    PHP 3之后的主要语言开发者之一.Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言.他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对, ...

  3. 程序员生存定律--成长路上常见的坑(2)

    程序员生存定律这系列的目录在这里:程序员生存定律--目录 喜欢从头瞄的,可以移步. ---------------------------------------------------------- ...

  4. J2EE基础教程(1):简介和windows下环境配置

    (1)相关概念 我们以前在linux操作系统初级教程中,介绍过LAMP架构服务器技术.现在,我们来介绍J2EE. 通过J2EE开发的应用程序属于分布式多层应用程序,包括 (1)客户层:客户应用,web ...

  5. 协作机器人_协作机器人软件开发

    协作机器人 当我遇到机器人操作系统时,我正在网上寻找具有机器人技术的开源项目. 我很感兴趣地阅读了他们的网站,因为这是我第一次看到一个专门为机器人编写代码的开源项目. 更好的是,他们正在为Ubuntu ...

  6. 程序员生存定律——成长路上常见的坑

    程序员生存定律--成长路上常见的坑 2014-7-8 10:09| 发布者: 小isabella| 查看: 2549| 评论: 6|原作者: leezy_2000|来自: CSDN 摘要: 1. &q ...

  7. 4.28Linux(6)

    2019-4-28 21:27:41 明天回家.回家继续学Linux还好有个服务器!!!感觉有个属于自己的服务器感觉好爽啊!! 越努力越幸运!永远不要高估自己!!! Nginx安装 服务器的请求原理 ...

  8. nginx入门与实战

    参考:https://www.cnblogs.com/pyyu/p/9468680.html web服务器软件 1.一般请求静态资源是会用到,如图片,MP4,index页面 常见的有 IIS (win ...

  9. 程序员7年和我的7点感想――我的程序人生

    程序员 7 年和我的 7 点感想 ――我的程序人生 我是1986年第一次接触计算机的,当时刚上大学,用的是VAX11-780小型机运行Basic程序,一个学期下来,算是学点皮毛.1989年,在大学因& ...

最新文章

  1. MIT人工智能独立设系!拆分EECS为EE、CS、AI+决策三部分,直接归学院管理
  2. WP8.1 Study18:动态磁贴
  3. 深度学习核心技术精讲100篇(四十六)-情感分析算法在阿里小蜜的应用实践
  4. 机器学习之基于Fisher实现二分类的人脸识别
  5. 【Cinemachine智能相机教程】VirtualCamera(二):Body属性
  6. django项目验证码(PIL库实现)
  7. 使用 Request.QueryString 接受参数时,跟编码有关的一些问题
  8. 麦克纳姆轮速度分解再分析
  9. 微服务之ServiceFabric
  10. 2.3全卷积网络(FCN)与图像分割
  11. 【Java集合系列一】ArrayList解析
  12. 数据结构与算法——线性表的链式储存结构
  13. 聚类算法Kmens和密度峰值聚类
  14. 计算机图形学【GAMES-101】10、材质(BRDF)(折射、菲涅尔项、微表面模型、各向异性材质)
  15. while(i--)
  16. 堆叠柱状图加上折线图-echart图表(一)
  17. (四)激活函数与loss梯度
  18. Zend Studio 12.5注册码破解
  19. Ubuntu20.04安装visit可视化软件
  20. 【STC8学习笔记】STC8A8K64S4A12串口配置

热门文章

  1. 从gopath到go mod的一次尝试
  2. JS 批量删除(所有页面)
  3. 【次发】985软件学院毕业情况!东南大学软院苏州
  4. unity2019.4.22凹形地面的创造
  5. 《原则》- 做到头脑极度开放读后分析
  6. Navicat for ORACLE 导出数据
  7. React Hooks 18 useEffect 执行2次或多次
  8. sub html编辑器,目前前端开发必备编辑器有哪几款呢?
  9. 什么是CS和BS结构,两种结构的区别
  10. 哈希表查找——等概率情况下查找成功和查找不成功的平均查找长度的计算