魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

LAMP服务器架设笔记(一)



随着改革开放的步伐快速迈进,国内IT业的公司也犹如雨后春笋一般,一个接一个的涌现,这当中不乏有许多以制作门户网站发家致富的人,这也使得WWW服务器的技术一天比一天走向成熟。LAMP服务器环境,当然也是这当中热的发烫的技术之一。今天小弟我也就LAMP的架设,在博客里献献丑了。

    什么是LAMP呢?实际上就是在Linux操作系统上搭配Apache+Mysql+php上实现WWW服务器平台架设。至于这些软件是什么,我就不在这里一一叙述啦,感兴趣的朋友可以上百度查查它们的相关历史。

    好了,废话不多说了。首先让我们看看搭建这个平台需要给我们的Linux主机安装哪些软件来实现吧。(小弟这里使用的是Redhat Enterprise 4 Linux

    HttpdApache1.3版本以后推出的软件包名称)、mysqlmysql-serverphpphp-devel(里面包括php的软件加速工具)、php-mysql.

    上述的这些软件包,如果是新手朋友安装的话,建议使用rpm软件包安装,不建议使用源代码包自行编译安装(因为过程有点复杂)。

     软件包安装完毕后,我们可以使用rpm -ql命令来查询下软件包内的文件被放置在了系统的哪些位置。

    首先让我们来看下Httpd软件包的文件在哪?

     /etc/httpd/conf/httpd.confApache的主要配置文件,包括设置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

     放置ApachePID文件目录。

     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.2.4.tar.gz
MD5校验码httpd-2.2.4.tar.gz.md5
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-4.1.16.tar.gz (
看一下是否和网站给的MD5值一样)
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-4.4.4.tar.bz2
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网咖啡猫 已经讲完了,大家多做几遍就能做出来了。

 



返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.3


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1