两台主机:
软件版本:
//将实验所需数据库二进制源码包传入虚拟机
mariadb-10.2.27-linux-x86_64.tar.gz
//解包到指定目录方便管理
tar xf mariadb-10.2.27-linux-x86_64.tar.gz -C /usr/local/
//创建软链接
ln -s /usr/local/mariadb-10.2.27-linux-x86_64/ /usr/local/mysql
//创建服务所需用户
useradd -s /sbin/nologin -d /data/mysql -r -u 306 mysql
//修改目录属组、属主
chown -R root.root /usr/local/mysql/
//安装常见依赖包
yum -y install libaio
//生成数据库
/usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql --user=mysql
//准备配置文件并备份原文件
cp -b /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
------------------------------
//编辑配置文件指定数据库目录
vim /etc/my.cnf
//添加文件内容如下
[mysqld]
datadir=/data/mysql
-------------------------------
//制作启动服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#可查看已经注册了哪些服务
chkconfig --list
//添加mysqld至启动项
chkconfig --add mysqld
//添加PATH变量
echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
//加载配置文件
source /etc/profile.d/mysql.sh
//启动mysql服务
systemctl start mysqld
//进入数据库
mysql
//创建数据库
CREATE DATABASE wordpress;
CREATE DATABASE discuz;
//创建用户并授权
GRANT ALL ON wordpress.* TO wordpress@'192.168.26.%' IDENTIFIED BY 'wordpress';
GRANT ALL ON discuz.* TO discuz@'192.168.26.%' IDENTIFIED BY 'discuz';
//将实验所需的httpd相关安装包传进虚拟机
apr-1.7.0.tar.bz2
apr-util-1.6.1.tar.bz2
httpd-2.4.41.tar.gz
//解包
tar xf apr-1.7.0.tar.bz2
tar xf apr-util-1.6.1.tar.bz2
tar xf httpd-2.4.41.tar.gz
//合并目录并改名,一起进行编译
mv apr-1.7.0 httpd-2.4.41/srclib/apr
mv apr-util-1.6.1 httpd-2.4.41/srclib/apr-util
//下载相关依赖包
yum -y install gcc pcre-devel openssl-devel expat-devel
//进入指定目录,准备编译安装
cd httpd-2.4.41/
//编译
./configure \
--prefix=/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 4 && make install
//添加变量
echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/http.sh
//加载配置文件
source /etc/prefile.d/http.sh
//创建apache服务用户(生产环境要指明UID,并且UID要统一)
useradd -s /bin/nologin -r -u 88 apache
--------------------------------------
//修改http配置文件
vim /app/httpd24/conf/httpd.conf
#修改文件内容如下
//修改以apache用户运行
#User daemon
#Group daemon
User apache
Group apache
//修改网站页面存储路径(根据实际需求自定义)
#DocumentRoot "/app/httpd24/htdocs"
#
DocumentRoot "/data/app/web"
<Directory "/data/app/web">
//顺便取消注释修改Servernamename项,防止启动服务时报提示
#ServerName www.example.com:80
ServerName bokebi.cn:80 #改什么名字都可以
--------------------------------------
//启动服务
apachectl start
----------------------------------------
//修改为event模式(centos7默认为prefork模式)
vim /app/httpd24/conf/httpd.conf
//修改文件内容如下
LoadModule mpm_event_module modules/mod_mpm_event.so #取消注释即开启
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so #加上注释即关闭
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
---------------------------------------------------------------
#可根据实际生产环境需求调节以下配置项
//可修改配置文件
vim /app/httpd24/conf/extra/httpd-mpm.conf
//配置项
<IfModule mpm_worker_module>
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 0
</IfModule>
----------------------------------------------------------------
#根据/app/httpd24/conf/httpd.conf文件定义的网站页面存储路径创建所需目录
//创建目录
mkdir -p /data/app/web
//创建测试所需页面
vim /data/app/web/test.html
//文件内容为
<h1><center>bokebi.cn</center></h1>
<h2><center>bokebi.cn</center></h2>
<h3><center>bokebi.cn</center></h3>
<h4><center>bokebi.cn</center></h4>
<h5><center>bokebi.cn</center></h5>
<h6><center>bokebi.cn</center></h6>
------------------------------------------------------------------
php7.3和php7.4编译安装有些许差距
本次实验编译的是php7.4
百度清华大学yum源
选择remi源列表下的:
[维护的企业Linux(RHEL / CentOS /其他克隆)]
Enterprise Linux 8-存储库自动配置软件包: remi-release-8.rpm
Enterprise Linux 7-存储库自动配置软件包: remi-release-7.rpm #选择这项右击复制链接地址
Enterprise Linux 6-存储库自动配置软件包: remi-release-6.rpm
------------------------------------------------------------------------------------
//配置清华php源
yum -y install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
//提前安装依赖包(php7.4)
yum -y install gcc libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel
(php7.3为)
yum install gcc libxml2-devel bzip2-devel libmcrypt-devel
-------------------------------------------------------------------------
//将实验所需php安装包传入虚拟机
php-7.4.0.tar.xz
//解包
tar xf php-7.4.0.tar.xz
//进入指定目录,准备进行编译和制作安装(php7.4)
cd php-7.4.0/
//开始编译
./configure \
--prefix=/app/php74 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-zlib \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-maintainer-zts \
--disable-fileinfo
-----------------------------------------------------
(php7.3为)
./configure --prefix=/app/php73 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-maintainer-zts \
--disable-fileinfo
-----------------------------------------------------
//开始制作安装
make -j 4 && make install
//生成变量
echo "PATH=/app/php/bin:$PATH" > /etc/profile.d/php.sh
//准备php配置文件
cp /php-7.4.0/php.ini-production /etc/php.ini
//准备fastcgi(fpm)主配置文件(改名=启用)
cp /app/php74/etc/php-fpm.conf.default /app/php74/etc/php-fpm.conf
//准备子配置文件
cp /app/php74/etc/php-fpm.d/www.conf.default /app/php74/etc/php-fpm.d/www.conf
------------------------------------------
//修改子配置文件,以apache用户身份运行
vim /app/php74/etc/php-fpm.d/www.conf
//修改内容为下
;user = nobody
;group = nobody
user = apache
group = apache
//开启状态页
; Default Value: not set
pm.status_path = /status #取消注释即可
//开启ping测试
; Default Value: not set
ping.path = /ping #取消注释即可
--------------------------------------------
//准备启动脚本
updatedb #更新slocate数据库
locate php-fpm #定位php-fpm
//制作启动文件
cp /root/php-7.4.0/sapi/fpm/php-fpm.service /usr/lib/systemd/system
//重新加载文件
systemctl daemon-reload
--------------------------------------------------------------------
//编辑http配置文件
vim /app/httpd24/conf/httpd.conf
#修改以及增加内容如下
//启动代理(124,1)
#LoadModule remoteip_module modules/mod_remoteip.so
LoadModule proxy_module modules/mod_proxy.so #去掉注释启用
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #去掉注释启用
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
//目录索引index.php(265,22)
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
//新增加以下信息
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off
//开启多虚拟主机和status
<virtualhost *:80>
servername wordpress.bokebi.org
documentroot /data/app/web/wordpress/
<directory /data/app/web/wordpress/>
require all granted
</directory>
ProxyPassMatch ^/(status|ping)$ fcgi://127.0.0.1:9000/$1
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/app/web/wordpress/$1
CustomLog "logs/access_wordpress_log" common
</virtualhost>
<virtualhost *:80>
servername discuz.bokebi.org
documentroot /data/app/web/discuz
<directory /data/app/web/discuz>
require all granted
</directory>
ProxyPassMatch ^/(status|ping)$ fcgi://127.0.0.1:9000/$1
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/app/web/discuz/$1
CustomLog "logs/access_discuz_log" common
</virtualhost>
-----------------------------------------------------------------------------
//创建部署软件需要的目录
mkdir /data/app/web/discuz
-----------------------------------------------------------------------------
#准备opcache
//查找opcache.so模块路径
locate opcache.so
/app/php74/lib/php/extensions/no-debug-zts-20190902/opcache.so
/root/php-7.4.0/ext/opcache/.libs/opcache.so
/root/php-7.4.0/modules/opcache.so
#这三个文件是一样的只是在不同目录里作用不同
[root@centos7 wordpress]$ll /app/php74/lib/php/extensions/no-debug-zts-20190902/opcache.so
-rwxr-xr-x 1 root root 2491984 Dec 15 17:15 /app/php74/lib/php/extensions/no-debug-zts-20190902/opcache.so
[root@centos7 wordpress]$ll /data/php-7.4.0/ext/opcache/.libs/opcache.so
-rwxr-xr-x 1 root root 2491984 Dec 15 17:15 /data/php-7.4.0/ext/opcache/.libs/opcache.so
[root@centos7 wordpress]$ll /data/php-7.4.0/modules/opcache.so
-rwxr-xr-x 1 root root 2491984 Dec 15 17:15 /data/php-7.4.0/modules/opcache.so
//准备加速插件文件
mkdir /etc/php.d
//编辑文件
vim /etc/php.d/opcache.ini
//文件内容
[opcache]
zend_extension=/data/php-7.4.0/modules/opcache.so
opcache.enable=1 #1为开启 #0为关闭
--------------------------------------------------------------------------------
#部署wordpress和discuz
//将wordpress和discuz安装包传至虚拟机
wordpress-5.3-zh_CN.tar.gz
Discuz_X3.4_SC_UTF8【20191201】.zip
//wordpress解包
tar xf wordpress-5.3-zh_CN.tar.gz -C /data/ap/web
//discuz解包
unzip Discuz_X3.4_SC_UTF8【20191201】.zip -d /opt
//移动至指定目录
mv /opt/upload/* /data/discuz/
//给wordpress目录权限
chown -R apache.apache /data/app/web/wordpress/
//给discuz目录权限
chown -R apache.apache /data/app/web/discuz/