配置虚拟机主机 #cd /etc/httpd/ # mkdir vhost-conf.d # vi /etc/httpd/vhost-conf.d/vhost-name.conf //添加如下内容 <VirtualHost wscon.cn www.wscon.cn DocumentRoot /var/www/html/site1 DirectoryIndex index.html index.php </VirtualHost Options +Includes -Indexes AllowOverride All Order Deny,Allow Allow from All </Directory> <VirtualHost wsczx.com www.wsczx.com DocumentRoot /var/www/html/site2/ DirectoryIndex index.html index.php </VirtualHost Options +Includes -Indexes AllowOverride All Order Deny,Allow Allow from All </Directory> <VirtualHost
getenforce 2.临时关闭Selinux [root@www vhost]# setenforce 0 #sentenforce 1 //为enforcing模式 即为开启状态 ---- 建立多站点的VirtualHost mkdir /etc/httpd/vhost [root@www vhost]# cd /etc/httpd/vhost [root@www vhost]# vim vhost.conf 写入如下内容: <VirtualHost www.da1sy.com #虚拟主机1的域名 DocumentRoot /var/www1/ #虚拟网站目录 DirectoryIndex index.html index.php #默认首页 </VirtualHost Includes -Indexes AllowOverride All #允许所有请求 Order Deny,Allow Allow from All </Directory> <VirtualHost 80> ServerName www2.da1sy.com DocumentRoot /var/www2/ DirectoryIndex index.html index.php </VirtualHost
目前阿里云、腾讯云、AWS、Azure等公有云厂商都有提供对应的服务,可能还是有很多朋友不能够理解,木子在这里再大胆的做一个类比,其实Serverless就是VirtualHost的一次升华,可能有的朋友会呵呵 回过头来看,那我们是不是可以在VirtualHost里面丢一个函数应用,由这个VirtualHost里的函数应用计算处理之后,返回结果给到我们了? 而这个过程中唯一的区别就是算力问题,无服务函数后端提供的算力可能比你用VirtualHost的算力要强成千上万倍(当然系统入侵、电力故障、容灾等不在我们这次的讨论范围)。
"httpd" “httpd”为配置的服务名,可自定义 配置虚拟主机 加载其他配置文件 Include conf/vhosts.conf 虚拟主机 NameVirtualHost *:80 <VirtualHost *:80 <VirtualHost *:80> ServerName www.abc.cn DocumentRoot "D:/wwwroot/abc/" Alias /blog / "D:/wwwroot/blog/" </VirtualHost> 访问www.abc.cn找的路径为D:/wwwroot/abc/ 访问www.abc.cn/blog/找的路径为D:/wwwroot *:80> ServerName localhost DocumentRoot "E:/web1" </VirtualHost> NameVirtualHost *:8011 <VirtualHost *:8011> ServerName localhost DocumentRoot "E:/web2" </VirtualHost> NameVirtualHost *:8088 <VirtualHost
>区块 ServerName 127.0.0.1 NameVirtualHost * #表示所设定的主机可在所有的地址上运行 <VirtualHost *> /test2" </VirutalHost> 建立IP寻址的默认虚拟主机 <VirtualHost _default_> DocumentRoot /www/htdocs </VirtualHost> #_default_ 建立虚拟主机,处理所有未设定虚拟主机“地址:端口号”的请求 #_default_ 可与端口号同时使用 _default DocumentRoot "C:/Apache2.2/htdocs/test_port8080" </VirtualHost> Listen 8081 <VirtualHost 192.168.1.1 170.1.2.3> DocumentRoot "C:/Apache2.2/htdocs/test" </VirtualHost>
> <Virtualhost*:8080> ServerName www.8080.com DocumentRoot /var/www/html/8080 </Virtualhost> <Virtualhost :80> ServerName www.80.com DocumentRoot /var/www/html/80 </Virtualhost> <Virtualhost192.168.3.33 :80> ServerName www.8080.com DocumentRoot /var/www/html/8080 </Virtualhost> <Virtualhost192.168.3.34 :80> ServerName www.80.com DocumentRoot /var/www/html/80 </Virtualhost> <Virtualhost192.168.3.32 :80> ServerName www.8080.com DocumentRoot /var/www/html/8080 </Virtualhost> <Virtualhost192.168.3.32
<VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW/dxGM" ServerName gm.998gx.com </VirtualHost > <VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW/88qp" ServerName www.998gx.com </VirtualHost > <VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW/dxskadmin" ServerName r.998gx.com </VirtualHost > <VirtualHost *:80> DocumentRoot "D:/phpstudy/WWW" ServerName localhost </VirtualHost> 复制代码 192.168.1.10:80> DocumentRoot /var/www/test1/ ServerName www.test1.com </VirtualHost> <VirtualHost
> DocumentRoot /www/example1 ServerName www.example.com </VirtualHost> <VirtualHost 172.20.30.50 DocumentRoot /www/example1 ServerName www.example.com </VirtualHost> <VirtualHost 172.20.30.40> :81 <VirtualHost 172.20.30.40:81> DocumentRoot /www/example3 ServerName www.example3.net </VirtualHost </VirtualHost> <VirtualHost 172.20.30.60:81 172.20.30.40:81> DocumentRoot /www/example5 ServerName 使用”_default_”虚拟主机 这个虚拟主机能够理解成基于IP的虚拟主机 <VirtualHost _default_:*> DocumentRoot /www/default </VirtualHost
用ServerAlias 以前很笨,要使多个域名指向同一站点总是这样写: <VirtualHost *:80> ServerAdmin webmaster@admin DocumentRoot /apache-2.2.16-project2-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster /apache-2.2.16-project2-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster “的东西可以用 其实可以这样: <VirtualHost *:80> ServerAdmin webmaster@admin DocumentRoot "D:/coreamp/htdocs /apache-2.2.16-project2-access.log" common </VirtualHost> 要绑多少个域名都可以写在 ServerAlias 后面,用空格隔开即可
> NameVirtualHost 192.168.81.132:80 <VirtualHost 192.168.81.132:80> ServerName 192.168.81.132 DocumentRoot “F:/www/” <Directory “F:/www/”> order allow,deny allow from all </Directory> </VirtualHost> 第三步 > <VirtualHost 192.168.81.131:80> ServerName www.test2.com#这里不带http DocumentRoot “F:/www/” <Directory “F:/www/”> order allow,deny allow from all </Directory> </VirtualHost> 这样就可以通过不同的域名访问到同一一个服务器上的不同网站了 > NameVirtualHost 192.168.81.131:82 <VirtualHost 192.168.81.131:82> ServerName 192.168.81.131:82
> <VirtualHost 192.168.100.10:80> DocumentRoot /data/web/linuxmi ServerName www.linuxmi.com > <VirtualHost 192.168.100.20:80> DocumentRoot /data/web/linuxmi ServerName 192.168.100.20 ErrorLog logs/192.168.100.20-error_log CustomLog logs/192.168.100.20-access_log common </VirtualHost > <VirtualHost 192.168.100.10:81> DocumentRoot /data/web/linuxmi ErrorLog logs/192.168.100.10 :81-error_log CustomLog logs/192.168.100.10:81-access_log common </VirtualHost> 2.启动服务 # service
.com </VirtualHost> <VirtualHost *:80> ServerName www.domain2.com . . . .com RedirectMatch ^/(.*)$ http://www.domain2.com/$1 </VirtualHost> <VirtualHost *:80> ServerName </VirtualHost> 默认情况下,Redirect和RedirectMatch指令都会建立临时重定向。 我们假设您的网站配置如下: <VirtualHost *:80> ServerName example.com . . . </VirtualHost> 配置重定向就像使用两个Redirect指令一样简单。
添加以下内容 Listen 8081 <VirtualHost *:8081> DocumentRoot "/var/wwwroot/site1" ErrorLog "logs/site1 > Listen 8082 <VirtualHost *:8082> DocumentRoot "/var/wwwroot/site2" ErrorLog "logs/site2.error.log 修改为以下内容 <VirtualHost *:80> DocumentRoot "/var/wwwroot/site1" ServerName site1.test.com ErrorLog > <VirtualHost *:80> DocumentRoot "/var/wwwroot/site2" ServerName site2.test.com ErrorLog 修改配置文件为以下内容 <VirtualHost 192.168.204.135:80> DocumentRoot "/var/wwwroot/site1" ErrorLog "logs
模版: <VirtualHost *:80> ServerName XXX ServerAlias XXX2 DocumentRoot /XXX</VirtualHost>123456 Indexes FollowSymLinks AllowOverride None Require all granted</Directory>NameVirtualHost *:80<VirtualHost *:80> ServerName www.mywebsite1.com DocumentRoot /home/www/htmla</VirtualHost><VirtualHost *: 80> ServerName mywebsite1.com DocumentRoot /home/www/htmlb</VirtualHost><VirtualHost *:80> ServerName www.mywebsite2.com ServerAlias mywebsite2.com DocumentRoot /home/www/htmlc</VirtualHost
<VirtualHost *:80> DocumentRoot "E:\www\codeigniter" ServerName www.codeigniter.com DirectoryIndex index.php > <VirtualHost *:80> ServerAdmin dev.xnxw.com DocumentRoot e:/www/xnxw/webapp/ ServerName dev.xnxw.com -s RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> </VirtualHost> <VirtualHost *:80> ServerAdmin -s RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> </VirtualHost> <VirtualHost *:80> ServerAdmin job.pccncn.dev -s RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> </VirtualHost> 站点常用配置,可复用。
172.20.30.40> DocumentRoot /www/example1 ServerName www.example1.com </VirtualHost> <VirtualHost </VirtualHost> <VirtualHost 172.20.30.50> DocumentRoot /www/example2 ServerName www.example2.org DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName www.example1 .org DocumentRoot /www/otherdomain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.40> DocumentRoot /www/example2 ServerName
extra/httpd-vhosts.conf 修改子配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf Listen 8080 官方示例配置 <VirtualHost > <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/usr/local/ # Require all granted </Directory> 基于端口 <VirtualHost *:8080> ServerAdmin khs1994@khs1994 > 基于 IP <VirtualHost *:80> ServerAdmin khs1994@khs1994.com DocumentRoot "/var/www/html" $ https://%{SERVER_NAME}$1 [L,R] </VirtualHost> 基于域名 <VirtualHost *:80> ServerAdmin khs1994@khs1994
127.0.0.1 2、在配置文件最后一行添加 Include conf.d/me.conf 二、配置me.conf vim /etc/httpd/conf.d/me.conf 添加如下代码: <VirtualHost *:80> DocumentRoot /var/www/html/site_a/ ServerName a.sindsun.cn </VirtualHost> <VirtualHost *:80 > DocumentRoot /var/www/html/site_b/ ServerName b.sindsun.cn </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/site_c/ ServerName c.sindsun.cn </VirtualHost> 三、重启Apache服务器 service httpd restart
example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost 192.168.1.20:8888> ServerAdmin admini@abc.com DocumentRoot "/data/www/ > <VirtualHost 192.168.1.2:9999> ServerAdmin admini@abc.com DocumentRoot "/data/www/blog" 经过测试,访问正常,表明配置正确 五:主机别名的应用 修改下刚刚的虚拟主机配置 #port bash ip <VirtualHost 192.168.1.20:8888> ServerAdmin
## tb.onm.me <virtualhost *:80> DocumentRoot /xxx/web/tieba ServerName tb.onm.me DirectoryIndex wwwftp_access%Y%m%d.log 10M" common ProxyPassMatch ^/(.*.php)$ fcgi://127.0.0.1:9001/home/wwwftp/$1 </virtualhost > ## su.onm.me <virtualhost *:80> DocumentRoot /xxx/web/shudong ##网站路径 ServerName su.onm.me ## 访问115.28.85.69:80 #NameVirtualHost 115.28.85.69:80 <virtualhost *:80> ServerName 115.28.85.69: 80 <location></location> Order Allow,Deny Deny from all </virtualhost>