【就业班作业】【第十七周】部署wordpress论坛,并实现正常访问登录论坛。

一、概述

fastcgi的方式是,web服务器收到一个请求时,不会重新fork一个进程(因为这个进程在web服务器启动时就开启了,而且不会退出),web服务器直接把内容传递给这个进程(进程间通信,但fastcgi使用了别的方式,tcp方式通信),这个进程收到请求后进行处理,把结果返回给web服务器,最后自己接着等待下一个请求的到来,而不是退出.
Client -- http --> httpd --> libphp5.so () -- mysql --> MySQL server
Client -- http --> httpd -->fastcgi-- mysql --> MySQL server

二、环境

两台主机:

一台部署httpd和php程序;另一台部署maridb数据库;

三、部署过程:

1、部署和数据数据库

二进制安装
#配置用户
useradd -r -s /sbin/nologin -d /data/mysql mysql

#配置所需的文件夹
mkdir /data/app/mysql
mkdir /data/app/mysqldata
chown -R mysql.mysql /data/app/mysql
chown -R mysql.mysql /data/app/mysqldata

#准备安装源文件
[root@centos7-mysql-server /]# cd /data/src/
wget -c https://mirrors.ustc.edu.cn/mariadb//mariadb-10.5.8/bintar-linux-systemd-x86_64/mariadb-10.5.8-linux-systemd-x86_64.tar.gz
[root@centos7-mysql-server src]# ll
total 403828
-rw-r--r-- 1 root root  71997847 Nov 18 18:29 mariadb-10.2.25.tar.gz
-rw-r--r-- 1 root root 341518238 Nov 18 10:24 mariadb-10.5.8-linux-systemd-x86_64.tar.gz

#解压文件
tar -xf mariadb-10.5.8-linux-systemd-x86_64.tar.gz -C /data/app/mysql
ln -sv /data/local/mariadb-10.5.8-linux-systemd-x86_64/ /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql

#配置环境变量
echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh

#安装初始化数据库
./mariadb-install-db --datadir=/data/app/mysqldata/ --user=mysql

#设置数据配置文件
cat /etc/my.cnf
[mysqld]
datadir=/data/app/mysqldata
socket=/data/app/mysql/mysql.sock
skip_name_resolve = on
log-bin=/data/app/mysqldata/mysql-bin
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
[client]
socket = /data/app/mysqldata/mysql.sock
!includedir /etc/my.cnf.d

#设置服务启动配置
cp /usr/local/mysql/support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service
systemctl daemon-reload
systemctl enable mariadb
systemctl start mariadb

#初始安全配置
mysql_secure_installation  

#授权
mysql
create database wordpressdb;
create database discuzdb;
grant all on wordpressdb.* to 'wordpressuser'@'192.168.0.%' identified by 'sankeya';
grant all on discuzdb.* to 'discuzuser'@'192.168.0.%' identified by 'sankeya';

show grants for 'wordpressuser'@'192.168.0.%'\G
show grants for 'discuzuser'@'192.168.0.%'\G
#revoke delete on  discuzdb.* from 'discuzuser'@'192.168.0.%'

2、部署和配置HTTPD

编译安装http2.4
安装httpd-2.4,依赖于apr-1.4+, apr-util-1.4+

#报错时考虑升级内核文件(3.10.0-1160.11.1.el7.x86_64)
报错内容:Function not implemented: AH00141: Could not initialize random number generator。
uname -a
yum -y update

#下载依赖的安装环境以及源码包
yum -y install gcc make pcre-devel openssl-devel expat-devel bzip2 lynx
wget https://downloads.apache.org//apr/apr-1.7.0.tar.bz2
wget https://downloads.apache.org//apr/apr-util-1.6.1.tar.bz2
wget http://archive.apache.org/dist/httpd/httpd-2.4.38.tar.bz2 

#解压源码包至指定目录
tar -xvf apr-1.7.0.tar.bz2 ; tar -xvf apr-iconv-1.2.2.tar.bz2 ; tar -xvf apr-util-1.6.1.tar.bz2 ;tar -xvf  httpd-2.4.38.tar.bz2
mv apr-1.7.0 httpd-2.4.38/srclib/apr
mv apr-util-1.6.1 httpd-2.4.38/srclib/apr-util

#配置参数及开始编译
cd httpd-2.4.38/
./configure \
--prefix=/data/app/httpd24 \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-included-apr \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork 

make -j 2 && make install && echo $?

移除历史编译生成的文件
make clean   //保留配置文件
make mrproper  //清理所有生成的文件,包括config
make distclean  //同mrproper

#新建服务系统账号
useradd -s /sbin/nologin -r apache -d /data/app/httpd24

#配置服务运行账号
vi /data/app/httpd24/conf/httpd.conf
user apache
group apache

#配置支持php类型
vi /data/app/httpd24/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html

#配置服务二进制环境变量
echo "PATH=/data/app/httpd24/bin:$PATH" > /etc/profile.d/httpd24.sh

#配置关联帮助文档
vi /etc/man_db.conf
MANDATORY_MANPATH      /data/app/httpd24/man

#设置开机启动
vi /etc/rc.d/rc.local
/app/httpd24/bin/apachectl start
chmod +x /etc/rc.d/rc.local

查看静态编译的模块:httpd -l
查看静态编译及动态装载的模块:httpd -M

3、部署和配置PHP

#官网下载
www.php.net
cd /data/src/
wget -c https://www.php.net/distributions/php-8.0.1.tar.xz

#解压文件
cd /data/src/ 
tar xf php-8.0.1.tar.xz ./

#编辑perl安装相关包,依赖EPEL源 (缺少包使用yum search PacketsName查询安装)
yum -y install gcc libxml2-devel bzip2-devel libmcrypt-devel oniguruma* libsqlite3x* perl

vi /data/app/httpd24/bin/apxs
修改:#!/replace......
为:#!/usr/bin/perl

#配置编译参数及配置文件
cd /data/src/php-8.0.1
./configure \
--prefix=/data/app/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=/data/app/httpd24/bin/apxs \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--disable-fileinfo

make -j 2 && make install && echo $?

#为php提供配置文件
cp /data/src/php-8.0.1/php.ini-production /etc/php.ini

4、部署wordpress

#下载解压wordpress
wget -c https://cn.wordpress.org/latest-zh_CN.zip
cd /data/app/src
unzip wordpress-5.2.3-zh_CN.zip
mv wordpress /data/app/httpd24/htdocs/

#修改wordpress目录权限
chown -R apache.apache /data/app/httpd24/wordpress/
或
setfacl –R –m u:apache:rwx /data/app/httpd24/wordpress/

#为wordpress提供安装配置模块
cp /data/app/httpd24/htdocs/wordpress/wp-config-sample.php /data/app/httpd24/htdocs/wordpress/wp-config.php

#打开服务器192.168.0.106/wordpress进行页面安装

4、启动和验证服务

(结束)

posted @ 2021-01-11 15:27  sankeya  阅读(248)  评论(0编辑  收藏  举报