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

[经验分享] CentOS 6上搭建LAMP

[复制链接]

尚未签到

发表于 2018-4-26 11:56:46 | 显示全部楼层 |阅读模式
  要求:1.httpd服务器(使用event事件驱动机制),php服务器,mysql服务器三者分离。
  2.http服务提供两个页面.
  另一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress
  3.使用xcache提高php资源请求处理速度。

  

  准备工作:三台虚拟主机,配置好yum源,分别准备好httpd,php-fpm源码包和二进制通用版的mariadb。另外作为httpd服务器的主机上需要同时准备apr-1.4+, apr-util-1.4+这两个源码包。
  

DSC0000.png

  

  第一步:配置httpd服务器
  
  1.准备编译环境
  yum安装Development Tools, Server Platform Development这两个包组,安装openssl-devel,pcre-devel这两个包。


2.开始编译
因为httpd2.4以上的版本依赖于apr-1.4+, apr-util-1.4+,CentOS 6上的apr和apr-util版本太低,所以编译httpd2.4以前需要先编译此两个组件。




编译apr DSC0001.png
    完成后,执行编译安装

  apr-1.5.0]# make -j 2 && make install

  编译apr-util

DSC0002.png      完成后,执行编译安装

  apr-util-1.5.2]# make -j 2 && make install
  

  编译httpd2.4
DSC0003.png

  完成后,执行编译安装
  httpd-2.4.10]# make -j 2 && make install
  

  3.安装后配置

  

  添加程序默认执行路径(PATH环境变量)
DSC0004.png

  

DSC0005.png

  

DSC0006.png

  

DSC0007.png

  

  

  导出头文件

DSC0008.png

  

  

  导出库文件
DSC0009.png

  httpd编译完成后没有提供库文件,所以不用导出了
  如果需要导出库文件,可以按如下步骤:
  导出httpd-2.4库文件目录:在 /etc/ld.so.conf.d/目录下创建一个.conf结尾的文件,编辑它,在其中加入其安装生成的库文件路径。然后运行ldconfig -v重新加载。
  注:可以使用ldconfig -p查看已经加载的库文件。
  

  

  增加man手册路径
DSC00010.png

  

DSC00011.png

  

  

  虽然此时httpd2.4已经可以手动启动,但因为没有服务脚本,所以没办法设置为自动启动。

  可以选择写一个服务脚本,或者复制httpd2.2的服务脚本修改。
  本人水平不够,写服务脚本这个高难度的事就不挑战了,只好从别的主机复制一个httpd2.2版本的来修改一下用。
  

DSC00012.png

  编辑修改配置文件

  可以选择删除或者注释   if [ -f /etc/sysconfig/httpd ]; then
                          . /etc/sysconfig/httpd
                    fi
  我这里是注释了
DSC00013.png

  修改httpd进程的相关参数,改为你编译安装的路径
  apachectl=/Directoy/To/apachectl
             httpd=${HTTPD-/Directoy/To/httpd}
             prog=httpd
             pidfile=${PIDFILE-/usr/local/httpd2.4/logs/httpd.pid}
             lockfile=${LOCKFILE-/var/lock/subsys/httpd2.4} DSC00014.png
  服务脚本添加完成,然后使用chkconfig添加服务。之后就可以设置开机自启动和使用service命令控制服务了。
DSC00015.png

  查看httpd的mpm模式

DSC00016.png

  查看httpd是否启用fcgi模块
DSC00017.png 测试是否能提供服务页面

DSC00018.png

  

  配置虚拟主机提供不同的服务主页
  修改主配置文件注释掉主服务的资源路径:DocumentRoot这一项,启用下面这一项
DSC00019.png

  然后编辑此路径下的这个配置文件就可以了。
  配置虚拟主机的方法和CentOS 7上yum安装的2.4一样,这里就不细说了(详情可以参考我的另外一篇博客:在CentOS 7上搭建LAPM
  

  

  第二步:配置php服务器


1.准备编译环境
yum安装Development Tools, Server Platform Development这两个包组,安装libxml2-devel,libmcrypt-devel,bzip2-devel,libcurl-devel等等这几个包。(在编译过程中依赖到的,都需要按装 pakeagename-devel的开发包)
  

  2.开始编译
DSC00020.png

DSC00021.png

  完成后,执行编译安装
  php-5.4.40]# make -j 2 && make install
  

  

  3.安装后配置
  

  添加程序默认执行路径(PATH环境变量)

DSC00022.png

DSC00023.png

  然后重新登陆一下bash,重读配置文件。
  

  编辑配置文件
DSC00024.png

DSC00025.png

DSC00026.png

DSC00027.png

DSC00028.png

  

  4.测试
  在httpd服务器配置好的虚拟主机
DSC00029.png 现在在php服务器的资源路径下创建一个测试页面进行测试。

DSC00030.png

  

  测试OK
DSC00031.png

  

  

DSC00032.png

  

  程序已经运行了,但是没有服务脚本,不能用service命令控制,也不能实现自动运行。
  可以看一下编译完有没有提供服务脚本
DSC00033.png

DSC00034.png

  是CentOS 6 的服务脚本,路径都是配置正确的,可以使用
DSC00035.png

  注意:查看复制过去后此服务脚本是否有执行权限,如果没有需要加上执行权限。
  这样服务就配置完整了


5.安装php-mysql包(php和mysql之间的通信协议)
~]# yum install php-mysql

  然后重载一下服务
  ~]# service httpd reload


第三步:配置mariadb服务器

1.安装mariadb

在安装需要创建一个系统用户mysql用于运行mysql, ~]# useradd -r mysql


DSC00036.png
添加服务脚本
在support-files有配置文件模板和服务脚本。可以查看一下其内容是否符合要求
DSC00037.png DSC00038.png

  验证OK用户,复制到服务脚本的路径下,然后添加系统服务
DSC00039.png

  添加主配置文件,然后修改参数
DSC00040.png

  

DSC00041.png

  

  

  启动服务
  

DSC00042.png





添加程序默认执行路径(PATH环境变量):~]# vim /etc/profile.d/mysqld.sh
DSC00043.png


2.测试
登陆mysql:创建一个用户和数据库,并赋权,用于测试。
DSC00044.png

  

  在PHP服务器添加一个测试页面,写入php连接mysql的测试代码:
<?php
      $conn = mysql_connect('192.168.0.100','ts','tspass');
      if ($conn)
          echo "OK";
      else
        echo "Failure";
?>
  

DSC00045.png

  

DSC00046.png

  


  

  

  第四步:用www.a.com这个虚拟主机提供phpMyAdmin,用www.b.com这个虚拟主机提供wordpress
  

  此过程可以参考我的另外一篇博客:在CentOS 7上搭建LAPM

  

  第五步:安装xcache,提高处理php请求速度
  这里使用yum安装xcache(编译安装同样可以看上面链接那篇博客)

  

  1.安装前压测
  

DSC00047.png DSC00048.png 测试三到五次,看结果是否稳定

  

  2.安装xcache
  ~]# yum install php-xcache
  ~]# service php-fpm restart
  

  

  3.安装后压测

运维网声明 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-452274-1-1.html 上篇帖子: CentOS 7, lamp 下篇帖子: CentOS 7 基于fastcgi 的lamp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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