几个月前研究了下apache2的架构与部署,时隔那么长时间发现居然全忘了,不得不重新来一遍,写一片日志方便以后查阅。

           首先我用的是ubuntu系统,不为别的,光是它方便的软件安装与卸载过程就令你无法抗拒。特别是在Redhat下面挣扎数小时,安装成功一个软件,突然发现在Ubuntu下只需要一行命令的时候,你的心中就有了决定。当然,Redhat下也有它自己的yum命令,但是个人觉得还是远没有Ubuntu好用。

 

1. apache2的安装

          言归正转,首先是安装apache2.

           简简单单一句话:#apt-get install apache2

           一系列刷屏完成之后,apache2的各个组成部分被安装在5个地方:

  • 配置文件的位置:/etc/apache2
  • lib文件的位置:/usr/lib
  • 启动文件的位置:/etc/init.d/apache2
  • 网页存放位置:/var/www
  • 软件所在位置:/usr/share/apache2

如果对Ubuntu下的软件安装不熟悉,可以参考:http://blog.csdn.net/lrenjundk/article/details/7082620

 

 

2. apache2的启动与关闭

        启动与关闭apache2可以使用以下命令:

 

  • 启动:/etc/init.d/apache2 start    或者  apache2ctl start
  • 关闭:/etc/init.d/apache2 stop  或者 apache2ctl stop
  • 重启:/etc/init.d/apache2 restart  或者  apache2ctl restart

3. 网页部署:

         在apache2下面部署网页也相当简单,首先打开配置文件目录:

         #cd /etc/apache2

         root@lrenjundk-virtual-machine:/etc/apache2# ls
         apache2.conf  envvars     magic           mods-enabled  sites-available
         conf.d        httpd.conf  mods-available  ports.conf    sites-enabled

3.1 apache参数:

         在该目录下,最为重要的是apache2.conf文件,其中包含了apache的主要参数,包括可以配置的线程数量,进程数量,用户数量,服务器数量等等:

  1. <IfModule mpm_worker_module>  
  2.     StartServers          2  
  3.     MinSpareThreads      25  
  4.     MaxSpareThreads      75  
  5.     ThreadLimit          64  
  6.     ThreadsPerChild      25  
  7.     MaxClients          150  
  8.     MaxRequestsPerChild   0  
  9. </IfModule>  
  10.   
  11. <IfModule mpm_event_module>  
  12.     StartServers          2  
  13.     MinSpareThreads      25  
  14.     MaxSpareThreads      75  
  15.     ThreadLimit          64  
  16.     ThreadsPerChild      25  
  17.     MaxClients          150  
  18.     MaxRequestsPerChild   0  
  19. </IfModule>  
  20.   
  21. <IfModule mpm_prefork_module>  
  22.     StartServers          5  
  23.     MinSpareServers       5  
  24.     MaxSpareServers      10  
  25.     MaxClients          150  
  26.     MaxRequestsPerChild   0  
  27. </IfModule>  

 

 

3.2 链接网页

        要链接网页首先需要在/var/www 中创建自己的网页,此处已经有一张默认的网页index.html。也就是apache2启动后默认的那张It works。

        建立自己的网站,首先需要创建一个独立的文件夹,以区分不同的网站,并且能确保他们之间互不影响。当然,apache可以同时启动多个虚拟站,那是后话。

        #mkdir wsclient

        #cp /usr/my.html .

        这样我们就能进入网页部署的第二步,打开apache配置文件夹,我们会发现在这下面有两个名为 sites-available和sites-enabled的文件夹。首先打开sites-available,其中保存了我们网站的虚拟机配置信息。对于我们的网页,我们可以新建一个名为wsclient的文件,并进行以下编辑

 

  1. NameVirtualHost *  
  2. <VirtualHost *:8080>  
  3.         ServerAdmin webmaster@localhost  
  4.   
  5.         DocumentRoot /var/www/wsclient  
  6.         <Directory />  
  7.                 Options FollowSymLinks  
  8.                 AllowOverride None  
  9.         </Directory>  
  10.         <Directory /var/www/wsclient>  
  11.                 Options Indexes FollowSymLinks MultiViews  
  12.                 AllowOverride None  
  13.                 Order allow,deny  
  14.                 allow from all  
  15.         </Directory>  
  16.   
  17.         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  
  18.         <Directory "/usr/lib/cgi-bin">  
  19.                 AllowOverride None  
  20.                 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch  
  21.                 Order allow,deny  
  22.                 Allow from all  
  23.         </Directory>  
  24.   
  25.         ErrorLog ${APACHE_LOG_DIR}/error.log  
  26.   
  27.         # Possible values include: debug, info, notice, warn, error, crit,  
  28.         # alert, emerg.  
  29.         LogLevel warn  
  30.   
  31.         CustomLog ${APACHE_LOG_DIR}/access.log combined  
  32.   
  33.     Alias /doc/ "/usr/share/doc/"  
  34.     <Directory "/usr/share/doc/">  
  35.         Options Indexes MultiViews FollowSymLinks  
  36.         AllowOverride None  
  37.         Order deny,allow  
  38.         Deny from all  
  39.         Allow from 127.0.0.0/255.0.0.0 ::1/128  
  40.     </Directory>  
  41. </VirtualHost>  


先不要管其他内容,我们需要注意的是如果绑定我们原本的文件夹到此虚拟机上,关键语句:

  1. DocumentRoot /var/www/wsclient  

 

最后,有了虚拟机和网站信息,还需要打开apache下的另一个文件夹sites-enabled,将虚拟机注册到apache上,当apache启动的时候,会自动启动虚拟机。我们的网站也就能站成运行了:

#cd ../sites-enabled

#ln -s ../sites-abailable/wsclient wsclient

大功告成,打开浏览器,输入localhost或者你机器的ip就能显示你所编辑的网页了