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

[经验分享] CentOS+Apache+Mysql+Php安装及优化配置小记

[复制链接]

尚未签到

发表于 2018-9-27 08:14:44 | 显示全部楼层 |阅读模式
本文软件的下载地址就不列出,主要是记录安装时的步骤及相关问题的处理方法;基于安装方法目前有两种,一种是利用RPM包安装,一种源码编译安装;以下主要是以源码编译安装;因为源码安装软件的相互依赖性小,安装方式用各种unix/linux系统,维护方便。如果想去除相关服务时,直接rm –rf目录 即可;建议采用源码方式安装; 系统环境和需要的软件:  1、CentOS
  2、httpd-xxx.tar.gz
  3、php5-xxx.tar.gz
  4、mysql-xxx.tar.gz
  5、所有软件安装目录/usr/local/
  服务器软件安装顺序:Apache(httpd) --> Mysql --> PHP
  Apache编译安装
  [root@server src]# tar -zxvf /home/soft/httpd-2.0.63.tar.gz
  [root@server src]# cd httpd-2.0.63/
  [root@server httpd-2.0.63]#./configure --prefix=/usr/local/apache --enable-so
  [root@server httpd-2.0.63]# make clean; make
  [root@server httpd-2.0.63]## make install
  执行完以上命令后,执行 /usr/local/apache/bin/httpd -l检查mod_so模块是否已编译,如下图:

  Mysql编译安装
  [root@server src]# tar -zxvf /home/soft/mysql-5.0.56.tar.gz
  [root@server src]# cd mysql-5.0.56/
  [root@server mysql-5.0.56]# ./configure --prefix=/usr/local/mysql
  [root@server mysql-5.0.56]#make clean; make
  [root@server mysql-5.0.56]#make install
  [root@server mysql-5.0.56]#useradd mysql
  [root@server mysql-5.0.56]#cp support-files/my-medium.cnf  /etc/my.cnf
  [root@server mysql-5.0.56]#cd /usr/local/mysql
  [root@server mysql]#./bin/mysql_install_db  --user=mysql //初始化数据库
  [root@server mysql]#chown -R root .
  [root@server mysql]#chown -R mysql var
  [root@server mysql]#chgrp -R mysql .
  [root@server mysql]# ./bin/mysqld_safe --user=mysql &   启动mysql
  [root@server mysql]# ./bin/mysql –u root -p密码为空,直接回车
  PHP编绎安装
  [root@server src]# tar -zxvf /home/soft/soft/php-5.2.6.tar.gz
  [root@server src]# cd php-5.2.6/
  [root@server php-5.2.6]# ./configure --prefix=/usr/local/php
  -with-apxs2=/usr/local/apache/bin/apxs -with-mysql=/usr/local/mysql  //如果不先安装mysql,这一步将会出错
  [root@server php-5.2.6]#make clean; make
  [root@server php-5.2.6]#make install
  [root@server php-5.2.6]#cp php.ini-dist /usr/local/php/lib/php.ini
  在配置过程中,除了指定安装目录外,还有-with-apxs2和-with-mysql这两个选项。-with-apxs2的作用是与 apache的工具apxs配合,产生模块文件到目录/usr/local/apache/modules/,同时也会自动在apache的配置文件中写入一行"LoadModule php5_module        modules/libphp5.so";
  接着需要把php与apache整合在一起,这个过程很简单,由于在安装php时已经完成了模块的加载,接下来只要在apache的配置文件 httpd.conf加上"AddType application/x-httpd-php .php"一行就行了(注:.php前面有空格)。然后在目录/usr/local/apache/htdocs下创建一个最简单的php测试文件,如下图:

  保存退出后检查一下apache配置文件是否正确并启动apache服务,如下:
  [root@server ~]# /usr/local/apache/bin/httpd -t
  Syntax OK
  [root@server ~]# /usr/local/apache/bin/apachectl start
  利用WINXP客户端在浏览器输入刚配置的这个服务器的url,正常的话,将得到类似下图的页面,由于之前配置过DNS,因此这里直接输域名,并测试DNS是否正常工作;

  测试PHP:

  以上所有测试完成!
  关于优化Apache的性能,需要对worker.c这个模块进行配置。不同配置、不同流量的服务器需要有不同的设置方式,以达到性能最优化!这里只是做简单介绍:
  /usr/local/apache/conf/httpd.conf
  
  ServerLimit 20
  #服务器允许配置的进程数上限。这个指令和ThreadLimit结合使用设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
  ThreadLimit 200
  #每个子进程可配置的线程数上限。这个指令设置了每个子进程可配置的线程数ThreadsPerChild上限。任何在重启期间对这个指令的改变都将被忽略,但对ThreadsPerChild的修改却会生效。默认值是"64".
  StartServers 5
  #服务器启动时建立的子进程数,默认值是"3"。
  MinSpareThreads 50
  #最小空闲线程数,默认值是"75"。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。
  MaxSpareThreads 250
  # 设置最大空闲线程数。默认值是"250"。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。 MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于 MinSpareThreads加上ThreadsPerChild的和
  MaxClients 2000
  # 允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候队列。默认值是"400",16 (ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,你必须同时增加 ServerLimit的值。
  ThreadsPerChild 100
  #每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。
  MaxRequestsPerChild 10000
  #设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。
  #将MaxRequestsPerChild设置成非零值有两个好处:
  #1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
  #2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
  以上学习小记,如有不足之处,请博友们指教,THX。。。。。。


运维网声明 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-602550-1-1.html 上篇帖子: mytop-MySQL监控工具 下篇帖子: 安装mysql报错-MySQL conflicts with ....
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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