实验-----在centos6上编译lamp基于fpm模式的应用wordpress

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

实验:在centos6上编译lamp基于fpm模式的应用wordpress,并且实现xcache加速

 

软件版本:

      apr-1.6.2.tar.gz       mariadb-5.5.57-linux-x86_64.tar.gz    

      apr-util-1.6.0.tar.gz     xcache-3.2.0.tar.gz

      php-5.6.31.tar.xz        httpd-2.4.28.tar.bz2

      wordpress-4.8.1-zh_CN.tar.gz

必要的包:

      "development tools"                    开发环境包组

      openssl-devel expat-devel pcre-devel       httpd需要的包

      libxml2-devel bzip2-devel libmcrypt-devel     php需要的包

步骤:

1、源码编译安装Httpd2.4

具体含义请参考之前的博文:http://13150617.blog.51cto.com/13140617/1974733

  ①安装包组及包

   yum groupinstall "development tools"   安装开发包组

   yum install openssl-devel expat-devel pcre-devel   安装必要的包

 

  ②下载软件并解压

   tar xvf apr-1.6.2.tar.gz

   tar xvf apr-util-1.6.0.tar.gz

   tar xvf httpd-2.4.28.tar.bz2

   cp -r apr-1.6.2 httpd-2.4.28/srclib/apr

   cp -r apr-util-1.6.0 httpd-2.4.28/srclib/apr-util   将apr和apr-util放到同一指定目录下

  ③编译安装httpd

    cd httpd-2.4.28/

    ./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       

  ④将httpd的命令路径加入PATH变量,方便使用(不需要每次都使用绝对路径)

    vim /etc/profile.d/lamp.sh             

    PATH=/app/httpd24/bin/:$PATH

   . /etc/profile.d/lamp.sh   执行脚本使其生效

  ⑤启动服务

    apachectl start

  ⑥配置成服务

   cp /etc/init.d/httpd /etc/init.d/httpd24   

    vim /etc/init.d/httpd24

        apachectl=/app/httpd24/bin/apachectl

        httpd=${HTTPD-/app/httpd24/bin/httpd}

      pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}

      lockfile=${LOCKFILE-/var/lock/subsys/httpd24}     

    chkconfig --add httpd24

    service http24 restart  重启服务

   查看已打开80端口:ss -ntl

0646c881e676853fdfc64e3ba00cc3ef.jpg

2、二进制安装mariadb

具体含义请参考之前的博文:http://13150617.blog.51cto.com/13140617/1971776

  ①下载二进制包并解压

tar xvf mariadb-10.2.9-linux-x86_64.tar.gz -C /usr/local/  路径必须在这里

  ②将解压后的包改名为mysql

cd /usr/local

ln -s mariadb-10.2.9-linux-x86_64/ mysql  创建软链接,名字必须为mysql,

   或者,mv mariadb-10.2.9-linux-x86_64 mysql 直接改名为mysql

  ③创建mysql用户

mkdir -p /app/mysqldb 

useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql  创建mysql用户,家目录为/app/mysqldb,可以自己指定


【附加,可以不做此操作:使用逻辑卷作为数据库的数据存放位置

   设置-->添加一块硬盘

   echo '- - -' > /sys/class/scsi_host/host2/scan  使硬盘生效

   创建逻辑卷:

   pvcreat /dev/sdb                                      vgcreate vg_mysqldb /dev/sdb

   lvcreate -n lv_mysqldb -l +100%FREE vg_mysqldb 

   mkfs.ext4 /dev/vg_mysqldb/lv_mysqldb -L /app/mysqldb(卷标名)   格式化

   vim /etc/fstab   配置开机挂载                                   /dev/vg_mysqldb/lv_mysqldb /app/mysqldb ext4 defaults,acl 0 0

   mount -a  重新挂载

   chown mysql /app/mysqldb 修改文件所属人为mysql

  ④生成数据库文件 

     cd /usr/local/mysql/

     scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql   运行脚本生成数据库文件

  ⑤生成mysql的配置文件

   mkdir /etc/mysql 

cp support-files/my-large.cnf   /etc/mysql/my.cnf  文件名必须叫这个 

vim /etc/mysql/my.cnf

    [mysqld]

    datadir = /app/mysqldb

    innodb_file_per_table = ON

    skip_name_resolve = ON 

  ⑥将mysqp配置成服务mysqld

cp support-files/mysql.server /etc/init.d/mysqld  

chkconfig --add mysqld

service mysqld start      启动不了因为没有日志文件,根据提示做如下操作

 

touch /var/log/mysqld.log           创建日志文件

chown mysql /var/log/mysqld.log          修改日志文件权限

service mysqld start                 启动mysqld服务

ss -ntl                    看到3306端口打开

d36e5b196c4faf52bf777424ab28de30.jpg 

  ⑦将mysqld的命令路径加入PATH变量,方便使用

 vim /etc/profile.d/lamp.sh                      

     PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH

 . /etc/profile.d/lamp.sh  

  ⑧运行安全脚本,设置root密码

   mysql_secure_installation    

  ⑨登陆数据库创建数据库及用户wordpress的实现做准备

   mysql -uroot -pcentos  

  >create datebase blogdb;  创建blogdb数据库

   创建用户wpuser@'192.168.199.%'并授权:

  >grant all on blogdb.* to wpuser@'192.168.199.%' identified by '123456';


3、源码编译安装Php

  ①安装必要的包,下载php源码并解压

yum install libxml2-devel bzip2-devel libmcrypt-devel  有的包需要epel源

tar xvf php-7.1.10.tar.xz

  ②编译安装php,基于fpm独立服务方式

    cd php-7.1.10/

    ./configure --prefix=/app/php \

    --with-mysql=/usr/local/mysql \

    --with-openssl \

    --with-mysqli=/usr/local/mysql/bin/mysql_config \

    --enable-mbstring \

    --with-freetype-dir \

    --with-jpeg-dir \

    --with-png-dir \

    --with-zlib \

    --with-libxml-dir=/usr \

    --enable-xml \

    --enable-sockets \

    --enable-fpm \

    --with-mcrypt \

    --with-config-file-path=/etc/php \

    --with-config-file-scan-dir=/etc/php.d \

    --with-bz2 

     make -j 4 && make install

 ③将php的命令路径加入PATH变量,方便使用

   vim /etc/profile.d/lamp.sh      

    PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:/app/php/bin/:$PATH   

   . /etc/profile.d/lamp.sh

  ④准备php所需的文件 


    准备php的配置文件:

     mkdir /etc/php

     cp php-7.1.10/php.ini-production /etc/php/php.ini 


    复制脚本模板并配置成服务,方便使用:

     cp php-7.1.10/sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm   

     chkconfig --add php-fpm

     chmod +x /etc/init.d/php-fpm


    准备自己服务的配置文件:

     cp /app/php/etc/php-fpm.conf.default /app/php/etc/php-fpm.conf  

 

4、编辑httpd的主配置文件使其支持php

  vim /app/httpd24/conf/httpd.conf        

   在文件尾部加四行        

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/http24/htdocs/$1

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps 

   取消两行注释

     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>

 启动php服务:

          service php-fpm start  

如果启动不起来,报错如下:

03d9cf7e7a8335230cdef8bf051f2590.jpg

那么vim /etc/init.d/php-fpm

    修改如下三行,都修改为绝对路径

    php_fpm_BIN=/app/php/sbin/php-fpm

    php_fpm_CONF=/app/php/etc/php-fpm.conf

    php_fpm_PID=/app/php/var/run/php-fpm.pid

再启动即可service php-fpm start

可以使用ss -ntl 查看9000端口打开了

550e7c0238f2f6276efa04efcd5a2ba2.jpg 

5、测试php和mariadb连接

vim /app/httpd24/htdocs/index.php

    <html><body><h1> LAMP</h1></body></html>

    <?php

    $mysqli=new mysqli("mysqlserver","root","123456");

    if(mysqli_connect_errno()){

    echo "连接数据库失败!";

    $mysqli=null;

    exit;

    }

    echo "连接数据库成功!";

    $mysqli->close();

    phpinfo();

    ?>

网页访问:http://192.168.199.137/,效果如下则测试成功。至此lamp架构就实现了

552d6d73eb6e1d954bc6aa52e6c3b3f3.jpg 

6、配置wordpress

 ①下载wordpress并解压

    tar xvf wordpress-4.8.1-zh_CN.tar.gz

 ②将wordpress下所有文件放到主站点下,并且配置使其连接数据库

    mv wordpress/* /app/httpd24/htdocs 

   cd /app/httpd24/htdocs/

   cp wp-config-sample.php  wp-config.php  准备配置文件

    vim wp-config.php              编辑配置文件

    define('DB_NAME', 'blogdb');        数据库名

    define('DB_USER', 'wpuser');        用户名

    define('DB_PASSWORD', '123456');      密码

    define('DB_HOST', 'localhost');      数据库所在服务器地址

 

7、性能测试: ab -c 20 -n 1000 http://192.168.199.137

  windows测试:http://192.168.199.137 出现如下欢迎界面

da83ec61b80560e673babbac6e5f8946.jpg 

8、xcache加速

 ①下载工具并解压

  tar xvf xcache-3.2.0.tar.gz

 ②编译安装xcache

  cd xcache-3.2.0

  phpize  生成编译环境             

  ./configure --enable-xcache --with-php-config=/app/php/bin/php-config   

  make && make install  编译安装

 ③配置xcache

  mkdir /etc/php.d

  cp xcache-3.2.0/xcache.ini /etc/php.d/  将xcache复制到php.d下就可以使php和xcache结合在一起

     修改库的路径(可以使用ls看一下路径):

     vim /etc/php.d/xcache.ini   

      extension = /app/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so

  ④重启php-fpm服务

   service php-fpm restart  

 

性能测试:ab -c 20 -n 1000 http://192.168.199.137 比较之前会发现处理速度明显提升


感谢浏览,如有疑问,欢迎留言

j_0080.gif





















本文转自lc0108131451CTO博客,原文链接:http://blog.51cto.com/13150617/1976271 ,如需转载请自行联系原作者







相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
5月前
|
关系型数据库 MySQL Linux
Linux(CentOS7)搭建LAMP服务环境
本文介绍了在Linux (CentOS 7) 上搭建LAMP服务环境的详细步骤,包括安装Apache HTTPd、解决编译时依赖问题、配置Apache服务、安装PHP以及处理PHP与Apache集成时遇到的问题。同时,还涉及了防火墙设置和SELinux权限调整,确保Web服务能够正常运行。
111 2
|
5月前
|
应用服务中间件 Linux 网络安全
如何在 CentOS 6.5 上使用 Unicorn 和 Nginx 部署 Rails 应用
如何在 CentOS 6.5 上使用 Unicorn 和 Nginx 部署 Rails 应用
65 0
|
7月前
|
运维 前端开发 Serverless
函数计算产品使用问题之wordpress应用模板在什么地方
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
8月前
|
Shell
CentOS6.5自动化安装LAMP脚本
CentOS6.5自动化安装LAMP脚本
|
8月前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
71 0
|
8月前
|
关系型数据库 MySQL Linux
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
Centos7 yum安装lAMP 环境 php版本5.6.38 mysql版本5.7.22
122 0
|
5天前
|
弹性计算 运维 Ubuntu
使用阿里云服务器自动搭建WordPress网站流程,超简单by系统运维管理OOS
本教程介绍如何使用阿里云服务器(ECS)和系统运维管理OOS自动搭建WordPress网站,支持Ubuntu、CentOS及Alibaba Cloud Linux等操作系统。前提条件包括ECS实例处于运行中、有公网IP且安全组已开启80端口。安装步骤简单:进入ECS快速购买控制台选择预装WordPress,确认下单后通过管理控制台查看实例详情并开放安全组端口。最后,通过实例公网IP访问,出现WordPress登录页即表示安装成功。
|
6月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
93 1
|
3月前
|
XML 搜索推荐 机器人
五个 WordPress 插件可提高网站参与度
五个 WordPress 插件可提高网站参与度