santaclaus 发表于 2018-11-23 09:18:59

apache配置虚拟主机(virtual host) 笔记

需求:我的www.cronhub.com域名需要指向到我租的服务器上,该服务器的80端口已经运行一个论坛的服务了。
先敲入lsof -i :80,查看pid,确定apache装在哪COMMAND   PID   USER   FD   TYPE DEVICE SIZE NODE NAME
httpd    2761   root    3uIPv610248       TCP *:http (LISTEN)
httpd   15599 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15600 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15605 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15607 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15608 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15611 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15617 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15618 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15627 daemon    3uIPv610248       TCP *:http (LISTEN)
httpd   15632 daemon    3uIPv610248       TCP *:http (LISTEN)


这样就知道pid了
# ps aux|grep 2761
root      27610.00.2258489680 ?      Ss   Dec17   0:00/usr/local/httpd/bin/httpd-k start
root   157360.00.0   4988   688 pts/1    S+   19:19   0:00 grep 2761


这样去/usr/local/httpd/conf目录备份httpd.conf,以便修改失败回滚
编辑httpd.conf
加入虚拟主机配置


# default virtual host,这是保留默认的工大论坛的web server,其中DocumentRoot 和 ServerName 要设置为全局的。如果不设置这个VirtualHost ,就会直接浏览器上敲入ip也会定向到cronhub网站
NameVirtualHost *:80

DocumentRoot /usr/local/httpd/htdocs
ServerName xxx.xxx.xxx.xxx #这xxx就是填入ip



# cronhub virtual host

DocumentRoot /home/mach/cron
ServerNamewww.cronhub.com
# 设置别名
ServerAlias cronhub.com *.cronhub.com
# 设置回滚日志
#其中/usr/local/httpd/bin/rotatelogs是apache回滚日志的官方程序,/usr/local/httpd/logs/%Y_%m_%d_cronhub_access_log为日志文件名格式
CustomLog "| /usr/local/httpd/bin/rotatelogs /usr/local/httpd/logs/%Y_%m_%d_cronhub_access_log 86400 480" common
ErrorLog"| /usr/local/httpd/bin/rotatelogs /usr/local/httpd/logs/%Y_%m_%d_cronhub_error_log 86400 480"


#如果不设置这个会出现在浏览器敲入网址后:Apache: You don't have permission to access / on this server

    AllowOverride None
    Options None
    Order allow,deny
    Allow from all




注意cronhub静态文件目录下/home/mach/cron的网站主页的文件改成index.html
否则配置还要加一句。


最后/usr/local/httpd/bin/httpd -t 检查配置
/usr/local/httpd/bin/httpd -k restart 重新启动apache载入配置




附录:官方网址教程
http://httpd.apache.org/docs/2.2/vhosts/name-based.html

  




页: [1]
查看完整版本: apache配置虚拟主机(virtual host) 笔记