第14周提交

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即可

 配置数据库

配置完成,查看页面结果

最后修改配置文件权限,免得配置数据泄露

# chmod 600 /var/www/html/log/config.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值