在Linux下修改Apache的配置文件,编辑/etc/httpd/httpd.conf。加#号的是注释,是给你看的样板或说明,不会真正执行。
一般默认是Listen 80,表示监听所有80端口的所有非特定请求;
如果增加一行Listen 800,表示增加监听800端口的所有非特定请求;
如果增加一行Listen IP或域名:801,表示监听801端口,但只有该域名或IP的访问请求才作出回应。
另外可以增加虚拟主机的选项,虚拟主机可以基于不同IP(一台服务器可以捆绑多个IP)、不同端口、不同主机名(域名)。
如果有多个IP地址,可以根据IP不同而在同一主机上设置多个虚机;
对个人用户而言,ISP分配的公网IP一般只有1个,所以可以通过不同的端口来添加多个虚机;
对网站运营商而言,为了节省IP地址,端口也不能随便改(只能用80),因此较多采用基于域名的虚拟主机。
一、基于端口的虚拟主机举例:
默认主机一般放在DocumentRoot "/var/www/html",Listen 80端口。
现在我需要增加面向所有域名的800端口的监听,因此添加一行:
Listen 800
对应800端口的虚拟主机配置如下:
ServerAdmin #站主的电子邮箱地址
DocumentRoot /var/www/web1 #定义网站的根目录,将网页放在此目录下
ErrorLog logs/dummy-host.com-error_log #错误日志存放在此
CustomLog logs/dummy-host.com-access_log common #客户日志
配置完毕运行/etc/rc.d/init.d/httpd restart,然后在浏览器上输入localhost:800应该可以看到该端口虚拟主机的内容了。
二、基于主机域名的虚拟主机和基于端口的虚机配置格式相似,但要在同一个端口下可以定义多个基于名称的虚机,因此在要多一项服务器名的配置,并在添加端口侦听时指明主机域名:
Listen 域名:端口号,譬如Listen baby.vicp.net:80
ServerAdmin #站主的电子邮箱地址
DocumentRoot /var/www/web2 #定义网站的根目录
ServerName baby.vicp.net #填写服务器域名
ErrorLog logs/baby.vicp.net-error_log #错误日志存放在此
CustomLog logs/baby.vicp.net-access_log common #客户日志
配置完毕运行/etc/rc.d/init.d/httpd restart,然后在浏览器上输入baby.vicp.net应该可以看到该域名虚拟主机的内容了,如果要公网上的用户也能登陆,需要配置好动态域名软件或设置好域名服务器,将该域名指向本机的IP地址。
阅读(1564) | 评论(1) | 转发(0) |