博客园  :: 首页  :: 新随笔  :: 管理

apache快速部署网页

Posted on 2014-07-14 14:21  Andy2011  阅读(956)  评论(0编辑  收藏  举报

           几个月前研究了下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的主要参数,包括可以配置的线程数量,进程数量,用户数量,服务器数量等等:

<IfModule mpm_worker_module>  
    StartServers          2  
    MinSpareThreads      25  
    MaxSpareThreads      75  
    ThreadLimit          64  
    ThreadsPerChild      25  
    MaxClients          150  
    MaxRequestsPerChild   0  
</IfModule>  
  
<IfModule mpm_event_module>  
    StartServers          2  
    MinSpareThreads      25  
    MaxSpareThreads      75  
    ThreadLimit          64  
    ThreadsPerChild      25  
    MaxClients          150  
    MaxRequestsPerChild   0  
</IfModule>  
  
<IfModule mpm_prefork_module>  
    StartServers          5  
    MinSpareServers       5  
    MaxSpareServers      10  
    MaxClients          150  
    MaxRequestsPerChild   0  
</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         Allow from all
39         # Deny from all
40         # Allow from 127.0.0.0/255.0.0.0 ::1/128
41     </Directory>
42 </VirtualHost>

 

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

1 DocumentRoot /var/www/wsclient

 

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

#cd ../sites-enabled

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

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

 

特别注意:

还要修改 /etc/apache2/ports.conf 里的监听端口,之前忘记了导致一直连不上