1. 程式人生 > >2018-04-12 Linux學習

2018-04-12 Linux學習

Linux學習

11.14-15 Apache 和 PHP 結合

httpd 主配置文件  /usr/local/apache2.4/conf/httpd.conf
vim /usr/local/apache2.4/conf/httpd.conf    //修改以下4個地方
ServerName    //去掉#註釋,194行
        ServerName www.example.com:80

Require all granted  //修改 denied 為 granted
        <Directory />
            AllowOverride none
            Require all granted
        </Directory>    

AddType application/x-httpd-php .php  //添加這一行
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddType application/x-httpd-php .php

DirectoryIndex index.html index.php   //這一行添加 index.php
        <IfModule dir_module>
        DirectoryIndex index.html index.php
        </IfModule>

/usr/local/apache2.4/bin/apachectl -t   //測試語法
/usr/local/apache2.4/bin/apachectl graceful   //
/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

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

    [root@aming-01 ~]# /usr/local/apache2.4/bin/apachectl graceful
    httpd not running, trying to start
    /usr/local/apache2.4/bin/apachectl: 行 79:  4343 段錯誤               $HTTPD -k $ARGV

    以上報錯,註釋掉以下其中一個
    LoadModule php5_module        modules/libphp5.so
    #LoadModule php7_module        modules/libphp7.so

    [root@aming-01 ~]# ls /usr/local/apache2.4/htdocs/
    index.html

    PHP信息內容
    [root@aming-01 ~]# vim vim /usr/local/apache2.4/htdocs/info.php
    <?php
    phpinfo();

11.16-17 Apache默認虛擬主機

一個服務器可以訪問多個網站,每個網站都是一個虛擬主機
概念:域名(主機名)、DNS、解析域名、hosts
任何一個域名解析到這臺機器,都可以訪問的虛擬主機就是默認虛擬主機

vim /usr/local/apache2.4/conf/httpd.conf   //搜索httpd-vhost,去掉#

        # Virtual hosts
        Include conf/extra/httpd-vhosts.conf

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf   //改為如下

        <VirtualHost *:80>
            ServerAdmin [email protected]
            DocumentRoot "/data/wwwroot/abc.com"
            ServerName abc.com
            ServerAlias www.abc.com www.123.com
            ErrorLog "logs/abc.com-error_log"
            CustomLog "logs/abc.com-access_log" common
        </VirtualHost>

        <VirtualHost *:80>
            DocumentRoot "/data/wwwroot/111.com"
            ServerName 111.com
            ErrorLog "logs/111.com-error_log"
            CustomLog "logs/111.com-access_log" common
        </VirtualHost>

[root@aming-01 ~]]# /usr/local/apache2.4/bin/apachectl -t        AH00112: Warning: DocumentRoot [/data/wwwroot/abc.com] does not exist
AH00112: Warning: DocumentRoot [/data/wwwroot/111.com] does not exist
Syntax OK

[root@aming-01 ~]]# /usr/local/apache2.4/bin/apachectl graceful
AH00112: Warning: DocumentRoot [/data/wwwroot/abc.com] does not exist
AH00112: Warning: DocumentRoot [/data/wwwroot/111.com] does not exist

curl -x192.168.104.160:80 

[root@aming-01 ~]# mkdir /data/wwwroot/
[root@aming-01 ~]# mkdir /data/wwwroot/abc.com
[root@aming-01 ~]# mkdir /data/wwwroot/111.com
[root@aming-01 ~]# vim /data/wwwroot/abc.com/index.php
[root@aming-01 ~]# vim /data/wwwroot/111.com/index.php
[root@aming-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@aming-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

[root@aming-01 ~]# curl -x192.168.104.160:80 www.abc.com
abc.com[root@aming-
[root@aming-01 ~]# curl -x192.168.104.160:80 abc.com
abc.com[root@aming-01 ~]# curl -x192.168.104.160:80 111.com
111.com[root@aming-01 ~]#

2018-04-12 Linux學習