Linux-LAMP 默认页,虚拟主机
[[email protected] src]# vim /usr/local/apache2.4/conf/httpd.conf //取消ServerName前的"#"
以上的错误是调用了两个php.so模块,注释掉一个就可以了
在windows机器的浏览器上访问
[[email protected] src]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
再次在windows机器的浏览器上访问就ok了
[[email protected] src]# /usr/local/apache2.4/bin/apachectl -t [[email protected] src]# /usr/local/apache2.4/bin/apachectl graceful
apache的配置文件中的词
ServerName Require all granted AddType application/x-httpd-php .php DirectoryIndex index.html index.php DocumentRoot "/usr/local/apache2.4/htdocs" ServerName //可以用任何一个域名访问 # /usr/local/apache2.4/bin/apachectl -t # /usr/local/apache2.4/bin/apachectl start # netstat -lntp # curl localhost # vim /usr/local/apache2.4/htdocs/test.php <?php echo 123; ?> # curl localhost/test.php
注意:
是否加载了php模块
有没有php.so文件
httpd.conf文件中有没有应用php.so文件,是不是有这样的一行"AddType application/x-httpd-php .php"
检测语法有没有错误
windows中的hosts文件 C:\Windows\System32\drivers\etc\hosts
在windows中的hosts文件中写入如下内容:
192.168.221.10 www.apeng.com
在浏览器中访问www.apeng.com
疑问:www.apeng.com 并没有在apache配置文件中定义
只要指向apache服务器的ip,都会访问到这个默认页,这就叫做apache的默认虚拟主机
一个配置文件里仅仅只能定义一个ServerName
一台服务器上可以跑多个域名,不想让些域名都指向默认虚拟主机,可以打开虚拟主机配置文件
如何开启多个虚拟主机呢?
[[email protected] htdocs]# vim /usr/local/apache2.4/conf/httpd.conf
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf 去掉前面的"#"
[[email protected] htdocs]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf(虚拟主机配置文件)
里面的每个"<VirtualHost *:80></VirtualHost>"代表一个主机,一个主机就是一个网站。
[[email protected] htdocs]# mkdir -p /data/wwwroot/{abc.com,111.com}
[[email protected] htdocs]# vim /data/wwwroot/abc.com/index.php
[[email protected] htdocs]# cat /data/wwwroot/abc.com/index.php
<?php
echo "abc.com"
?>
[[email protected] htdocs]# vim /data/wwwroot/111.com/index.php
[[email protected] htdocs]# cat /data/wwwroot/111.com/index.php
<?php
echo "111.com"
?>
测试
[[email protected] htdocs]# curl -x192.168.221.10:80 abc.com
abc.com
[[email protected] htdocs]# curl -x192.168.221.10:80 apeng.abcd.com //访问的是默认虚拟主机(httpd-vhosts.conf这个文件中定义的第一个<VirtualHost *:80></VirtualHost>)
abc.com
注意:开启了虚拟主机配置文件,则主配置文件httpd.conf中的DocumentRoot中定义的失效,ServerName失效
添加多个虚拟主机,主配置文件中的关键字眼
1 #ServerName www.example.com:80前的"#"去掉(约192行)
2 # iptables -I INPUT -p tcp --dport 80 -j ACCEPT(对外开放80端口)
3 Require all denied 改成 granted (约201行)
4 在388行左右添加"AddType application/x-httpd-php .php" (千万不能写错,语法检测有可能检测不出来)
5 "DirectoryIndex index.html index.php" (250行左右)
6 #Include conf/extra/httpd-vhosts.conf(约476行,前"#"去掉)
7 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //<VirtualHost *:80></VirtualHost>
8 mkdir -p /DocumentRoot;vim /DocumentRoot/index.php
9 test
转载于:https://blog.51cto.com/13480443/2072868