1、简述CGI与FASTCGI区别

CGI:公共网关接口

web服务器会根据这次请求的内容,开启一个fork新进程来运行外部的C程序或者脚本等,这个进程会把处理完的数据返回给Web服务器,最后Web服务器把内容发送给用户,fork退出

(用户——Web浏览器——fork(进程)——处理数据完后(数据处理完后fork自动关闭)——Web服务器——用户)
  • CGI可以让客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据
  • CGI描述了客户端和服务器程序之间传输的一种标准
请求流程

Client – (http协议) --> httpd – (cgi协议) --> application server (program file) – (mysql协议) --> mysql

FASTCGI

Web服务器收到用户请求时,不会重新开启一个fork进程(进程在web浏览器启动时就开启了,而且不会退出),web服务器直接把内容传递给这个进程( 进程间通信,但fastcgi使用了别的方式,tcp方式通信),这个进程收到请求后进行处理,把结果返回给web服务器,最后自己接着等待下个进程,不会退出。

(用户——Web浏览器——fork(进程)——处理数据完后(数据处理完后fork不关闭)——Web服务器——用户)

区别:

  • CGI:处理完一个数据后会自动关闭,处理下一个数据要开启一个新的fork
  • fastcgi:处理完数据后不会关闭进程,该进程等待处理下一个数据(要开启tcp端口)

2、 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构

基于wordpress的LAMP架构

实验环境:centos8
一台虚拟机:mysql
一台虚拟机:yum安装https2.4,编译安装PHP7.4

安装http和连接数据库的包

[root@htp-php ~]#dnf -y install httpd  php-json php-mysqlnd

安装 wordpress 包

[root@htp-php ~]#wget https://cn.wordpress.org/latest-zh_CN.zip
[root@htp-php ~]#tar xvf wordpress-5.4.2-zh_CN.tar.gz
[root@htp-php ~]#mv wordpress/* /var/www/html/
[root@htp-php ~]#chown -R apache.apache /var/www/html/

编译安装PHP7.4

下载PHP7.4安装和下载相关依赖包
[root@htp-php ~]#wget https://www.php.net/distributions/php-7.4.26.tar.gz
###解压
[root@htp-php ~]#tar xf php-7.4.26.tar.gz
[root@htp-php ~]#yum install gcc make libxml2-devel bzip2-devel libmcrypt-devel
安装一些插件
[root@htp-php php-7.4.26]#./configure \
> --prefix=/apps/php \
> --enable-mysqlnd \
> --with-mysqli=mysqlnd \
> --with-openssl \
> --with-pdo-mysql=mysqlnd \
> --enable-mbstring \
> --with-freetype-dir \
> --with-jpeg-dir \
> --with-png-dir \
> --with-zlib \
> --with-libxml-dir=/usr \
> --enable-xml \
> --enable-sockets \
> --with-apxs2=/app/httpd/bin/apxs \
> --with-config-file-path=/etc \
> --with-config-file-scan-dir=/etc/php.d \
> --enable-maintainer-zts \
> --disable-fileinfo[root@htp-php php-7.4.26]#make -j 4 && make install
准备PHP的配置文件
[root@htp-php ~]#cd php-7.4.26
[root@htp-php php-7.4.26]#
cp php.ini-production /etc/php.ini
修改httpd配置文件
[root@htp-php ~]#vim /etc/httpd/conf/httpd.conf
#下面加二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#定位至DirectoryIndex index.html, 修改为
DirectoryIndex index.php index.html
重启apache服务
[root@htp-php ~]#apachectl restart

安装数据库

[root@mysql ~]#yum install mariadb-server
[root@mysql ~]#systemctl start mariad
mysql> create database wordpress;
mysql> grant all on wordpress.* to wpuser@'10.0.0.%' identified by "magedu";

基于discuz的LAMP架构

[root@htp-php ~]#unzip Discuz_X3.4_SC_UTF8【20191201】.zip
[root@htp-php ~]#mv upload/ /var/www/html/forum
[root@htp-php ~]#chown -R apache.apache /var/www/html/forum

3、通过loganalyzer展示数据库中的日志

实验环境:
一台:rsyslog日志服务器,IP:172.17.8.8
一台:mariadb数据库服务器,IP:172.17.8.18
一台:客户端,IP:172.17.8.28

在rsyslog服务器上安装连接mysql模块相关的程序包

[root@centos8 ~]#yum install rsyslog-mysql[root@centos8 ~]#rpm -ql rsyslog-mysql
/usr/lib/.build-id
/usr/lib/.build-id/d7
/usr/lib/.build-id/d7/77fc839aa07e92f0a8858cf3f122996436c7df
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog/mysql-createDB.sql

将记录日志的sql脚本复制到数据库服库上

[root@centos8 ~]#scp /usr/share/doc/rsyslog/mysql-createDB.sql 172.17.8.18:/data/back_`date +%F`

安装mysql数据库

[root@centos8 ~]#yum install mariadb-server

创建用户,并赋予日志服务器能连接数据库

[root@centos8 ~]#yum install mariadb-server
mysql>source /data/mysql-createDB.sql
mysql>grant all ON Syslog.* to 'rsyslog'@'172.17.8.%' identified by 'magedu';

配置日志服务器将日志发送至指定数据库

[root@centos8 ~]#vim /etc/rsyslog.conf
#在 MODULES 语言下面添加
module(load="ommysql")
#在RULES语句块加下面行的格式
*.info :ommysql:172.17.8.18,Syslog,rsyslog,magedu

测试

#在日志服务器上生成日志
[root@centos8 ~]#logger "this is a test log"
#在数据库上查询到上面的测试日志
mysql>select count(*) from SystemEvents;

马哥教育——第十四周作业相关推荐

  1. 马哥教育第二十四ftp协议、vsftpd的高级应用、rpc概念及nfs的基本应用、samba及其基本应用...

    1.ftp协议及vsftpd的基本应用          文件共享服务:                  工作在应用层:ftp(file transfer protocol)             ...

  2. 马哥教育N63013-第一周作业

    1.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. Linux是一个诞生于网络.成长于网络且成熟于网络的奇特的操作系统.1991年,芬兰大学生Linus Torvalds萌发了开发一 ...

  3. 马哥教育SRE笔记【作业】week05

    week05 1.简述DNS服务器原理,并搭建主-辅服务器 (1)DNS原理 客户机向本地DNS服务器发起DNS查询(递归查询),请求某域名的IP地址 本地DNS服务器向其他DNS服务器发起迭代查询 ...

  4. 写在马哥教育第八期开始之前

    "你不能剥夺别人思考的权力"!记得读研期间一位导师在谈到"传道.授业.解惑"时特地强调.当时身为学生,并未能完全.真切地理解这位导师表述的真正意图.而当自己独立 ...

  5. python入门到精通需要学多久-从Python入门到精通,你只需要在马哥教育待四个月...

    如果你想选择一种语言来入门编程,那么Python绝对是首选! Python非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.编程简单直接,更适合初学编程者,让其专注于编程逻辑,而不是困 ...

  6. 马哥SRE第九周课程作业

    nginx.jumpserver.tomcat 一. nginx实现全栈SSL.要求http rewrite到https协议. 1.1 实现HSTS 1.2 rewrite重定向 1.3 另外补充re ...

  7. 马哥python培训靠谱吗马哥教育python课程再次革命性升级

    2019 年初,马哥教育迎来一次"大升级"-- 2019 全新Python全能新版课程大纲正式上线.历时半年,走访100+互联网企业,挖掘企业真实需求,腾讯,阿里专家亲自参与设计, ...

  8. 马哥python学费_2019马哥教育课程升级及学费调整通知

    原标题:2019马哥教育课程升级及学费调整通知 亲爱的同学,感谢您一直以来对马哥教育的信赖与陪伴.自成立以来,我们以帮助同学与前沿技术接轨.改变人生命运.实现更好未来为愿景,在Linux运维.Pyth ...

  9. 马哥教育一周学习心得体会

    python学习总结 时间:2018.12.24-2018.12.30      毕业5年多了,行业和岗位换了不少,这次经过深思熟虑,参加马哥教育Python课程面授班.      曾经面临过这样一个 ...

  10. 马哥教育linux面授班37期第一周博客

    马哥教育linux面授班37期第一周博客   2019年5月5号晚,我怀着忐忑和激动的心情坐上了开往了北京的列车,我忐忑自己此行的目的地,马哥教育Linux第37期北京面授班,是因为我接下来五个月的时 ...

最新文章

  1. C# 利用net 命令获取域用户列表
  2. ctrl+f5 强刷新
  3. Dockerfile实战
  4. 缓存插件 Spring支持EHCache缓存
  5. shell test
  6. Scrapy框架的介绍和基本使用
  7. 深入浅出裸测之道---单元测试的单元化
  8. 基础集群部署 - kubernetes-simple
  9. Qpainter事件
  10. 磁带非但没被淘汰,容量还比硬盘大了???
  11. 两轮差速机器人舵机转轴示意图_一种基于两轮差速机器人的运动控制方法与流程...
  12. php image函数,操作压缩图片时,png图片压缩后整个图片变黑
  13. 苹果手机相册怎么分类_电子相册怎么做?用手机app可以剪辑电子相册视频吗?...
  14. NLP领域大语言模型汇总
  15. 论文模型构建的步骤_最新论文:智能安全情报分析模型的构建
  16. 如何把谷歌浏览器中文改成英文版本
  17. 有苦有乐的算法 --- 可能有环也可能无环的两个单链表,判断这两个链表是否相交,如果相交返回相交的第一个节点
  18. 高新技术企业认定之材料错误篇!
  19. 锂电池充放电管理芯片,整套IC组合,长篇文章
  20. 如何打开一个网页做自动化测试

热门文章

  1. Python暂停的几种方法
  2. Java实现从第三方系统单点登录到致远OA
  3. html dom onblur,html的DOM中Event对象onblur事件用法实例
  4. 那些你可能不知道的视频下载奇技淫巧
  5. PMP常考知识点核对单-8.项目质量管理
  6. python生成exe文件
  7. 计算机学情分析案例,小学信息技术课学情分析
  8. 用php循环星期一到星期日,在PHP 4中获取当前星期的星期一的日期
  9. vue:如何实现文字竖排
  10. hp打印机被识别为了usb大容量存储