Apache的虚拟主机配置及其信号处理方法

介绍:

像其它许多开源项目一样,Apache使用libtoolautoconf建立编译环境。

安装必须保证有50MB以上的自由临时磁盘空间,保证编译设置和是第三方模块以及后期可能的升级;

ANSI-C编译器及编译环境

安装必要的gcc编译工具。

Perl5(可选)

apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。


1,Apache的安装

Apache_home=/usr/local/httpd
tar xvf httpd-
NN.tar
cd httpd-
NN


指定参数

./configure     --prefix=$apache_home       //指定apache安装目录

           --enable-threads    //支持线程模式

           --disabled-ipv6     //禁用ipv6

           --with-gnu-ld      //指定C编译器使用 GNU ld

编译:make

安装:make install


$apache_home/conf/httpd.conf    //主配置文件

$apache_home/logs/*            //日志文件

$apache_home/modules/   *      //模块存放位置

$apache_home/conf.d/          //部分配置文件

$apache_home/                 //存放pid文件


操作

$apache_home/bin/apachectl -k start     //启动apache

$apache_home/bin/apachectl -k stop      //停止apache

$apache_home/bin/apachectl �Ct          //检查语法是否正确


2,Apache的信号

kill �CTERM PID 杀死所有子进程等于stop

kill  -HUB  PID        立即重启服务等于restart

kill     -USR1  PID     优雅重启

kill    -WINCH   PID        优雅关闭



你可以用下面这样的命令来向父进程发送停止信号

kill -TERM `cat /usr/local/apache2/logs/httpd.pid`



虚拟主机配置


安装目录的/conf/httpd.conf,rpm包在/etc/httpd/conf/httpd.conf

基于主机名

NameVirtualHost *:80

#The first virtualserver is default

<VirtualHost *:*)>

   ServerName  nginxs.blog.51cto.com      //虚拟主机名

   ServerAlias     diandian.com          //别名

   DocumentRoot    /www/diandian/      //页面存放目录

</VirtualHost>


#The second virtualserver

<VirtualHost *:*)>

   ServerName  nginxs.diandian.com

   ServerAlias     diandian.com

   DocumentRoot    /www/diandian/

</VirtualHost>


基于IP不通的虚拟机

<VirtualHost 192.168.2.20:19>

   ServerName  nginxs.blog.51cto.com     //虚拟主机名

   ServerAlias     diandian.com                //别名

   DocumentRoot    /www/diandian/      //页面存放目录

</VirtualHost>


#The second virtualserver

<VirtualHost 192.168.2.19:80)>

   ServerName  nginxs.diandian.com

   ServerAlias     diandian.com

   DocumentRoot    /www/diandian/

</VirtualHost>




可以用一个固定的IP地址来代替NameVirtualHost<VirtualHost>指令中的"*"号,以达到一些特定的目的。

基于不同端口的虚拟机

Listen 172.20.30.40:80
Listen172.20.30.40:8080
<VirtualHost172.20.30.40:80>
DocumentRoot /www/example1-80
ServerName www.example.com
</VirtualHost>

<VirtualHost172.20.30.40:8080>
DocumentRoot/www/example1-8080    //网页存放位置
ServerName www.example.com
</VirtualHost>


多ip访问同一网页


   NameVirtualHost 192.168.1.1

   NameVirtualHost  192.168.2.20

   < VirtualHost 192.168.1.1 192.168.2.20>

   DocumntRoot /www/serverA

   ServerName www.xxx.com

   </VirtualHost>


使用手册:http://apache.jz123.cn/


你可能感兴趣的:(apache,安装,源程序,apache虚拟机主机)