您的位置:首页 > 运维架构 > Apache

CentOS+Apache+Mysql+Php安装及优化配置小记

2010-03-06 09:29 1041 查看
本文软件的下载地址就不列出,主要是记录安装时的步骤及相关问题的处理方法;基于安装方法目前有两种,一种是利用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

<IfModule worker.c>

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.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

==================


关链接:

CentOS+Apache+Mysql+Php安装及优化配置小记

CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录
&& 将apache安装为系统服务

CentOS 5.3 下编译安装Fcitx(小企鹅输入法)

CentOS 5.3上yum安装Apache+php+Mysql+phpMyAdmin

Linux下Apache2+MySQL5+PHP5安装

linux yum安装mysql后要注意的一些初始化问题

Fedora 8下用Yum安装Apache+PHP+MySQL环境

pthread之线程堆栈

Linux下pthread线程库介绍

Pthread 介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: