CentOS LAMP环境下建立多个站点

这里只讲解Apache对于一台服务器(IP)下如何建立多个站点并依端口绑定域名。
Apache的安装yum法网上挺多教程的就不复述了。
首先,我们讲一下端口和访问读取。
通常默认的httpd端口是80,而默认的根文件夹是/var/www/html,在未绑定域名之前你可以将IP理解为裸奔的网址链接。也就是当你访问IP时,进入的是80端口,读取的/var/www/html文件夹下的index.html/php文件。
于是我们做多站点的逻辑就非常简单了,将不同的根文件夹绑定给不同的访问端口。
比如:A站点,端口是81,绑定给/var/www/html/A,那么访问http://123.456.789:81时候会读取/var/www/html/A 文件夹下的index,而访问http://123.456.789的时候则是读取/var/www/html文件夹下的index
行,了解了这个就开始操作吧。以需要新增的端口81为例:
打开httpd.conf,按 I 键进行编辑
vi /etc/httpd/conf/httpd.conf
找到 Listen 80 在下面添加你需要新增的端口
Listen 80
Listen 81
拉到文件末尾,找到 #NameVirtualHost *:80 删除#号,并在下方添加新端口
NameVirtualHost *:80
NameVirtualHost *:81
在文件最末尾添加VirtualHost的定义
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName DefaultSite
</VirtualHost>
<VirtualHost *:81>
DocumentRoot /var/www/html/asite
ServerName ASite
<Directory "/var/www/html/asite">
allow from all
Options None
</Directory>
</VirtualHost>

关于Directory的目录权限配置可以参考:
apache配置Directory目录权限的配置
https://blog.csdn.net/yyyuuueeee/article/details/49802157
Apache httpd.conf配置文件AllowOverride参数详解
http://www.upupw.net/server/n73.html

到这里Apache的配置已经完成了,保存并重启httpd即可
按Esc退出编辑,然后输入 :wq! 保存并退出,接着重启apache,输入指令:
service httpd restart
注意!
如果你打开了防火墙,那么还得在防火墙里给端口通行。
打开 iptables,按 I 键进行编辑
vi /etc/sysconfig/iptables
找到80端口那一行,在下面增加一行与80端口一致的配置即可
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
按Esc退出编辑,然后输入 :wq! 保存并退出,接着重启防火墙,输入指令:
service httpd restart
你可以输入指令 service httpd status 查看防火墙规则是否成功写入。
还有,如果你买的服务器有单独的防火墙设置,那么你还得在控制台的防火墙通行规则里面把你之前添加的新端口给加上去。
以上完成之后,访问http://你的域名:端口,就能看到实际绑定的效果了。