centos6安装LAMP并进行xcache加速

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos6安装LAMP并进行xcache加速相关的知识,希望对你有一定的参考价值。

一丶LAMP

1.什么是LAMP

L: linux 是免费开源软件,这意味着源代码可用的操作系统。
A: apache (httpd) 是使用中最受欢迎的一个开放源码的WEB服务器软件
M: mysql, mariadb 是多线程、多用户的SQL数据库管理系统。
P: php, perl, pyth 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似
常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.

2.LAMP构架及工作原理

技术分享图片
浏览器向服务器发送http请求,服务器 (Apache) 接受请求,如果是静态资源则直接调用,如果是动态资源则调用php处理模块连接mysql数据库进行php脚本的处理。脚本处理完后,将结果转为静态资源,由Apache将处理完的信息通过http协议方式发送给浏览器,浏览器解析,渲染等一系列操作后呈现整个网页。

3.CGI

CGI:Common Gateway Interface
可以让一个客户端,从网页浏览器通过http服务器向执行在
网络服务器上的程序传输数据;CGI描述了客户端和服务器程
序之间传输的一种标准

二丶搭建LAMP

软件准备

apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
我们准备编译安装httpd,所以需要自己先准备apr包(注意版本,如果相差太多可能会发生错误)
mariadb-5.5.60-linux-x86_64.tar.gz
数据库二进制安装包
php-5.6.36.tar.xz
xcache-3.2.0.tar.bz2
php和php加速器(注意xcache版本和php版本)

1.编译安装httpd2.4

[[email protected] src]# tar xvf apr-1.6.2.tar.gz ;tar xvf apr-util-1.6.0.tar.gz ;tar xvf httpd-2.4.29.tar.bz2 (#解压缩数据包)

[[email protected] src]# cp -r apr-1.6.2 httpd-2.4.29/srclib/apr
[[email protected] src]# cp -r apr-util-1.6.0 httpd-2.4.29/srclib/apr-util (#将apr拷贝到httpd指定目录下)
[[email protected] httpd-2.4.29]# ./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24/conf --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[[email protected] httpd-2.4.29]# make -j 4 && make install (#编译安装)
[[email protected] httpd-2.4.29]# vim /etc/profile.d/env.sh (#将httpd启动项加入到全局配置文件里)

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

[[email protected] httpd-2.4.29]# source /etc/profile.d/env.sh (#重读配置文件)
[[email protected] httpd-2.4.29]# useradd -r -m -d /var/www -u 48 -s /sbin/nologin apache (#创建apache用户)
[[email protected] ~]# vim /etc/init.d/httpd (#修改启动项文件,若没有可从别的机器拷贝一份或用rpm2cpio指令从httpd rpm包里拷贝出来一份)
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
[[email protected] ~]# chkconfig --add httpd24 (#将httpd加入到系统服务)
[[email protected] ~]# chkconfig httpd24 on (#设定 等级为on)
[[email protected] ~]# vim /etc/httpd24/conf/httpd.conf (#配置httpd配置文件)

  • ServerName lamp.centos6.com:80
  • DocumentRoot "/var/www/html"
  • <Directory "/var/www/html">
  • User apache
  • Group apache

[[email protected] ~]# vim /var/www/html/index.html (#编写网页内容)

  • <html><body><h1> centos 6.9 LAMP works!</h1></body></html>

[[email protected] ~]# /etc/init.d/httpd24 restart (启动(重启)服务)
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

2.二进制安装mariadb

[[email protected] src]# tar xvf mari`adb-5.5.60-linux-x86_64.tar.gz -C /usr/local/ (#解压安装包并指定目录)
[[email protected] src]# cd /usr/local/
[[email protected] local]# ln -s mariadb-5.5.60-linux-x86_64/ mysql (#创建软链接)
[[email protected] httpd-2.4.29]# vim /etc/profile.d/env.sh (#添加启动项到全局文件)

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

    [[email protected] local]# source /etc/profile.d/env.sh (#重读全局配置文件)
    [[email protected] local]# cd mysql/
    [[email protected] mysql]# useradd -m -r -d /app/mysqldb -u 27 -s /sbin/nologin mysql (#创建mysql系统用户)
    [[email protected] mysql]# scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
    [[email protected] mysql]# mkdir /etc/mysql (#编译安装)
    [[email protected] mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
    [[email protected] mysql]# vim /etc/mysql/my.cnf (#更改配置文件)

  • [mysqld]
  • datadir = /app/mysqldb
  • innodb_file_per_table = ON
  • skip_name_resolve = ON

[[email protected] mysql]# setfacl -m u:mysql:rwx /var/log (#给mysql用户写日志权限)
[[email protected] mysql]# service mysqld restart (#启动mysql数据库)
[[email protected] mysql]# mysql_secure_installation (#修改密码配置等)
[[email protected] mysql]# mysql -uroot -pcentos

MariaDB [(none)]> create database wpdb; (#创建目录)
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on wpdb.* to [email protected]‘%‘ identified by ‘centos‘; (#创建用户························)
Query OK, 0 rows affected (0.01 sec)

3.源码编译安装php5

[[email protected] src]# tar xvf php-5.6.36.tar.xz (#解压安装包)
[[email protected] php-5.6.36]# ./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 \
> --with-apxs2=/app /httpd24/bin/apxs\
> --with-mcrypt \
> --with-config-file-path=/etc \
> --with-config-file-scan-dir=/etc/php.d \
> --with-bz2

[[email protected] php-5.6.36]# make -j 2 && make install (#编译安装)
[[email protected] php-5.6.36]# cp php.ini-production /etc/php.ini
[[email protected] php-5.6.36]# vim /etc/httpd24/conf/httpd.conf (#修改httpd配置文件,添加php格式)

  • <IfModule dir_module>
  • DirectoryIndex index.php index.html
  • </IfModule>
  • AddType application/x-httpd-php .php
  • AddType application/x-httpd-php-source .phps

[[email protected] ~]# vim /var/www/html/index.php (#编写网页内容,并测试是否可以成功连接mysql数据库,以php为连接 打通httpd和mysql数据库)

  • <html><body><h1> centos 6.9 LAMP works!</h1></body></html>
  • <?php
  • $mysqli=new mysqli("localhost","root","centos");
  • if(mysqli_connect_errno()){
  • echo "连接数据库失败!";
  • $mysqli=null;
  • exit;
  • }
  • echo "连接数据库成功!";
  • $mysqli->close();
  • $link =
  • mysql_connect(‘localhost‘,‘root‘,‘centos‘);
  • if ($link)
  • echo "Success...";
  • else
  • echo "Failure...";
  • mysql_close();
  • phpinfo();
  • ?>

4.编译实现php-xcache加速

[[email protected] src]# tar xvf xcache-3.2.0.tar.bz2 (#解压安装包)
[[email protected] ~]# vim /etc/profile.d/env.sh (#添加至全局文件并刷新)

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

[[email protected] ~]# source /etc/profile.d/env.sh
[[email protected] src]# cd xcache-3.2.0
[[email protected] xcache-3.2.0]# phpize (#自动创建文件)
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[[email protected] xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/app/php/bin/php-config
[[email protected] xcache-3.2.0]# make && make install (#编译安装)
[[email protected] xcache-3.2.0]# mkdir /etc/php.d
[[email protected] xcache-3.2.0]# cp xcache.ini /etc/php.d/
[[email protected] xcache-3.2.0]# vim /etc/php.d/xcache.ini (#在php扩展配置目录下编写配置文件,将xcache模块启用)
*extension = /app/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
[[email protected] xcache-3.2.0]# service httpd24 restart (#重启httpd服务)
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

完成安装

以上是关于centos6安装LAMP并进行xcache加速的主要内容,如果未能解决你的问题,请参考以下文章

编译安装lamp-4(安装xcache,为php加速)

构建LAMP平台(使用xcache-2.0给php加速)

CentOS 6.9编译安装LAMP环境,并部署phpMyAdmin,使用XCache优化性能

LAMP源码编译安装

Centos 6.9 编译安装 LAMP + xcache

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