目录
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) 然后重启三台主机上的服务即可测试。
坚守自己的原则,世界上的诱-惑很多,