centos编译安装nginx+php前端,独立mysql

post by rocdk890 / 2012-8-23 17:33 Thursday linux技术
   很多企业在搭建web网站的时候,大多数都是采用web+php在一台服务器,mysql独立一台服务器,当然我们这里不讨论是否可以抗得住高并发,数据备份和安全这些.写这篇文章之前,我问了很多人前端是否需要安装mysql,一些说需要,最后我采用的是在web前端安装mysql客户端.
   前端(nginx+php)ip:192.168.10.8
   后端(独立mysql)ip:192.168.10.5
   软件版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch
1.先在后端安装mysql
在192.168.10.5上只安装mysql.方法可以去看centos编译安装nginx+php-fpm+mysql里的mysql安装.

2.在前端安装php-fpm nginx和mysql-client

这里只说下安装mysql-client和php的编译安装.

tar zxf mysql-5.1.63.tar.gz && cd mysql-5.1.63
./configure --prefix=/usr/local/mysql --without-server
这里只需要加上--without-server就可以让mysql变成客户端了.
如果出现/bin/rm: cannot remove `libtoolt': No such file or directory,可以去看这篇文章Mysql安装:/bin/rm: cannot remove `libtoolt': No such file or directory.
没有问题后,执行命令:
make && make install

编译php的时候只需要加上--with-mysql=mysql客户端安装目录就可以了.这里我给出编译参数:
./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --with-fpm-log=/var/log/php-fpm.log \
--with-fpm-conf=/etc/php-fpm.conf --with-fpm-pid=/var/run/php-fpm.pid --with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl \
--enable-ftp --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-gettext --with-mhash \
--enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv \
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --without-pear

nginx的编译没有什么好说的了,我前面centos编译安装nginx+php-fpm+mysql这篇文章里已经有讲过了.

3.进行测试验证
当上面的一切都安装好之后,在后端的mysql里给出远程权限,如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

然后iptables上只允许192.168.10.8访问mysql端口,其他都拒绝.如:
iptables -A RH-Firewall-1-INPUT -s 192.168.10.8 -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -p tcp --dport 3306 -j DROP
services iptables save
services iptables restart

然后在192.168.10.8上进行测试,是否可以远程连上mysql
mysql -h 192.168.10.5 -u root -p
如果可以连上,就继续下一步的操作,不能连上的话请检查上面是否有错误的地方.

现在我们加个php页面来测试php是否可以连上mysql,脚本如下:
<?php
$link=mysql_connect("192.168.10.5","root","123456");
if(!$link) echo "bad!" ;
else echo "ok!" ;
mysql_close();
?>
成功的话是ok!的输出,失败的话是bad!的输出,我这里是成功的,如图
点击查看原图
好了,就到这里吧.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-243.html

标签: nginx centos mysql php-fpm 安装 php 独立 前端

评论: