随着改革开放的步伐快速迈进,国内IT业的公司也犹如雨后春笋一般,一个接一个的涌现,这当中不乏有许多以制作门户网站发家致富的人,这也使得WWW服务器的技术一天比一天走向成熟。LAMP服务器环境,当然也是这当中热的发烫的技术之一。今天小弟我也就LAMP的架设,在博客里献献丑了。
什么是LAMP呢?实际上就是在Linux操作系统上搭配Apache+Mysql+php上实现WWW服务器平台架设。至于这些软件是什么,我就不在这里一一叙述啦,感兴趣的朋友可以上百度查查它们的相关历史。
好了,废话不多说了。首先让我们看看搭建这个平台需要给我们的Linux主机安装哪些软件来实现吧。(小弟这里使用的是Redhat Enterprise 4 Linux)
Httpd(Apache在1.3版本以后推出的软件包名称)、mysql、mysql-server、php、php-devel(里面包括php的软件加速工具)、php-mysql.
上述的这些软件包,如果是新手朋友安装的话,建议使用rpm软件包安装,不建议使用源代码包自行编译安装(因为过程有点复杂)。
软件包安装完毕后,我们可以使用rpm -ql命令来查询下软件包内的文件被放置在了系统的哪些位置。
首先让我们来看下Httpd软件包的文件在哪?
/etc/httpd/conf/httpd.conf:Apache的主要配置文件,包括设置Apache服务器运行的参数等等。
/etc/httpd/conf.d/*.conf :可以在不对httpd.conf设置的情况下,使用自己设置的一些配置文件,放在此目录中,当Apache在启动时会自动加载执行。(注意,文件扩展名要为.conf)
/usr/lib/httpd/modules/:用于存放Apache支持的模块。
/var/www/html/:用于存放网站首页的目录。
/var/www/error/:存放当 主机发生故障时,在浏览器上显示的错误消息文件的目录。
/var/www/cgi-bin/:一些默认的CGI文件的存放目录。
/var/log/httpd/:用于存放Apache的日志文件。
/usr/sbin/apachectl:用于执行Apache服务的Shell script文件。
/usr/sbin/httpd:主要的Apache的二进制执行文件。
/usr/bin/htpasswd:用于生成基本的Apache访问密码。
/var/www/icons:存放一些Apache默认的图标文件。
好了,软件包安装完了,所生成的文件和目录大概是做什么用的也了解了。现在,是该到着手配置一下小显身手的时候了。
谈到配置,主配置文件的设定是肯定的。虽然Apache默认已经为我们做了一些配置,但是我们至少也得了解一下这些配置到底是做什么的,方便日后修改或排障。
为了方便解释,我先进入到/etc/httpd/conf目录中,
使用:
#grep ^\[^#\] httpd.conf | less
这样做的目的是将httpd.conf中的注释文件过滤了,方便阅读。
ServerTokens OS
这一段是告诉客户端服务器的版本和操作系统。如果不想让别人知道那么多,可以更改为Minor。
ServerRoot "/etc/httpd"
设置文件的根目录,一般是绝对路径,而下面的很多设置使用相对路径也是根据这个路径来配置的。
PidFile run/httpd.pid
放置Apache的PID文件目录。
Timeout 120
联机等待超时时间。300S左右即可。
KeepAlive Off
是否允许持续性联机。就是当建立一个TCP连接后,可以传送多个文件。而不必没一个文件都建立TCP连接。推荐设置为ON。
MaxKeepAliveRequests 100
当允许持续性联机时,最大传输单元。0代表不限制。
KeepAliveTimeout 15
允许持续性联机时,最后一次传输后等待延时。不宜过大,否则空连接过多会浪费服务器资源。
<IfModule prefork.c>
StartServers 8
Apache启动时同时起用的进程数。
MinSpareServers 5
最小进程数
MaxSpareServers 20
最大进程数
ServerLimit 256
服务保持时间
MaxClients 256
最大连接数
MaxRequestsPerChild 4000
最大传输次数要求
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
以上两段是Apache默认的两种工作类型模块。
Worker.c更适合流量较大的网站。
Listen 80
Apache启动时所监听的端口
Load modules....
Apache所加载的模块。支持很多喔。
Include conf.d/*.conf
就是前面讲过的,用于放置一些用户自己的配置文件,而在Apache启动时自动加载。
User apache
Group apache
Apache启动和运行时需要的用户和组。
ServerAdmin Liu_840@126.com
管理员的邮箱地址。
ServerName [url]www.Benet.com:80[/url]
设置主机的名称。否则将自动去/etc/hosts里查找。
UseCanonicalName Off
是否使用标准主机名称。如果使用多个主机名称时,就要OFF了。如果ON的话,只会使用ServerName上的主机名。
DocumentRoot "/var/www/html"
放置网页文件的目录路径。
天我给大家讲一下apache+php+mysql是怎么整合在一起的。
apache
1 [url]http://httpd.apache.org[/url] 下载http2.0
httpd-
2 md5sum -c httpd-2.2.4.tar.gz.md5 出现OK 表示正常
3 tar -zxvf httpd-2.2.4.tar.gz
4 cd httpd-2.2.4
5 ./configure --sysconfdir=/etc --enable-ssl --enable-modules
sysconfdir(说明主配置文件放在那),--enable-ssl (支持网页加密) --enable-modules(支持模块)
6 make ; make install (编译并且安装)]
7 /usr/local/apache2/bin/apachectl start (启动服务器)
8 echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.local (开机的时候自动启动apache服务器)
(说明:在启动apache服务器的时候,一定要保证主机名DNS能解析,例:改主机名 vi /etc/sysconfig/network 把hostname= 后面改成以域名的形式 例如:[url]www.yirehe.com[/url] 但要保证DNS能解析的
在做实验的时候,vi /etc/hosts 例如加入 192.168.0.123 [url]www.yirehe.com[/url] www 这样才能启动服务器)
MYSQL
1 [url]http://www.mysql.com[/url] 下载
2 md5sum mysql-
3 ./configure --sysconfdir=/etc
4 make ; make install
5 cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf (my-large.cnf 适合用在大型网站数据库的)
6 useradd -d /usr/local/var mysql (为了安全,我们建一个普通用户来初始化数据库,MYSQL的主目录
在/usr/local/var下 而且这个用户是不能登陆服务器的。)
7 su - mysql (切换用户)
8 /usr/local/bin/mysql_inistall_db
9 /usr/local/bin/mysqld_sefa & (启动服务器) & (表示在后台运行)
10 mysql -u root (登陆MYSQL服务器)
11 cp /usr/local/share/mysql/mysql.server /etc/init.d/mysqld
12 chkconfig mysqld on (11-12 是开机的时候自动启动MYSQL服务器)
php
1 [url]http://www.php.net[/url] 下载
2 md5sum php-
3 tar -jxvf php-4.4.4.tar.bz2
4 cd php-4.4.4
5./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local
apxs2 (来制定APCHE的安装路径 不同版本的apxs是不一样的) ; --with-mysql=/usr/local (MYSQL的安装 路径,在这里我们安装的是默认的路径。)
6 make ; make install
7 cp php.ini-disk /usr/local/lib/php.ini (在cd php-4.4.4里)
8 vi /etc/httpd.conf
用 / 命令后面加AddType 找到它 ,在它的下面 编写
AddType application/x-httpd-php .php .phtml (识别PHP 文件)
9 cd /usr/local/apache2/htdocs
vi test.php
写入 <?php
phpinfo();
?>
来测试PHP
10 /usr/local/apache2/bin/apachectl restart (重启APACHE服务器)
11 lynx [url]http://localhost/test.php[/url] (可以看到PHP的主页)
到这里整合包的使用 E网咖啡猫 已经讲完了,大家多做几遍就能做出来了。
返回顶部