LAMP-Centos6

CentOS6编译安装LAMP,配置wordpress,xcache
apache,php,mariadb,xcache
准备包:
apr-1.5.2.tar.bz2     
apr-util-1.5.4.tar.bz2    
httpd-2.4.29.tar.bz2
mariadb-5.5.57-linux-x86_64.tar.gz  
php-5.6.34.tar.bz2          
wordpress-4.8-zh_CN.tar.gz
xcache-3.2.0.tar.gz                
cd /usr/local/src/; ls; rz 上传下载的包

编译安装httpd-2.4
rpm -q apr; rpm -q apr-util  版本1.3过低,使用1.4以上才可以
service httpd status  把本机的httpd服务关闭
chkconfig --list httpd  不设置为开机启动
cd /usr/local/src/
tar xvf apr-1.5.2.tar.bz2
tar xvf apr-util-1.5.4.tar.bz2
tar xvf httpd-2.4.29.tar.bz2
cd /usr/local/src/httpd-2.4.29
mv ../apr-1.5.2 srclib/apr
mv ../apr-util-1.5.4 srclib/apr-util;
ll srclib/
yum -y groupinstall "Development tools"
编译时会缺少这两个包,所有直接安装
yum -y install pcre-devel openssl-devel
./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 && make install
vim /etc/profile.d/app.sh
export PATH=/app/httpd24/bin:$PATH
. /etc/profile.d/app.sh
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} 
service httpd status
chkconfig --add httpd24; which httpd
关闭防火墙和selinux
service httpd24 start
浏览器:192.168.29.126  OK
service httpd24 stop
浏览器:192.168.29.126  OK

mariadb的安装
yum list mysql  显示已经安装
yum -y remove mysql
getent passwd; id mysql; userdel -r mysql  删除mysql用户,在创建此用户
useradd -r -d /app/data -s /sbin/nologin -u 36 mysql -m
ll /app/data/ -d  文件权限mysql.mysql,不用更改
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/  指定文件路径
cd /usr/local/ ;ll
ln -s mariadb-5.5.57-linux-x86_64/ mysql  把mariadb-...的文件夹名称改为mysql或者软连接也可以
ll mysql/  
chgrp -R mysql mysql/  更改权限mysql属组
cd mysql/support-files/;ls 里面的配置文件根据自己的需要来复制,生产环境用大的配置文件,英文字母的意思来判断即可
mkdir /etc/mysql
cp my-huge.cnf /etc/mysql/my.cnf
ll my-huge.cnf  /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
[mysqld]下面添加信息
datadir = /app/data
innodb_file_per_table = on  创建的每个表都是独立的数据库
skip_name_resolve = on  禁止主机名解析,速度快
创建数据库
cd /usr/local/mysql;ls
scripts/mysql_install_db --datadir=/app/data --user=mysql
ll /app/data/  文件生成
cat support-files/mysql.server  是一个服务脚本
cp support-files/mysql.server /etc/init.d/mysqld
ll /etc/init.d/mysqld  看是否有执行权限,有即可
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysql  
touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log
ll /var/log/mysqld.log
service mysqld start; ss -ntl  3306端口
vim /etc/profile.d/app.sh  把mysql放到path变量里
export PATH=/usr/local/mysql/bin:/app/httpd24/bin:$PATH
. /etc/profile.d/app.sh
mysql_secure_installation  删除匿名用户登陆
mysql -uroot -p 
不用操作:mysql -uroot -p < feng.sql(此文件里就是要执行的sql语句,自动化)
create database blogdb;
grant all on blogdb.* to wpuser@"192.168.%.%" identified by "123456" ;
quit
mysql -u wpuser -h "192.168.29.126" -p; use blogdb;

安装php
cd /usr/local/src; ls
tar xvf php-5.6.34.tar.bz2
cd php-5.6.34
yum -y install libxml2-devel bzip2-devel libmcrypt-devel(epel)
  没有epel源,安装libmcrypt(libmcrypt-2.5.8.tar.gz)
      下载libmcrypt-2.5.8.tar.gz包:
http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
      cd /usr/local/src
      rz  上传至此目录下
      tar -xvf libmcrypt-2.5.8.tar.gz
      cd libmcrypt-2.5.8
      ./configure
      make && make install  说明:libmcript默认安装在/usr/local
cd /usr/local/src/php-5.6.34
./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 --enable-maintainer-zts --disable-fileinfo --with-bz2 
make -j 4 && make install
cp php.ini-production /etc/php.ini
vim /app/httpd24/conf/httpd.conf
搜索:/AddType,添加信息
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
搜索:DirectoryIndex
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
apachectl stop
浏览器:192.168.29.126  OK
apachectl 
浏览器:192.168.29.126  OK
测试
php结合MySQL
vim vim /app/httpd24/htdocs/index.php  支持旧版本
<?php
$link = mysql_connect('192.168.29.126','wpuser','123456');
if ($link)
        echo "Success...";
else
        echo "Failure...";
mysql_close();
phpinfo();
?>
apachectl
浏览器:192.168.29.126/index.php  OK
service mysqld stop
浏览器:192.168.29.126/index.php  OK
service mysqld start
浏览器:192.168.29.126/index.php  OK

部署wordpress
cd /usr/local/src; ls
tar xvf wordpress-4.8-zh_CN.tar.gz -C /app/httpd24/htdocs; ls
cd /app/httpd24/htdocs
mv wordpress/ blog
cd blog/  
浏览器:192.168.29.126/blog  OK 
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', 'database_name_here'); 变为 define('DB_NAME', 'blogdb');
define('DB_USER', 'username_here'); 变为 define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'password_here'); 变为 define('DB_PASSWORD', '123456');
define('DB_HOST', 'localhost'); 变为 define('DB_HOST', '192.168.29.126');
浏览器:192.168.29.126/blog
Site Title  联盟之家
Username    qiangge
Password    qianggedu123456
Your Email  594634660@qq.com
点击 "Install Wordpress"
浏览器:192.168.29.126/blog
centos7: ab -c10 -n 200 http://192.168.29.126/blog/

配置xcache加速器
cd /usr/local/src
tar xvf xcache-3.2.0.tar.gz
cd xcache-3.2.0/; ls  没有config文件
/app/php/bin/phpize  生成config文件
./configure --enable-xcache --with-php-config=/app/php/bin/php-config
make && make install 
ll /app/php/lib/php/extensions/no-debug-zts-20131226/  生成的模块文件
ll /etc/php.d; mkdir /etc/php.d
cp xcache.ini /etc/php.d
vim /etc/php.d/xcache.ini  
extension = /app/php/lib/php/extensions/no-debug-zts-20131226/xcache.so
service httpd24 restart
浏览器:192.168.29.126  ctrl+f:搜索xcache
centos7: ab -c10 -n 200 http://192.168.29.126/blog/  性能提高了2-3倍


centos6配置fpm方式的php
以独立的服务,独立的端口运行,之前使以模块方式运行
环境:
apr-1.5.2.tar.bz2     
apr-util-1.5.4.tar.bz2    
httpd-2.4.29.tar.bz2
mariadb-5.5.57-linux-x86_64.tar.gz  
php-5.6.34.tar.bz2          
wordpress-4.8-zh_CN.tar.gz
xcache-3.2.0.tar.gz        
以上面的实验为基础,编译php的时候,不同之处:
把 --with-apxs2=/app/httpd24/bin/apxs(模块方式) 换成 --enable-fpm 
./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 --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo --with-bz2 
cd /usr/local/src/; rm -rf php-5.6.34
tar xvf php-5.6.34.tar.bz2; 
cd php-5.6.34
yum -y install libxml2-devel bzip2-devel libmcrypt-devel(epel)  已经装过,不需要再装了
为了避免与上面的实验冲突,需要更改文件的路径:
--prefix=/app/php 换为 --prefix=/app/php5
--with-config-file-path=/etc 换为 --with-config-file-path=/etc/php5
--with-config-file-scan-dir=/etc/php.d 换为 --with-config-file-scan-dir=/etc/php5.d
./configure --prefix=/app/php5 --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/php5 --with-config-file-scan-dir=/etc/php5.d --enable-maintainer-zts --disable-fileinfo --with-bz2 
make -j 4 && make install  快速编译的意思
mkdir /etc/php5 /etc/php5.d
cp php.ini-production /etc/php5/php.ini
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm  fastcgi独立服务,需要创建服务脚本
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig --list php-fpm
cd /app/php5/etc
cp php-fpm.conf.default php-fpm.conf
vim /app/php5/etc/php-fpm.conf  编辑php配置文件,可不做修改
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 5  和pm.start_servers = 5一致
pid = /app/php5/var/run/php-fpm.pid
service php-fpm start
ps aux |grep fpm; pstree -p
ss -ntl  9000端口
修改httpd24的配置文件
service httpd24 stop
备份前面实验的配置文件
cp /app/httpd24/conf/httpd.conf  /app/httpd24/conf/httpd.conf.module 
vim /app/httpd24/conf/httpd.conf
说明:启用httpd的相关模块
在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,
此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载
去掉下面两行注释
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
添加如下二行(做过)
   AddType application/x-httpd-php  .php
   AddType application/x-httpd-php-source  .phps
DirectoryIndex index.html 修改为 DirectoryIndex index.php index.html (做过)
在文件最下面增加下面两行
  ProxyRequests Off    关闭正向代理
  ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1
ProxyPassMatch:
把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,
所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,
其它的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手动指定。
httpd -t
httpd –M
service httpd24 restart
vim /app/apache24/htdocs/index.php  生成测试页(已经做过)
<?php
  $link = mysql_connect('192.168.29.126','wpuser','123456');
  if ($link)
        echo "Success...";
  else  
        echo "Failure...";
  mysql_close();
  phpinfo();
?>
浏览器:192.168.29.126  可以看到使用的是FPM/FastCGI模式,但没有xcache信息
centos7: ab -c10 -n 200 http://192.168.29.126/blog/  

编译安装xcache实现加速 
cd /usr/local/src
rm -rf xcache-3.2.0
tar xvf xcache-3.2.0.tar.bz2
cd  xcache-3.2.0/
/app/php5/bin/phpize  生成编译环境.configure脚本
./configure --enable-xcache  --with-php-config=/app/php5/bin/php-config
make && make install
注意最后结果的一行目录
ll /app/php5/lib/php/extensions/no-debug-zts-20131226/
cp  xcache.ini  /etc/php5.d/
vim /etc/php5.d/xcache.ini
[xcache-common]修改
extension =  /app/php5/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
service php-fpm restart  
注意:不需要重启httpd服务
ps aux |grep php 查看php进程 
浏览器:192.168.29.126  可以看到xcache信息
centos7: ab -c10 -n 200 http://192.168.29.126/blog/  性能提高了2-3倍


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

推荐阅读更多精彩内容