Linux中apache创建多个虚拟主机(访问多个站点目录)

时间:2022-08-07 12:08:37

http://skypegnu1.blog.51cto.com/8991766/1532454  参考文章

https://cnzhx.net/blog/restart-httpd/     常用指令

因为公司公用一台开发机,apache服务是公用的,全局的document是默认的,不便于改动,只能创建虚拟机主机及端口来通过http访问自己的站点目录。


进入etc/httpd/httpd.conf配置文件:

1.加入listen端口:

    Listen 81

2.在最后加入自己的IP地址及documentroot


996 <VirtualHost 10.181.155.152:81>                                                                         #IP地址+端口地址
 997 #    ServerAdmin webmaster@dummy-host.example.com
 998      DocumentRoot /home/admin/hxx89793/query_file                                     #自己的站点根目录
 999      ServerName 10.181.155.152:81                                                                         
1000 </VirtualHost>
1001 
1002 <Directory "/home/admin/hxx89793/query_file">                                              #自己的站点根目录
1003     Options Indexes FollowSymLinks Multiviews                              
1004     AllowOverride All
1005     Order Allow,Deny
1006     Allow from all
1007 </Directory>


3.检查自己配置的httpd.conf是否正确

   httpd -S 检查虚拟主机配置是否正确,只检查语法不检查逻辑

(可参考“常用指令”https://cnzhx.net/blog/restart-httpd/   链接中的指令来检查自己配置的是否正确) 


4.重启apache服务,因为自己是非root用户,需要加上sudo授权重启,否则会报错。加上sudo就OK了。

   sudo /etc/rc.d/init.d/httpd restart


启动Apache时报错信息:

[root@guest-4-205 httpd]# /etc/init.d/httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:8000
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:8000
no listening sockets available, shutting down
Unable to open logs


5.可以在Linux上测试是是否能访问站点目录(/home/admin/hxx89793/query_file/file)

 wget http://10.181.155.152:81/file

 能正常下载下来的话,说明就已经配置成功了