lamp中分离mysql
时间:2022-03-14 01:26
apahce和php的结合方式有两种
1 php作为模块与apache结合
2 php作为一个独立进程与apache结合,这种方式就需要通过反向代理的方式处理php脚本
lamp中mysql的分离,一般使用的是第二种方式!
参考帖子: 感谢发帖人
装载请标明来源: 谢谢 支持笔者的汗水
本实验
一 基本结构
192.168.204.7 php+apache 192.168.204.9 mysql apache(httpd) 2.4 php 5.5 mysql 5.6 apache 前端(处理静态)---php 动态php处理----mysql数据存储 二 mysql安装 (192.168.204.9上) userdel mysql groupadd mysql useradd -r -g mysql mysql tar -zxvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz ln -s src/mysql-5.6.21-linux-glibc2.5-x86_64 mysql cd mysql/ mkdir /data/mysql chown -R mysql.mysql /data/mysql/ scripts/mysql_install_db --user=mysql --datadir=/data/mysql cp support-files/mysql.server /etc/init.d/mysqld 修改/etc/init.d/mysqld 中datadir=/data/mysql basedir 可以不指定 默认为/usr/loca/mysql 安装文件路径 加入服务器自启动 chmod 755 /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on 加入环境变量 vim /etc/profile.d/mysql.sh #!/bin/bashPATH=$PATH:/usr/local/mysql/bin 修改密码 mysqladmin -uroot password ‘123456‘ 启动msyql /etc/init.d/mysqld start 三 安装httpd(192.168.204.7) 安装方法,可以参考上一篇帖子 tar apr tar apr-util
cp -rf apr-1.5.1 /usr/local/src/httpd-2.4.10/srclib/apr
cp -rf apr-util-1.5.4 /usr/local/src/httpd-2.4.10/srclib/apr-util
./configure --prefix=/usr/local/apache --with-included-apr --with-pcre --enable-mods-shared=most --enable-ssl make && make install 四 安装 php(192.168.204.7) 解压过程可以参考上一篇帖子,这里只是php的预编译./configure 的选项参数不相同,因为现在是使用php-fpm的通信方式了 tar 解压httpd useradd -s /sbin/nologin php-fpm # 创建启动fpm服务的用户cd php-5.3.28
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-zend-multibyte --disable-ipv6 --with-pear --with-curl --with-gettext #注意:--with-mysql几个选项都要为mysqlnd;因为mysql服务器单独为另一台机器 --enable-zend-multibyte 可能没有 可以选择不加
五 顺利启动APACHE 要做的基本配置
1 修改conf 去除启动错误 修改/usr/local/apache/conf/http.conf # ServerName :80 去掉注释 2 添加启动脚本 vim /etc/init.d/httpd 加入以下内容,参考博客 chmod +x /etc/init.d/httpd 3 加入服务自启动 chkconfig --add httpd chkconfig httpd on chkconfig --list httpd 查看结果
六 PHP要做的配置
PHP的配置 复制php配置文件 [ php-5.5.18]# pwd/usr/local/src/php-5.5.18
[ php-5.5.18]# cp php.ini-production /usr/local/php/etc/php-ini 复制php-fpm启动脚本 [ php-5.5.18]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[ php-5.5.18]# chmod +x /etc/init.d/php-fpm
[ php-5.5.18]# pwd
/usr/local/src/php-5.5.18 加入自启动 [ etc]# chkconfig --add php-fpm
[ etc]# chkconfig php-fpm on
[ etc]# chkconfig --list php-fpm 检查是否在自启动列表中 复制php-fpm的文件,有必要的话可以自行调整参数值 cd /usr/local/php/etc/ [ etc]# cp php-fpm.conf.default php-fpm.conf 启动php,默认监听所有地址
七 整合APACHE和PHP使APACHE支持PHP
[ php]# cd /usr/local/apache/conf/[ conf]# vim httpd.conf 定位AddType增加以下两行 定位Directory index 增加 index.php
定位LoadModule 开启 mod_proxy.so 和 mod_proxy_fcgi.so 两个模块
加入php的代理功能,php页面作为fcgi脚本呢处理,定位的http.conf 的最后一行
设置接受fcgi请求的地址 cd /usr/local/php/etc vim php-fpm.conf 定位listen 接受fcgi请求的地址,默认是172.0.0.1:9000 修改成所有或者本机ip都行重启httpd
八 Mysql能接受远方的主机的请求,授权给192.168.204.7主机(web主机)
192.168.204.9 的数据上要授权给192.168.204.7 mysql> grant all privileges on *.* to ‘root‘@‘192.168.204.7‘ identified by ‘123456‘; mysql> flush privileges;九 测试结果
1 默认的http是工作的
2 测试apache能否php是否工作 [ conf]# cd /usr/local/apache/htdocs/
[ htdocs]# vim 1.php <?php phpinfo(); ?> 访问结果 3 测试与mysql的连通性 192.168.204.7 ------> 192.168.204.9(mysql) vim testmysql.php <?php $connect= mysql_connect(‘192.168.204.9‘,‘root‘,‘123456‘); if($connect) echo "Connect mysql Successs....."; else echo "Connect mysql Failed......"; ?> 结果测试:表明可以和mysql进行通信