IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构 -> 正文阅读

[系统运维]编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构

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

环境准备:

IP服务器及操作系统描述
10.0.0.7CentOS-7.9httpd+php(fastcgi模式)
10.0.0.17MariaDB-10.4.22(通用二进制格式)mariadb 服务器

软件版本:

  • apr-1.7.0.tar.bz2
  • apr-util-1.6.1.tar.bz2
  • httpd-2.4.46.tar.bz2
  • php-7.4.28.tar.gz
  • wordpress-5.4.1-zh_CN.tar.gz
  • Discuz_X3.4_SC_UTF8_20210630.zip

实现步骤

1、为wordprss和discuz应用准备数据库和用户帐号

[root@centos7 ~]#vim /etc/my.cnf
skip_name_resolve = ON
[root@centos7 ~]#systemctl restart mysqld

MariaDB [mysql]> create database wordpress;
MariaDB [mysql]> create database discuz;
MariaDB [mysql]> grant all on wordpress.* to wordpress@'10.0.0.%' identified by "wppass";
MariaDB [mysql]> grant all on discuz.* to discuz@'10.0.0.%' identified by 'dispass';
MariaDB [mysql]> FLUSH PRIVILEGES;

2、编译安装 httpd 2.4

#安装相关包
[root@centos7 ~]#yum install gcc pcre-devel openssl-devel expat-devel -y

#编译安装httpd
[root@centos7 ~]#tar xvf apr-1.7.0.tar.bz2
[root@centos7 ~]#tar xvf apr-util-1.6.1.tar.bz2
[root@centos7 ~]#tar xf httpd-2.4.46.tar.bz2
[root@centos7 ~]#mv apr-1.7.0 httpd-2.4.46/srclib/apr
[root@centos7 ~]#mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util

[root@centos7 ~]#cd httpd-2.4.46/
[root@centos7 httpd-2.4.46]#./configure \
> --prefix=/apps/httpd \
> --enable-so \
> --enable-ssl \
> --enable-cgi \
> --enable-rewrite \
> --with-zlib \
> --with-pcre \
> --with-included-apr \
> --enable-modules=most \
> --enable-mpms-shared=all \
> --with-mpm=event

[root@centos7 httpd-2.4.46]#make && make install

#准备PATH变量
[root@centos7 httpd-2.4.46]#vim /etc/profile.d/lamp.sh
#!/bin/bash
PATH=/apps/httpd/bin:$PATH
[root@centos7 httpd-2.4.46]#. /etc/profile.d/lamp.sh

#创建和配置用户和组
[root@centos7 httpd-2.4.46]#useradd -s /sbin/nologin -r -u 88 apache
[root@centos7 httpd-2.4.46]#vim /apps/httpd/conf/httpd.conf
User apache
Group apache

#修改为event模式,编译时已指定,此项不再需修改,可选项
[root@centos7 httpd-2.4.46]#vim /apps/httpd/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

[root@centos7 httpd-2.4.46]#httpd -M |grep mpm
 mpm_event_module (shared)

[root@centos7 httpd-2.4.46]#apachectl start

[root@centos7 httpd-2.4.46]#vim /usr/lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)

[Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/httpd
#ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
ExecStart=/apps/httpd/bin/apachectl start
#ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
ExecReload=/apps/httpd/bin/apachectl graceful
ExecStop=/apps/httpd/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[root@centos7 httpd-2.4.46]#systemctl daemon-reload
[root@centos7 httpd-2.4.46]#systemctl restart httpd.service

3、编译安装 fastcgi 方式的 php 7.4

#安装相关包,依赖EPEL源
#php 7.4 相关包
[root@centos7 httpd-2.4.46]#yum -y install gcc libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel

#php7.4 编译
[root@centos7 httpd-2.4.46]#cd
[root@centos7 ~]#tar xvf php-7.4.28.tar.gz
[root@centos7 ~]#cd php-7.4.28/
[root@centos7 php-7.4.28]#./configure \
> --prefix=/apps/php \
> --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

[root@centos7 php-7.4.28]#make -j 2 && make install

#准备PATH变量
[root@centos7 php-7.4.28]#vim /etc/profile.d/lamp.sh
PATH=/apps/php/bin:/apps/httpd/bin:$PATH
[root@centos7 php-7.4.28]#. /etc/profile.d/lamp.sh
[root@centos7 php-7.4.28]#php --version
PHP 7.4.28 (cli) (built: Mar 12 2022 14:55:19) ( ZTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

#准备php配置文件和启动文件
[root@centos7 php-7.4.28]#cp php.ini-production /etc/php.ini
[root@centos7 php-7.4.28]#cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
[root@centos7 php-7.4.28]#cd /apps/php/etc
[root@centos7 etc]#cp php-fpm.conf.default php-fpm.conf
[root@centos7 etc]#cd php-fpm.d/
[root@centos7 php-fpm.d]#cp www.conf.default www.conf

#修改进程所有者
[root@centos7 php-fpm.d]#pwd
/apps/php/etc/php-fpm.d
[root@centos7 php-fpm.d]#vim www.conf
user = apache
group = apache

#支持status和ping页面
pm.status_path = /fpm_status
ping.path = /ping

#支持opcache加速
[root@centos7 php-fpm.d]#mkdir /etc/php.d/
[opcache]
zend_extension=opcache.so
opcache.enable=1

[root@centos7 php-fpm.d]#systemctl daemon-reload
[root@centos7 php-fpm.d]#systemctl enable --now php-fpm.service

4、修改配置 httpd 支持 php-fpm

[root@centos7 php-7.4.28]#vim /apps/httpd/conf/httpd.conf
#取消下面两行的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#修改下面行
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

#加下面两行
AddType application/x-httpd-php .php
ProxyRequests Off

#实现第一个虚拟主机
<virtualhost *:80>
servername blog.linux2022.com
documentroot /data/blog
<directory /data/blog>
require all granted
</directory>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/blog/$1
#实现status和ping页面
ProxyPassMatch ^/(fpm_status|ping)$ fcgi://127.0.0.1:9000/$1
CustomLog "logs/access_blog_log" common
</virtualhost>

#第二个虚拟主机
<virtualhost *:80>
servername forum.linux2022.com
documentroot /data/forum
<directory /data/forum/>
require all granted
</directory>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/forum/$1
CustomLog "logs/access_forum_log" common
</virtualhost>

[root@centos7 php-7.4.28]#systemctl restart httpd.service

5、准备wordpress和discuz 相关文件

[root@centos7 php-fpm.d]#cd /data/
[root@centos7 data]#mkdir blog forum
[root@centos7 ~]#tar xf latest-zh_CN.tar.gz
[root@centos7 ~]#mv wordpress/* /data/blog/
[root@centos7 ~]#mv Discuz_X3.4_SC_UTF8_20210630.zip /opt
[root@centos7 ~]#cd /opt
[root@centos7 opt]#unzip Discuz_X3.4_SC_UTF8_20210630.zip
[root@centos7 opt]#mv upload/* /data/forum/
[root@centos7 opt]#chown -R apache.apache /data/*

6、测试访问

[root@centos7 ~]#vim /etc/hosts
10.0.0.7 blog.linux2022.com forum.linux2022.com
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:13:16  更:2022-03-13 22:14:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:21:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码