设为首页 收藏本站
查看: 1164|回复: 0

LAMP_FPM模式方式

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-8 09:15:24 | 显示全部楼层 |阅读模式
网络拓扑图

wKiom1VKoU2hpIvgAAEHKM3e7JE543.jpg
网络环境Web服务器
系统/内核/IP: CentOS release 6.6 (Final) uname -r
2.6.32-504.el6.x86_64eth0: 172.16.6.61 ech1 : 192.168.6.61
Apache版本 : Apache/2.4.10
Php应用服务器
    系统/内核/IP: CentOS release 6.6 (Final) uname -r
2.6.32-504.el6.x86_64eth0: 192.168.6.62
Php  : php-5.4.40
xcache版本:xcache-3.2.0
数据库版本:mariadb-5.5.43-linux-x86_64.tar.gz
数据库服务器
    系统/内核/IP: CentOSrelease 6.6 (Final) uname -r
2.6.32-504.el6.x86_64eth1: 192.168.6.63
    数据库版本:mariadb-5.5.43-linux-x86_64.tar.gz
mysql服务器#添加运行mysql的用户和用户组
groupadd -g 306 mysql
useradd -r -u 306 -g 306 -s/sbin/nologin mysql
id mysql
#uid=306(mysql)gid=306(mysql) groups=306(mysql)
安装mariadb
tar xvfmariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local/
cd  /usr/local/
#创建符号链接
ln -smariadb-5.5.43-linux-x86_64 mysql
ls -lh mysql
#lrwxrwxrwx 1 root root 27May  3 19:54 mysql ->mariadb-5.5.43-linux-x86_64
#为mysql提供服务器控制脚本
cp support-files/mysql.server/etc/init.d/mysqld
chmod u+X /etc/init.d/mysqld
#授权mysql 为mysql数据目录的的属主
chown -R root.mysql/usr/local/mariadb-5.5.43-linux-x86_64/
chown mysql.root /data/mydata
初始化MySQL数据库
/usr/local/mysql/scripts/mysql_install_db--user=mysql --datadir=/data/mydata/
#为mysql提供主配置文件
cd mysql/
cpsupport-files/my-large.cnf  /etc/my.cnf
#修改my.cnf 添加数据目录的位置
[iyunv@localhost mysql]# vim/etc/my.cnf
....
[mysqld]
datadir = /data/mydata
...
启动mysql
/etc/init.d/mysqld start
添加mysqld至服务列表
# chkconfig --add mysqld
# chkconfig mysqld on
php应用服务器安装phpphp应用服务器需要安装MySQL 安装方法如 mysql服务器一样 #也可以使用yum安装mysql
安装开发环境
yum groupinstall"Development tools" "Server Platform Development""Desktop Platform Development" "Debug Tools" -y
PHPrpm包的依赖关系
yum install bzip2-devel -y
yum install -ylibmcrypt-devel
安装php
tar xvf php-5.4.40.tar.bz2
cd php-5.4.40
./configure --prefix=/usr/local/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\
--with-bz2
make && make install
说明:
1、这里为了支持apache的worker或event这两个MPM,编译时使用了--enable-maintainer-zts选项。
2、如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure--with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
为php提供配置文件 #cp 解压的源代码树下的php.ini-production
cp php.ini-production/etc/php.ini
为php-fpm提供配置文件
cd /usr/local/php/etc/
cp -a php-fpm.conf.defaultphp-fpm.conf
修改php-fpm.conf
...
listen = 192.168.6.62:9000 #监听在外网地址接受前端httpd服务器的请求
...
为php-fpm提供服务控制脚本,并将其添加至服务列表
cpsapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x/etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
启动php-fpm
/etc/init.d/php-fpm start
验正php进程是否启动成功
# ps aux | grep php-fpm #用于查看php进程
# netstat -tnlp | grep php-fpm #用于查看php是否监听在响应的套接字上


httpd服务#安装apr
tar xvf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure--prefix=/usr/local/apr
make && make install
cd ..

安装apr-util
tar xvfapr-util-1.5.3.tar.bz2
cd apr-util-1.5.3
./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
cd ../
安装httpd-2.4.10
#解决pcre的依赖关系
yum install pcre-devel –y

tar xvf httpd-2.4.10.tar.bz2
cd httpd-2.4.10
./configure--prefix=/usr/local/httpd24 --enable-so --enable-ssl --enable-cgi--enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util --enable-modules=most--enable-mpms-shared=all --with-mpm=event
make && make install
cd ../
加载代理模块配置修改httpd.conf
LoadModule proxy_modulemodules/mod_proxy.so
LoadModule proxy_fcgi_modulemodules/mod_proxy_fcgi.so
#配置虚拟主机
修改httpd.conf
/usr/local/httpd24/conf/httpd.conf
# Virtual hosts
Includeconf/extra/httpd-vhosts.conf

#配置httpd-vhosts.conf

<Directory"/data/web">
        Options none
        AllowOverride none
        Require all granted
</Directory>
<VirtualHost *:80>
    DocumentRoot "/data/web/a.com"
    ServerName www.a.com
    ServerAlias a.com
    ErrorLog "logs/a.com-error_log"
    CustomLog "logs/b.com-access_log"common
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$fcgi://192.168.6.62:9000/data/web/a.com/$1
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "/data/web/b.com"
    ServerName www.b.com
    ServerAlias b.com
    ErrorLog "logs/b.com-error_log"
    CustomLog "logs/b.com-access_log"common
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$fcgi://192.168.6.62:9000/data/web/b.com/$1
</VirtualHost>

#分别在web服务器 和 php应用服务上创建网站根目录
mkdir /data/web/{a.com,b.com}
#在mysql服务器创建用户并授权
MariaDB [(none)]> createdatabase pmdb;
Query OK, 1 row affected(0.00 sec)
MariaDB [(none)]> create databasedzdb;
Query OK, 1 row affected(0.00 sec)
MariaDB [(none)]> grantall on pmdb.*  to 'pmuser'@'192.168.662'identified by '123456';
Query OK, 0 rows affected(0.00 sec)
MariaDB [(none)]> grantall on dzdb.*  to 'dzuser'@'192.168.6.%'identified by '123456';
Query OK, 0 rows affected(0.00 sec)
MariaDB [(none)]> flushprivileges;
Query OK, 0 rows affected(0.00 sec)
在php应用服务器上提供php连接mysql的测试页
cat >/data/web/a.com/testmysql.php  <<EOP
<?php
      $link =mysql_connect('192.168.6.63','pmuser','123456');
      if ($link)
        echo " pmuser Success...";
      else
        echo "Failure...";
      mysql_close();
?>
<<EOP

cat >/data/web/b.com/testmysql.php <<EOP
<?php
      $link =mysql_connect('192.168.6.63','dzuser','123456');
      if ($link)
        echo " dzuser Success...";
      else
        echo "Failure...";
      mysql_close();
?>
<<EOP
访问


安装xcache
tar xvf xcache-3.2.0.tar.bz2
cd xcache-3.2.0
/usr/local/php/bin/phpize
./configure --enable-xcache -with-php-config=/usr/local/php/bin/php-config
make && make install
#在编译安装最后
###
#Installing sharedextensions:    /usr/local/php/lib/php/extensions/no-debug-zts-20100525/
###
提供xcache.ini
mkdir /etc/php.d
cp xcache.ini /etc/php.d/ #在xcache源代码书目录下
修改xcache.ini
[root@localhostxcache-3.2.0]# vim /etc/php.d/xcache.ini
修改extension = xcache.so 为
extension =/usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
访问测试
wKioL1VKo0uxFatJAAGQlQNoQio250.jpg

部署 phpmyadmin到www.a.com
wKioL1VKoyDTyOvXAAEtQi6NCaw485.jpg

部署 discuz到www.b.com



wKiom1VKoZPRp906AAHqwiiInMg548.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-64869-1-1.html 上篇帖子: lnmp一键安装脚本 下篇帖子: LAMP架构之DNS+NFS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表