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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

实验:在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 ,如需转载请自行联系原作者







相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
Linux 虚拟化
VMware workstation 中centos7虚拟机在nat模式下怎么配置网卡,指定我想要的IP并且可以联网
https://blog.csdn.net/2302_78534730/article/details/132825156?spm=1001.2014.3001.5502
306 0
|
5月前
|
运维 前端开发 Serverless
函数计算产品使用问题之wordpress应用模板在什么地方
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
6月前
|
弹性计算 关系型数据库 MySQL
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
带你读《弹性计算技术指导及场景应用》——2. 免费试用ECS,轻松搭建WordPress博客平台使用
230 0
|
存储 Kubernetes 关系型数据库
【Kubernetes的Configmap、SecretMetric service及HPA、Wordpress应用Mysql主从PVPVCSCHPA】
【Kubernetes的Configmap、SecretMetric service及HPA、Wordpress应用Mysql主从PVPVCSCHPA】
119 0
|
分布式计算 资源调度 安全
CentOS7下Hadoop3.2.1的安装与部署(单机模式)
CentOS7下Hadoop3.2.1的安装与部署(单机模式)
264 0
|
监控 安全 Linux
虚拟机CentOS的Nginx+keepalived 高可用集群配置主从模式
虚拟机CentOS的Nginx+keepalived 高可用集群配置主从模式
186 0
|
分布式计算 Hadoop Linux
Centos7 Hadoop伪分布模式安装
Centos7 Hadoop伪分布模式安装
153 0
|
Linux Shell 数据安全/隐私保护
CentOS 6.x 光盘拯救模式清空root密码
CentOS 6.x 光盘拯救模式清空root密码
227 0
|
Linux 数据安全/隐私保护
CentOS 6.x 进入单用户模式加密
CentOS 6.x 进入单用户模式加密
288 0