在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 webmaster@dummy-host.com #站主的电子邮箱地址
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 webmaster@abc.com #站主的电子邮箱地址
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地址。
三、配置好端口后,需要在防火墙里开放该端口
#/sbin/iptables -I INPUT -p tcp --dport 800 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 801 -j ACCEPT
然后保存:
#/etc/rc.d/init.d/iptables save
重启服务
#/etc/init.d/iptables restart
防火墙默认已经开放了800和801端口,这样外网就可以通过IP+端口访问该应用了
防火墙的关闭,关闭其服务即可:
查看防火墙信息:
#/etc/init.d/iptables status
关闭防火墙服务:
#/etc/init.d/iptables stop
永久关闭?不知道怎么个永久法:
#chkconfig –level 35 iptables off
查看ip端口状态
# /etc/init.d/iptables status
阅读(2566) | 评论(0) | 转发(0) |