第十四周作业

1、简述CGI与FASTCGI区别

CGI收到请求时会fork一个新进程,处理完成后销毁这个进程。FastCGI启动时生成若干个进程,等待收处理请求,处理完后不销毁,继续等待下一个请求。FastCGI减少了创建和销毁进程的开销,处理效率比较高。
2、 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构

本内容采用两台服务器一台Centos7 安装mariadb,另一台centos8安装web相关组件(CentOS8yum的php版本比较高免去编译安装的麻烦)

准备数据库服务器

yum -y install mariadb-server

# systemctl enable --now mariadb

mysql_secure_installation 安全设置

生产环境需要根据自己情况配置数据存放路径

进入mysql

准备wordpress的数据库和用户并授权

> create databases wordpress;

> create user wordpress@'10.0.0.%' identified by '123456';

> grant all on wordpress.* to wordpress@'10.0.0.%';

准备discuz的数据库和用户并授权

> create database discuz;

> create user discuz@'10.0.0.%' identified by '123456';

> grant all on discuz.* to discuz@'10.0.0.%';

进入WEB服务器完成以下配置

下载安装包

浏览器下载https://www.dismall.com/thread-73-1-1.html

wget https://cn.wordpress.org/latest-zh_CN.tar.gz

安装

yum -y install httpd php php-fpm php-mysqlnd

检查php版本,确认与wordpress、discuz环境要求一致,最新版本的wordpress要求php7.4比Centos8 yum带的包高,需要其他方式安装php才行,我采用wordpress5.2版本。

# php --version

vim /etc/php-fpm.d/www.conf

listen = 9000

# unzip Discuz_X3.4_SC_UTF8_20211124.zip

# chown apache:apache /var/www/html/discuz -R

# tar -xzf wordpress-5.2.13-zh_CN.tar.gz

# cp wordpress /var/www/html/ -R

# chown apache:apache /var/www/html/wordpress -R

# cat > /etc/httpd/conf.d/wordpress.conf

<VirtualHost *:80>

servername wordpress.testcompany.local

DocumentRoot /var/www/html/wordpress

<Directory /var/www/html/wordpress >

require all granted

</Directory>

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/wordpress/$1

</VirtualHost>

# cat /etc/httpd/conf.d/discuz.conf

<VirtualHost *:80>

servername discuz.testcompany.local

DocumentRoot /var/www/html/discuz

<Directory /var/www/html/discuz>

require all granted

</Directory>

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/discuz/$1

</VirtualHost>

准备测试,浏览器测试的主机配置host文件,如果是windows在c:\windows\system32/drives/hosts

$ cat /etc/hosts

10.0.0.8 wordpress.testcompany.local

10.0.0.8 discuz.testcompany.local

打开浏览器开始部署

访问:http://wordpress.testcompany.local/

 

 http://discuz.testcompany.local/

 

 


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

先把日志存入mysql数据库

安装包

# yum -y install rsyslog-mysql rsyslog

找到安装包中的sql脚本复制到数据库服务器并导入

# rpm -ql rsyslog-mysql | grep sql

# scp /usr/share/doc/rsyslog/mysql-createDB.sql root@10.0.0.17:/data

[root@centos7_17 ~]# mysql -u root -p < /data/mysql-createDB.sql

进入mysql先在准备好的mysql数据库服务器中创建日志数据库、用户、授权

MariaDB [(none)]> create user loguser@'10.0.0.%' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all on Syslog.* to loguser@'10.0.0.%' ;

安装loganalyzer 及web组件

[root@centos8 ~]#yum -y install httpd php-fpm php-mysqlnd php-gd

[root@centos8 ~]#systemctl enable --now httpd php-fpm

[root@centos8 data]# tar xzf loganalyzer-4.1.12.tar.gz

[root@centos8 data]# mv loganalyzer-4.1.12/src /var/www/html/log

[root@centos8 data]# chown apache:apache /var/www/html/log

[root@centos8 data]# touch /var/www/html/log/config.php
[root@centos8 data]# chmod 666 /var/www/html/log/config.php

配置httpd站点配置文件也可又不使用配置,走根目录

[root@centos8 conf.d]# cat loganalyzer.conf

<VirtualHost *:80>

servername log.testcompany.local

DocumentRoot /var/www/html/log

<Directory /var/www/html/log>

require all granted

</Directory>

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/log/$1

</VirtualHost>

配置完成后重启服务

systemctl restart httpd

访问页面

http://log.testcompany.local 点击here安装,截图关键页面,其他页面直接next即可

 

posted @   N64_glc  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示