LAMP与mariadb

1、部署分离的LAMP,部署到二台服务器上,php加载xcache模块

环境准备:
12台服务器,一台192.168.100.7 实现hph+httpd,192.168.100.17实现数据库
2:因xcache-3.2.0不支持最新版的php-7.3.12,只支持到php5.6,所以在另一台主机上(192.168.27.27)实现低版本php的安装,以及xcache的编译加载;

1:安装httpd与php服务
[root@centos7 ~]# yum install -y httpd php-devel php php-mysql gcc

1、编译安装xcache和安装httpd与php服务

xcache-3.2.0.tar.gz 官网上直接下载或者是linux服务上wget 下载地址
[root@centos7 ~]# ll xcache-3.2.0.tar.gz 
-rw-r--r-- 1 root root 173368 Mar  3 00:19 xcache-3.2.0.tar.gz
[root@centos7 ~]# tar -xf xcache-3.2.0.tar.gz
[root@centos7 ~]# cd xcache-3.2.0/
[root@centos7 xcache-3.2.0]# phpize --clean
Cleaning..
[root@centos7 xcache-3.2.0]# phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
[root@centos7 xcache-3.2.0]# ./configure --enable-xcache
[root@centos7 xcache-3.2.0]# make && make install
[root@centos7 xcache-3.2.0]# cp xcache.ini /etc/php.d/
#编写php测试页面
[root@centos7 xcache-3.2.0]# vim /var/www/html/phpinfo.php
<?php
phpinfo();
?>

以下为LAMP软件包的编译实现过程
1、编译安装mariadb-server
(1) 下载mariadb-10.2.25的二制包 mariadb-10.2.25-linux-x86_64.tar.gz

[root@17 ~]# ll mariadb*
-rw-r--r-- 1 root root 457955398 Nov 29 12:58 mariadb-10.2.25-linux-x86_64.tar.gz

(2) 新建mysql用户和数据目录

[root@17 ~]# useradd -r -s /sbin/nologin mysql  创建用户
[root@17 ~]# mkdir /data/mysql  --创建目录
[root@17 ~]# chown mysql:mysql /data/mysql ----修改用户

(3) 准备二进制程序

[root@17 ~]# tar -xvf mariadb-10.2.25-linux-x86_64.tar.gz -C /usr/local/
[root@17 ~]# cd /usr/local/
创建软链接
[root@17 local]# ln -s mariadb-10.2.25-linux-x86_64/ mysql  
[root@17 local]# chown -R root:mysql /usr/local/mysql

(4) 准备配置文件

[root@17mysql]# cd /usr/local/mysql/
[root@17mysql]# mkdir /etc/mysql
[root@17mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
[root@node2 mysql]# vim /etc/my.cnf
#[mysqld]下添加以下四项
[mysqld]
datadir=/data/mysql
innodb_file_per_table=on
skip_name_resolve=on
character_set_server=utf8mb4    #设备字符集

(5) 初始化数据库,生成数据库文件

[root@17mysql]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

(6) 准备服务脚本,并启动服务

[root@17 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@17 mysql]# systemcle enable mysqld
[root@17 mysql]# systemctl start mysqld

(7) 配置PATH环境变量

[root@17 mysql]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@17 mysql]# . /etc/profile.d/mysql.sh

(8) 安全加固,以上安装后数据库是没有密码的,可以使用安全初始化脚本修改密码

测试环境可以不用,但是在正式环境中必须要
[root@17  mysql]# mysql_secure_installation

2、编译安装httpd等服务
(1) 准备相关安装包

[root@node1 data]# ll
total 33672
-rw-r--r-- 1 root root   872238 Dec 13 17:37 apr-1.7.0.tar.bz2
-rw-r--r-- 1 root root   428595 Dec 13 17:37 apr-util-1.6.1.tar.bz2
-rw-r--r-- 1 root root  7030539 Dec 13 17:39 httpd-2.4.39.tar.bz2
-rw-r--r-- 1 root root 15006275 Nov 19 18:20 php-7.3.12.tar.bz2
-rw-r--r-- 1 root root 11133665 Dec 13 17:57 wordpress-5.2.2.tar.gz

(2) 解压源码包,并将 apr 和 apr-util 复制到 httpd 解压包中一起编译

[root@node1 data]# tar -xf apr-1.7.0.tar.bz2 
[root@node1 data]# tar -xf apr-util-1.6.1.tar.bz2 
[root@node1 data]# tar -xf httpd-2.4.39.tar.bz2
[root@node1 data]# mv apr-1.7.0 httpd-2.4.39/srclib/apr
[root@node1 data]# mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util

(3) 先安装相关依赖包

[root@node1 data]# yum install -y gcc pcre-devel openssl-devel expat-devel

(4) 开始编译安装

[root@node1 data]# cd httpd-2.4.39/
[root@node1 httpd-2.4.39]# ./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
[root@node1 httpd-2.4.39]# make && make install

(5) 创建apache用户并修改配置文件中的启动服务时所用的用户和组,默认的用户和组为 daemon

[root@node1 httpd-2.4.39]# useradd -r -s /sbin/nologin apache
[root@node1 httpd-2.4.39]# vim /app/httpd24/conf/httpd.conf 
#找到以下两项,修改用户和组为apache
User apache
Group apache**

(6) 配置PATH变量并启动测试

[root@node1 httpd-2.4.39]# echo 'PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/http24.sh
[root@node1 httpd-2.4.39]# . /etc/profile.d/http24.sh
[root@node1 httpd-2.4.39]# apachectl start
[root@node1 httpd-2.4.39]# curl http://192.168.27.7
<html><body><h1>It works!</h1></body></html>

3、编译安装php-fpm
(1) 准备安装包

[root@node1 data]# ll php-7.3.12.tar.bz2 
-rw-r--r-- 1 root root 15006275 Nov 19 18:20 php-7.3.12.tar.bz2

(2) 安装相关所需包(光盘yum源与EPEL源)

[root@node1 data]# cat /etc/yum.repos.d/base.repo 
[development]
name=dvdbase repo
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7

[aliyunEpel]
name=aliyun epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-$releasever
[root@node1 data]# yum install -y libxml2-devel bzip2-devel libmcrypt-devel
#libmcrypt-devel依赖epel源

(3) 解压源码包,并进行编译安装

[root@node1 data]# tar -jxvf php-7.3.12.tar.bz2
[root@node1 data]# cd php-7.3.12/
[root@node1 data]# ./configure --prefix=/app/php \
> --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
[root@node1 php-7.3.12]# make && make install

(4) 准备配置文件,并修改 www.conf 配置文件中启动用户与组为 apache,默认用户与组为 nobody

[root@node1 php-7.3.12]# cp php.ini-production /etc/php.ini
[root@node1 php-7.3.12]# cd /app/php/etc/
[root@node1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@node1 etc]# cd php-fpm.d/
[root@node1 php-fpm.d]# cp www.conf.default www.conf
[root@node1 php-fpm.d]# vim www.conf
#找到以下两项,将nobody改为apache
user = apache
group = apache

(5) 准备服务启动脚本,并启动 php-fpm 服务

[root@node1 php-fpm.d]# cd /data/php-7.3.12/
[root@node1 php-7.3.12]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@node1 php-7.3.12]# chmod +x /etc/init.d/php-fpm 
[root@node1 php-7.3.12]# chkconfig --add /etc/init.d/php-
[root@node1 php-7.3.12]# service php-fpm start
Starting php-fpm  done
[root@node1 php-7.3.12]# ss -nlt|grep 9000
LISTEN     0      128    127.0.0.1:9000                     *:*

(6) 修改 httpd 的配置文件,让其支持 php

[root@node1 ~]# vim /app/httpd24/conf/httpd.conf

#取消下面两个模块的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

#修改下面行,添加 index.php
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

#添加以下行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
ProxyRequests Off
#以下这行如果是单主机是必需加的,如要实现多虚拟主机,在虚拟主机配置中加即可
#ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

(7) 编写一个php页面,然后重启apache服务,通过浏览器访问 http://192.168.27.27/phpinfo.php 测试php页面能否正常访问

[root@node1 ~]# vim /app/httpd24/htdocs/index.php
<?php
phpinfo();
?>

[root@node1 ~]# apachectl restart

2、部署wordpress论坛,并实现正常访问登录论坛。

注:全部部署在一台机器上,数据库采用miaradb,统一yum安装
1.相关准备工作
关闭防火墙,清空iptables相关规则,更改/etc/seliunx/config为(SELINUX=disabled),调整时间
2.下载相关包
yy mariadb-server php php-fpm php-mysql httpd
3.官网下载wordpress-5.0.9-zh_CN.tar.gz(注意版本)
4.解压
[root@7 ~]#tar xvf wordpress-5.0.9-zh_CN.tar.gz
5.修改配置文件
[root@7 ~/wordpress]#cp wp-config-sample.php   wp-config.php
[root@7 ~/wordpress]#vim  wp-config.php 
<?php
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'wordpress');

/** MySQL数据库密码 */
define('DB_PASSWORD', '123456');

/** MySQL主机 */
define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

6.数据库
[root@7 ~]#systemctl start mariadb   启动mariadb
[root@7 ~]#ss -lnt
LISTEN      0      50                                               *:3306                                                           *:*                  

创建用户权限与连接
[root@7 ~]#mysql
MariaDB [(none)]> grant all on wordpress.* to wordpress@'localhost' identified by '123456';
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

启动
systemctl start httpd
systemctl start php-fpm.service

[root@7 ~]#mv wordpress /var/www/html
[root@7 /var/www/html]#ll  (修改用户和用户组为apache)
drwxr-xr-x 5 1006 1006 4096 Nov 27 10:18 wordpress

浏览器:http://192.168.100.7/wordpress/或者www.boke.com/wordpress
windows 解析:C:\Windows\System32\drivers\etc
192.168.100.7  www.boke.com

在这里插入图片描述

3、收集apache访问日志,并实现图形化展示。

软件:loganalyzer-4.1.7.tar.gz
(1) 修改node1上 /app/httpd24/conf/httpd.conf 文件中的访问日志的配置,使其重定向至 rsyslog

[root@node1 data]# vim /app/httpd24/conf/httpd.conf 

#CustomLog /app/httpd24/logs/blog.access_log combined    #找到此项,改为下面的
CustomLog "| /usr/bin/logger -p local6.info" combined  #将日志定向到本地local6

(2) 修改 rsyslog的配置文件

[root@node1 data]# vim /etc/rsyslog.conf

# Save boot messages also to boot.log    #找到此处,添加以下内容
local6.*                                                /var/log/blog_access.log

(3) 重启 httpd 服务与 rsyslog 服务

[root@node1 data]# apachectl restart
[root@node1 data]# systemctl restart rsyslog

(4) 在node1上安装mysql模块相关的程序包,并将数据库创建sql文件传到node2

[root@node1 data]# yum install rsyslog-mysql
[root@node1 data]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
[root@node1 data]# scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.27.17:/data

(5) 在node2上导入sql文件,并新建用于连接rsyslog的用户

[root@node2 ~]# mysql < /data/mysql-createDB.sql
[root@node2 ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 42
Server version: 10.2.25-MariaDB-log 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)]> grant all on Syslog.* to syslog@'192.168.27.%' identified by 'centos';
Query OK, 0 rows affected (0.00 sec)

(6) 配置node1上rsyslog的配置文件 /etc/rsyslog.conf,添加模块,使日志保存到mysql中

[root@node1 data]# vim /etc/rsyslog.conf
#### MODULES #### #找到此处,在其下添加模块
$ModLoad ommysql

#### RULES ####  #找到此处,在其下添加数据库连接信息
##facility.priority :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD
local6.*                                                :ommysql:192.168.27.17,Syslog,syslog,centos

(7) 安装LogAnalyzer

[root@node1 data]# ll loganalyzer-4.1.7.tar.gz 
-rw-r--r-- 1 root root 2869395 Dec 18 19:09 loganalyzer-4.1.7.tar.gz
[root@node1 data]# tar -xf loganalyzer-4.1.7.tar.gz 
[root@node1 data]# cp -a loganalyzer-4.1.7/src/ /app/httpd24/htdocs/logs
[root@node1 data]# cd /app/httpd24/htdocs/logs
[root@node1 logs]# touch config.php
[root@node1 logs]# chmod 666 config.php

(8) 在 httpd.conf 文件中添加虚拟主机设置

[root@node1 logs]# vim /app/httpd24/conf/httpd.conf

<VirtualHost *:80>
ServerName logs.blog.com
DocumentRoot /app/httpd24/htdocs/logs
<Directory /app/httpd24/htdocs/logs>
Options none
Require all granted
</Directory>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/logs/$1
</VirtualHost>

(9) 配置loganalyzer,先重启相关服务,然后用浏览器进行安装配置,在浏览器输入 http://192.168.27.17/logs 开始安装配置

[root@node1 logs]# systemctl restart rsyslog
[root@node1 logs]# apachectl restart

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值