LAMP: 分布式 HTTP 2.4.25 + PHP 5.4.13 + MySQL 5.5.28 分离部

目录

A. 环境说明:B. 效果截图:C. HTTP编译安装D. MySQL二进制安装E. PHP源码编译安装F. PHP连接HTTPG. PHP支持扩展功能xcacheH. PHP连接MySQLI. 部署phpMyAdmin

A.环境说明:系统: CentOS 6.6 x32部署模式: 分离式(三个服务部署到三台服务器上)版本:HTTP 2.4.25 + PHP 5.4.13 + MySQL 5.5.28IP规划: HTTP: 192.168.205.116 PHP: 192.168.205.117 MySQL: 192.168.205.115B.效果截图:

C.HTTP编译安装:1.编译安装apr

1) wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz2) tar xf apr-1.5.2.tar.gz3) cd apr-1.5.24) ./configure5) make&& make install

2.编译安装apr-util

1) wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz2) cd apr-util-1.5.43) tar xf apr-util-1.5.4.tar.gz4) ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/5) make&& make install

3.编译安装httpd

1) yum install pcre-devel -y2) yum install openssl-devel -y3) wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.bz24) tar xfhttpd-2.4.25.tar.bz25) cd httpd-2.4.256) ./configure \  –prefix=/usr/local/httpd \  –sysconfdir=/etc/httpd \  –enable-so \  –enable-rewrite \  –enable-ssl –enable-cgi \  –enable-cgid –enable-modules=most \  –enable-mpms-shared=all \  –with-apr=/usr/local/apr \  –with-apr-util=/usr/local/apr-util \  –with-ssl=/usr/local/openssl \  –enable-proxy \  –enable-proxy-fcgi7) make && make install

4.关闭selinux和防火墙

1) setenforce 02) vim /etc/selinux/config  SELINUX=enforcing3) getenforce4) iptables -F && service iptables save

5.修改配置文件

1) vim /etc/httpd/httpd.conf2) 添加 PidFile “/var/run/httpd.pid”: 修改pid进程文件位置

6.服务启动验证

1) /usr/local/httpd/apachectl start2) netstat -tnlp

7.创建启动文件

1) vim /etc/init.d/httpd

 1 . /etc/rc.d/init.d/functions 2 #chkconfig: 2345 10 90 3 # 4  5 # pull in sysconfig settings 6 [ -f /etc/sysconfig/httpd ] && . /etc/sysconfig/httpd 7 HTTPD_LANG=${HTTPD_LANG-"C"} 8 INITLOG_ARGS="" 9 #apachectl=/usr/local/apache/bin/apachctl10 #httpd=${HTTPD-/usr/local/apache/bin/httpd}11 httpd=${HTTPD-/usr/local/httpd/bin/apachectl}12 prog=httpd13 pidfile=${PIDFILE-/var/run/httpd.pid}14 lockfile=${LOCKFILE-/var/lock/subsys/httpd}15 RETVAL=016 17 18 start()19 {20     echo -n $"Starting $prog: "21     LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS22     RETVAL=$?23     echo24     [ $RETVAL -eq 0 ] && touch $lockfile25     return $RETVAL26 }27 28 stop()29 {30     echo -n $"Stopping $prog: "31     killproc -p ${pidfile} -d 10 $httpd32     RETVAL=$?33     # if we are in halt or reboot runlevel kill all running sessions34     # so the TCP connections are closed cleanly35     echo36     [ $RETVAL -eq 0 ] && rm -f ${lockfile} ${pidfile} 37 }38 39 reload()40 {41     echo -n $"Reloading $prog: "42     if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then43         RETVAL=$?44         echo $"not reloading due to configuration syntax error"45         failure $"not reloading $httpd due to configuration syntax error"46     else 47         killproc -p ${pidfile} $httpd -HUP48         RETVAL=$?49     fi50     echo51 }52 53 restart() {54     stop55     start56 }57 58 case "$1" in59     start)60         start61         ;;62     stop)63         stop64         ;;65     status)66         status -p ${pidfile} $httpd67         RETVAL=$?68         ;;69     restart)70         restart71         ;;72     condrestart)73         if [ -f ${pidfile} ]; then74             stop75             start76         fi77         ;;78     reload)79         reload80         ;;81     graceful|help|configtest|fullstatus)82         $apachectl $@83         RETVAL=$?84         ;;85     *)86         echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"87         exit 188 esac89 90 exit $RETVAL

httpd

2) 添加执行权限  a) chmod +x /etc/init.d/httpd3) 加入到启动服务列表中  a) chkconfig –add httpd  b) chkconfighttpd on  c) chkconfig –level 35 httpd on4) 处理报错信息  a)vim /etc/httpd/httpd.conf    ServerName localhost:80

8.添加环境变量

1) vim /etc/profile.d/httpd.sh    export PATH=$PATH:/usr/local/httpd/bin/2) ./etc/profile.d/httpd.sh #读取环境变量

D.MySQL二进制安装:1.下载安装

  a) wget https://downloads.mysql.com/archives/get/file/mysql-5.5.28-linux2.6-i686.tar.gz(32位系统)  b)wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz(64位系统)1) 解压到指定目录  a) tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local/2)切换到该目录下  a) cd /usr/local/3) 做链接  a) ln -sv mysql-5.5.28-linux2.6-i686/ mysql4) 添加用户, 修改属主, 属组  a) groupadd -r -g 306 mysql  b) useradd -g 306 -r -u 306 mysql  c) chown -R root.mysql /usr/local/mysql/*

2.制作逻辑卷并将数据库文件指定至逻辑卷

1)制作逻辑卷  a) fdisk /dev/sdb  b) pvcreate /dev/sdb5  c) vgcreate myvg /dev/sdb5  d) lvcreate -n mydata -L 5G myvg  e) lvs  f) mke2fs -j /dev/myvg/mydata2) 数据库数据存放至逻辑卷  a) mkdir /mydata/  b) mount /dev/myvg/mydata /mydata/3) 修改/etc/fstab文件  a) /dev/myvg/mydata /mydata ext3 defaults 0 0  b) mount -a4) 修改数据存储文件夹权限  a) chown -R mysql.mysql data/  b) chmod o-x /mydata/data/

3.初始化数据库

1) yum install -y libaio: 初始化时报错的解决办法2) cd /user/local/mysql3) scripts/mysql_install_db –user=mysql –datadir=/mydata/data/

4.创建开机自启

1) 修改启动文件  a) cp support-files/mysql.server /etc/init.d/mysqld2) 添加入开机启动  a) chkconfig –add mysqld  b) chkconfigmysqld on

5.添加配置文件

1) cp /usr/local/mysql-5.5.28-linux2.6-i686/support-files/my-huge.cnf /etc/my.cnf2) vim /etc/my.cnf  a) datadir = /mydata/data/mysql  b) thread_concurrency = 8  c) mysql中一个cpu提供2个线程    i) 查看当前系统有几个cpu:cat /proc/cpuinfo    ii) 所以这里最多有2个线程,修改为2

6.添加PATH环境变量执行mysql命令

1) vim /etc/profile.d/mysqld.sh  a) export PATH=$PATH:/usr/local/mysql/bin2) ./etc/profile.d/mysqld.sh #读取环境变量

7.开启服务测试

1) service mysqld start

E.PHP源码编译安装:1.编译安装libmcrypt

1) wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.6.tar.gz2) tar xf libmcrypt-2.5.6.tar.gz3) cd libmcrypt-2.5.64) ./configure –prefix=/usr/local/libmcrypt5) make && make install

2.编译安装PHP

1)wget http://museum.php.net/php5/php-5.4.13.tar.bz22)yum install gcc openssl-devel libxml2-devel bzip2-devel -y3) cd php-5.4.13

4)编译安装  ./configure \  –prefix=/usr/local/php \  –enable-fpm \  –with-config-file-path=/etc \  –with-config-file-scan-dir=/etc/php.d \  –with-libxml-dir=/usr \  –with-openssl \  –with-zlib \  –with-bz2 \  –with-jpeg-dir \  –with-png-dir \  –with-freetype-dir \  –enable-mbstring \  –with-mcrypt \  –enable-sockets \  –with-mysql=mysqlnd \  –with-mysqli=mysqlnd \  –with-pdo-mysql=mysqlnd \  –enable-maintainer-zts \  –with-mcrypt=/usr/local/libmcrypt5) make && make install

3.设置启动项

1) cp php.ini-production /etc/php.ini2) 为php-fpm提供Sysv init脚本, 并将其添加至服务列表  a) cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm  b) chmod +x /etc/init.d/php-fpm  c) chkconfig –add php-fpm  d) chkconfig php-fpmon

4.为php-fpm提供配置文件

1) cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf2) 编辑php-fpm的配置文件  a) vim /usr/local/php/etc/php-fpm.conf  b) 配置fpm的相关选项为你所需要的值, 并启用pid文件    i) pm.max_children = 50    ii) pm.start_servers = 5    iii) pm.min_spare_servers=2    iv) pm.max_spare_servers=8    v) pid=/usr/local/php/var/run/php-fpm.pid

5.启动服务

1) service php-fpm start2) netstat -tnlp

F.PHP连接HTTP:

1) 修改php服务器配置php-fpm的文件vim /usr/local/php/etc/php-fpm 定位到listen =192.168.205.117:90002)在该主机上新建虚拟主机目录用于存放网页文件  mkdir -pv /www/glinux3) 配置http服务器Apache虚拟主机使用php4) 在httpd主机上, 192.168.205.116, 建立一个目录作为虚拟主机的家目录  mkdir -pv /www/glinux

1.编辑主配置文件(关闭中心主机, 开启虚拟主机)

1) vim /etc/httpd/httpd.conf  a) 注释 #DocumentRoot “/usr/local/apache/htdocs”  b) 并打开启用 Include /etc/httpd/extra/httpd-vhosts.conf  c) 同时定位 AddType;添加下面两行    AddType application/x-httpd-php .php    AddType application/x-httpd-php-source .phps  d) 并且定位至DirectoryIndex    <IfModule dir_module>      DirectoryIndex index.php index.html #添加index.php(最好添加在最前面)    </IfModule>  e) 启动模块,还要启用proxy_module proxy-fcgi_module等    LoadModule proxy_module modules/mod_proxy.so #开启    LoadModule proxy_connect_module modules/mod_proxy_connect.so    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so    LoadModule proxy_http_module modules/mod_proxy_http.so    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #开启

2.编辑虚拟主机配置文件vim /etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>  DocumentRoot “/www/glinux”    ServerName www.glinux.com    ServerAlias glinux.com    ErrorLog “/usr/local/httpd/logs/glinux.error_log”    CustomLog “/usr/local/httpd/logs/glinux.access_log” combined    ProxyRequests off    ProxyPassMatch ^/(.*.php)$ fcgi://192.168.205.117:9000/www/glinux/$1  <Directory “/www/glinux”>    Options none    AllowOverride None    Require all granted  </Directory></VirtualHost>

3.在php服务器上的/www/glinux目录下分别建立网页文件, 重启服务即可

vim /www/glinux/index.php<?phpphpinfo();?>

4.测试phpinfo成功      

浏览器里输入: http://192.168.205.116

G.PHP支持扩展功能xcache:

1) wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz2) 安装xcache  a) tar xf xcache-3.2.0.tar.gz  b) cd xcache-3.2.0  c) 安装依赖关系    i) yum -y install m4 autoconf  d) /usr/local/php/bin/phpize  e) ./configure –enable-xcache –with-php-config=/usr/local/php/bin/php-config  f) make && make install3) 安装完毕后会出现这么一行 Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/4) 编辑php.ini,整合php和xcache:  a) 首先将xcache提供的样例配置导入php.ini    i) # mkdir /etc/php.d    ii) # cp xcache.ini /etc/php.d    iii) 说明:xcache.ini文件在xcache的源码目录中。5) 接下来编辑/etc/php.d/xcache.ini,找到extension开头的行,修改为如下行:  extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so6)注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。7) 然后重启服务即在phpinfo的页面中就可看见xcache的选项了。8) 关闭xcache方法  a) vim /etc/php.d/xcache.ini    xcache.size = 0 :设置为0是关闭xcache

H.PHP连接MySQL:1.mysql数据库修改

use mysql;grant all privileges on *.* to ‘root’@’192.9.205.105’ identified by ‘william’;select Host,User,Password from user where User=’root’;flush privileges;

2.进入php主机编辑index.php文件内容

<?php$link=mysql_connect(‘192.168.205.115′,’root’,’william’);if($link){      echo “success..william!”;    }else{      echo “failed..frank!”.mysql_error();    }mysql_close($link);phpinfo();  ?>

3.测试连接情况切记,要将防火墙关闭!

浏览器里输入: http://192.168.205.116

I.部署phpMyAdmin:1.下载phpMyAdmin

wgethttps://files.phpmyadmin.net/phpMyAdmin/4.7.0/phpMyAdmin-4.7.0-all-languages.tar.gz

2.配置phpmyadmin

1) 在php 主机和http主机上分别在/www目录建立一个文件夹glinux, 并同样执行下面操作2) tar xf phpMyAdmin-4.7.0-all-languages.zip3) cd /www/glinux4) mv /root/phpMyAdmin-4.7.0/* ./5) 接下来在php主机上进行对phpmyadmin的配置。6) cp config.sample.inc.php config.inc.php7) vim config.inc.php $cfg[‘Servers’][$i][‘host’]=‘192.168.205.115’ #数据库服务器的IP地址  $cfg[‘blowfish_secret’] = ‘william’;#这里的字符随意,这个主要是为了区分cookie。8) 然后重启三台主机上的服务即可测试。

坚守自己的原则,世界上的诱-惑很多,

LAMP: 分布式 HTTP 2.4.25 + PHP 5.4.13 + MySQL 5.5.28 分离部

相关文章:

你感兴趣的文章:

标签云: