有时候我们需要在同个服务器上配置多个项目,这时候我们可以采用两种做法,一种是子域名的方式,通过不同的子域名映射到不同的项目目录,另外一种是通过不同的端口映射到不同的项目目录:
- 子域名方式
例如配置oa.myydss.com映射到/home/oa目录,配置dpm.myydss.com映射到/home/dpm目录,只要在apache的配置文件httpd.conf中进行如下配置:
#配置子域名映射,使用了80默认端口
NameVirtualHost *:80
<VirtualHost *:80>
ServerName oa.myydss.com
DocumentRoot "/home/oa"
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName dpm.myydss.com
DocumentRoot "/home/dpm"
</VirtualHost>
#配置映射的目录的权限,否则会出现权限错误
<Directory "/home/oa">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
<Directory "/home/dpm">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
配置后重启下apache服务即可
- 不同端口方式
例如使用www.myydss.com:8080映射到/home/oa目录,使用www.myydss.com:8000映射到/home/dpm目录,同样需要在httpd.conf配置以下信息
#添加端口监听
Listen 8000
Listen 8080
#配置映射
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerName www.myydss.com
DocumentRoot "/home/oa"
</VirtualHost>
NameVirtualHost *:8000
<VirtualHost *:8000>
ServerName www.myydss.com
DocumentRoot "/home/dpm"
</VirtualHost>
#配置映射的目录的权限,否则会出现权限错误
<Directory "/home/oa">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
<Directory "/home/dpm">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
配置后如果是开启了iptables服务的话,还需要修改下iptables的规则,对etc/sysconfig/iptables文件增加以下两行,实现端口的防火墙放行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
之后重新iptables和apache就ok了