TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 网站部署
  3. 正文

实现LAMP架构

2023年12月31日 989点热度 0人点赞 0条评论

实现LAMP

实现CentOS 7 编译安装基于 fastcgi 模式的多虚拟主机的wordpressLAMP架构

环境准备

  • wordpress-6.3.1-zh_CN.tar.gz

  • mariadb-10.4.31-linux-systemd-x86_64.tar.gz

  • apr-1.7.4.tar.bz2

  • apr-util-1.6.3.tar.bz2

  • httpd-2.4.57.tar.bz2

实现步骤

1)mariadb二进制安装

`创建用户`
[root@mysql ~]# useradd -r -s /sbin/nologin mysql
`解压数据库包`
[root@mysql ~]# tar xf mariadb-10.4.31-linux-systemd-x86_64.tar.gz -C /usr/local/
`创建软连接`
[root@mysql ~]# cd /usr/local/
[root@mysql local]# ln -sv mariadb-10.4.31-linux-systemd-x86_64 mysql
`修改用户主`
[root@mysql local]# cd mysql/
[root@mysql mysql]# chown -R root.root ./*
`创建数据文件并授权`
[root@mysql mysql]# mkdir /data/mysql -p
[root@mysql mysql]# chown -R mysql.mysql /data/mysql
​
`配置数据库配置文件`
[root@mysql mysql]# mkdir /etc/mysql
[root@mysql mysql]# cp support-files/wsrep.cnf /etc/mysql/my.cnf
[root@mysql mysql]# vim /etc/mysql/my.cnf
#[mysqld]模块下面添加下面两行
datadir =/data/mysql
skip_name_resolve = ON
​
`#准备PATH变量`
[root@mysql mysql]# vim /etc/profile
#在最后一行加入下面信息
PATH=/usr/local/mysql/bin/:$PATH
​
[root@mysql mysql]# source /etc/profile
`创建数据库文件`
[root@mysql mysql]# yum install libaio -y
[root@mysql mysql]# cd /usr/local/mysql; scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
​
`配置服务开机启动`
[root@mysql mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@mysql mysql]# chkconfig --add mysqld
[root@server mysql]# service mysqld start
`#修改密码`
#[root@server ~]#  /usr/local/mysql/bin/mysql_secure_installation -S /data/mysql/mysql.sock
`登录数据库`
[root@server ~]# mysql  -S /data/mysql/mysql.sock
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.5.22-MariaDB MariaDB Server
​
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
MariaDB [(none)]>  create database wordpress;
Query OK, 1 row affected (0.001 sec)
​
MariaDB [(none)]> grant all on wordpress.* to wpuser@'192.168.139.%' identified by "wppass";
Query OK, 0 rows affected (0.000 sec)
​

2)编译安装 httpd 2.4

`安装依赖包`
[root@httpd src]#  yum -y install gcc make pcre-devel openssl-devel expat-devel bzip2
`#编译安装httpd`
[root@httpd src]# tar xf apr-util-1.6.3.tar.bz2 
[root@httpd src]# tar xf apr-1.7.4.tar.bz2 
[root@httpd src]# tar xf httpd-2.4.57.tar.bz2 
[root@httpd src]# mv apr-1.7.4 httpd-2.4.57/srclib/apr
[root@httpd src]# mv apr-util-1.6.3 httpd-2.4.57/srclib/apr-util
[root@httpd src]# ls httpd-2.4.57/srclib/
apr  apr-util  Makefile.in
[root@httpd src]# cd httpd-2.4.57/
[root@httpd httpd-2.4.57]# ./configure \
--prefix=/apps/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=event
[root@httpd httpd-2.4.57]# make && make install
`准备PATH变量`
[root@httpd ~]# echo 'PATH=/apps/httpd24/bin:$PATH' > /etc/profile.d/lamp.sh
[root@httpd ~]# . /etc/profile.d/lamp.sh
[root@httpd ~]# useradd -s /sbin/nologin -r -u 88 apache
`创建和配置用户和组`
[root@httpd ~]# vim /apps/httpd24/conf/httpd.conf
#找到并修改用户,用户组
User apache
Group apache
`配置systemd管理`
[root@httpd ~]# 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=/apps/httpd24/bin/apachectl start
#ExecStart=/apps/httpd24/bin/httpd $OPTIONS -k start
ExecReload=/apps/httpd24/bin/apachectl graceful
#ExecReload=/apps/httpd24/bin/httpd $OPTIONS -k graceful
ExecStop=/apps/httpd24/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[root@httpd ~]# systemctl enable --now httpd.service

3)编译安装 fastcgi 方式的 php 8.0

`#安装相关包,依赖EPEL源`
[root@httpd ~]# yum -y install gcc libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel
[root@httpd src]# tar xf php-8.0.30.tar.gz 
`#卸载自身的libzip`
[root@httpd src]#yum remove libzip
`#下载`
[root@httpd src]# wget https://libzip.org/download/libzip-1.3.2.tar.gz
[root@httpd src]# tar xvf libzip-1.3.2.tar.gz
[root@httpd src]# cd libzip-1.3.2
[root@httpd libzip-1.3.2]# ./configure && make && make install
`#查看libzip在那个路径`
[root@httpd libzip-1.3.2]# whereis libzip
`#编辑/etc/ld.so.conf这个文件,最后面添加以下内容`
[root@httpd libzip-1.3.2]# vim /etc/ld.so.conf
ldconfig -f
`#执行下面一条命令即可`
[root@httpd libzip-1.3.2]# export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" 
[root@httpd libzip-1.3.2]# cd ../php-8.0.30/
`#编译安装php 8.0`
[root@httpd php-8.0.30]# ./configure --prefix=/apps/php8 \
--with-config-file-path=/etc \
--with-freetype \
--with-gettext \
--with-kerberos \
--with-libxml \
--with-libdir=lib64 \
--with-mysqli=mysqlnd \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--enable-sockets \
--with-zlib \
--with-zip \
-with-bz2 \
--enable-fpm \
--enable-bcmath \
--enable-mbregex \
--enable-mbstring \
--enable-sockets \
--enable-xml \
--enable-cli \
--enable-opcache \
--enable-static \
--enable-mysqlnd
[root@httpd php-8.0.30]# make -j 4 && make install
[root@httpd php-8.0.30]# /apps/php8/bin/php --version
PHP 8.0.30 (cli) (built: Oct  1 2023 17:53:28) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
`#准备php配置文件和启动文件`
[root@httpd php-8.0.30]# cp php.ini-production /etc/php.ini
[root@httpd php-8.0.30]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
[root@httpd php-8.0.30]# cd /apps/php8/etc
[root@httpd etc]# cp php-fpm.conf.default php-fpm.conf
[root@httpd etc]# cd php-fpm.d/
[root@httpd php-fpm.d]# cp www.conf.default www.conf
`#修改进程所有者`
[root@httpd php-fpm.d]# vim www.conf
#找到并修改下面四行
user = apache
group = apache
pm.status_path = /fpm_status
ping.path = /ping
`#支持opcache加速`
[root@httpd data]# mkdir /etc/php.d/
[root@httpd data]# vim /etc/php.d/opcache.ini
[opcache]
zend_extension=opcache.so       
opcache.enable=1
`启动服务`
[root@httpd php-fpm.d]# systemctl daemon-reload
[root@httpd php-fpm.d]# systemctl enable --now php-fpm.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@httpd php-fpm.d]# ss -nlt
State       Recv-Q Send-Q             Local Address:Port                            Peer Address:Port              
LISTEN      0      128                    127.0.0.1:9000                                       *:*                  
LISTEN      0      128                            *:22                                         *:*                  
LISTEN      0      100                    127.0.0.1:25                                         *:*                  
LISTEN      0      128                         [::]:80                                      [::]:*                  
LISTEN      0      128                         [::]:22                                      [::]:*                  
LISTEN      0      100                        [::1]:25                                      [::]:* 

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

[root@httpd php-fpm.d]# vim /apps/httpd24/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.magedu.org
documentroot /data/wordpress
<directory /data/wordpress>
require all granted
</directory>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/wordpress/$1
#实现status和ping页面
ProxyPassMatch ^/(fpm_status|ping)$ fcgi://127.0.0.1:9000/$1
CustomLog "logs/access_wordpress_log" common

5)准备wordpress相关文件

[root@httpd php-fpm.d]# mkdir /data
[root@httpd php-fpm.d]# mkdir /data
[root@httpd php-fpm.d]# cd /usr/local/src/
[root@httpd src]# tar xf wordpress-6.3.1-zh_CN.tar.gz -C /data/
[root@httpd data]# cd /data/ ; setfacl -R -m u:apache:rwx /data/
`测试访问`
[root@httpd data]# vim wordpress/test.php
<?php
phpinfo();
?>
[root@httpd data]# systemctl restart httpd.service 

标签: 暂无
最后更新:2023年12月31日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 实现LAMP
    • 实现CentOS 7 编译安装基于 fastcgi 模式的多虚拟主机的wordpressLAMP架构
      • 环境准备
    • 实现步骤
      • 1)mariadb二进制安装
      • 2)编译安装 httpd 2.4
      • 3)编译安装 fastcgi 方式的 php 8.0
      • 4)修改配置httpd 支持php-fpm
      • 5)准备wordpress相关文件

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号