Linux基础及总结17之LAMP

1、部署分离的LAMP,部署到二台服务器上,php加载xcache模块
192.168.2.241  httpd+php-fpm
192.168.2.240  mysql
1)安装httpd和php
      yum -y install httpd php php-mysql php-fpm
2)修改httpd配置文件
      vim /etc/httpd/conf/httpd.conf
      DirectoryIndex index.php index.html #httpd默认首页添加php
      #添加如下几行,用于httpd支持php和proxy代理
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
      ProxyRequests Off
      ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1
      查看是否httpd是否启用了proxy和fcgi模块,如果为启用编辑proxy配置文件启用模块
      vim /etc/httpd/conf.modules.d/00-proxy.conf
      LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
        ![image.png](https://upload-images.jianshu.io/upload_images/10958113-29a3a78582255f17.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3)启动httpd和php-fpm服务
      systemctl  start  httpd php-fpm
image.png
4)在2.240机器上安装数据库,并创建授权登录账号
      yum -y install mariadb-server
      grant all on *.* to 'test'@'192.168.2.%' identified by 'test';
      flush privileges;
5)安装xcache模块,重启httpd、php-fpm服务
      yum -y install php-xcache
      systemctl restart httpd php-fpm  
6)对比测试结果
      ab -c1000 -n1000 http://192.168.2.241/index.php
      加载xcache前
image.png
      加载xcache后
image.png
2、部署wordpress论坛,并实现正常访问登录论坛。
  192.168.2.240    mysql  
  192.168.2.241    httpd+php

1)下所需的所有的软件包
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.41.tar.gz
wget https://www.php.net/distributions/php-7.4.3.tar.xz
wget http://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz
wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
wget https://github.com/WordPress/WordPress/archive/5.3.2.tar.gz
2)源码编译安装httpd
解压软件
tar xf httpd-2.4.41.tar.gz
tar xf apr-1.7.0.tar.gz -C httpd-2.4.41/srclib/
tar xf apr-util-1.6.1.tar.gz -C httpd-2.4.41/srclib/
安装依赖包
yum install gcc pcre-devel openssl-devel expat-devel oniguruma-devel
创建httpd运行用户
useradd -r -M -s /sbin/nologin apache
执行编译并安装
./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --with-included-apr
make -j 4 && make install

    修改httpd配置文件
    vim /app/http24/conf/httpd.conf
    取消如下两行注释,启用httpd proxy代理
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    修改httpd运行的用户和组为apache
    User apache
    Group apache
    DirectoryIndex行增加index.php
    <IfModule dir_module>
        DirectoryIndex index.php index.html
    </IfModule>
    添加如下四行,通过httpd请求php程序代理到php程序处理
    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
    重启httpd服务
    apachectl restart

3)源码编译安装php
解压php源码包 tar xf php-7.3.15.tar.xz
安装编译所需依赖包
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel libzip gcc-c++
执行编译并安装
./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
make && make install
复制配置文件及php-fpm启动脚本,并且添加执行权限设置为开机启动
cp php.ini-production /etc/php.ini
 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
 chmod +x /etc/init.d/php-fpm
 chkconfig --add php-fpm
 chkconfig php-fpm on

image.png

cd /app/php/etc
 cp php-fpm.conf.default php-fpm.conf
 cp php-fpm.d/www.conf.default php-fpm.d/www.conf
4)启动服务,查看程序运行状态
systemctl start php-fpm
image.png

创建php页面,验证httpd解析php
vim /etc/httpd24/htdocs/index.php
<?php
phpinfo();
?>
image.png

5)部署Wordpress
登录数据创建wordpress库和授权账户
create database wordpress;
grant all on wordpress.* to 'wordpress'@'192.168.2.%' identified by 'wordpress';
flush privileges;

  将WordPress程序解压到httpd网站根目录,重名了为wordpress,设置acl权限为apache账户具有读写执行的权限
  tar xf 5.3.2.tar.gz -C /app/httpd24/htdocs/
  cd /app/httpd/htdocs
   mv WordPress-5.3.2/ wordpress
  setfacl -Rm u:apache:rwx wordpress/
  浏览器访问wordpress进入安装向导,执行安装步骤
image.png

image.png

安装完成


image.png

image.png
3、收集apache访问日志,并实现图形化展示。
    10.0.30.121  httpd+php
     10.0.30.122  mysql
1)安装httpd、php
      yum -y install httpd php php-mysql php-gd  rsyslog-mysql 
2)安装mysql添加授权账号
      yum -y install mariadb-server 
      grant all on Syslog.* to 'loguser'@'10.0.30.%' identified by 'loguser';

3)将创建存储rsyslog的库及表的sql语句,复制到mysql数据库节点并执行。
      scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 10.0.30.122:/root
4)修改httpd日志配置
       vim /etc/httpd/conf/httpd.conf
       将CustomLog "logs/access_log" combined日志项修改为
       CustomLog "|/usr/bin/logger -p local5.info" combined
5)修改rsyslog的配置
      vim /etc/rsyslog.conf
      $ModLoad imtcp     #启用tcp协议
      $InputTCPServerRun 514
      $ModLoad ommysql    #加载mysql模块支持
      *.*                 :ommysql:10.0.30.122,Syslog,log,log  #配置日志保存至mysql数据库
      local5.*                                                /var/log/httpd/access_log
      local6.*                                                /var/log/httpd/error_log
      重启httpd、rsyslog服务
      systemctl   restart   httpd  rsyslog
 6)下载并安装loganalyzer日志展示包
        wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.10.tar.gz
        将loganalyzer解压到httpd网站根目录
        tar -xf  loganalyzer-4.1.10.tar.gz -C  /var/www/html/
       cd  /var/www/html/ 
       cp -a loganalyzer-4.1.10/src  ./loganalyzer
        创建配置文件,并修改权限,为保障系统安全loganalyzer安装步骤执行完成后将config.php权限设置为644
        touch  ./loganalyzer/config.php
        chmod 666  ./loganalyzer/config.php
  7)通过浏览器访问并进行安装
        http://10.0.30.121/loganalyzer
image.png

image.png

image.png

image.png

image.png

image.png

通过loganalyzer web页面展示查看httpd的访问日志


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 1.LAMP介绍  LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹阅读 1,036评论 0 1
  • 1 概述 LAMP 目前在CentOS6不支持php-fpm的安装,安装高版本的数据库在centos6上也需要通过...
    ghbsunny阅读 380评论 0 0
  • 1、讲述httpd工作原理以rpm包的方式安装LAMP,配置基于域名的虚拟机主机并部署PhpMyAdmin、Wor...
    stephe_c阅读 577评论 0 1
  • 1、编译安装搭建wordpress 实验使用的是CentOS、Apache、Mariadb、PHP的LAMP构架。...
    N37077ZZ阅读 390评论 0 0
  • 一、LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文...
    endmoon阅读 2,593评论 4 26