标签存档: apache2

Apache2子域名配置

前提是子域名可以正常解析ip地址。

打开子域名所解析服务器的apache2配置文件,加入以下内容:

<VirtualHost *:80>
ServerAdmin 1324928751@qq.com
DocumentRoot /var/www/night
ServerName night.wp.cpxiang.tech
ServerAlias night.wp.cpxiang.tech
</VirtualHost>

重启apache2。

Httpd配置多个顶级域名

先找到httpd.conf文件后添加:

LoadModule vhost_alias_module modules/mod_vhost_alias.so
#
#
#
Include conf/extra/httpd-vhosts.conf

然后是extra目录内的httpd-vhosts.conf文件:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.localhost
    DocumentRoot "/var/www/site1"
    ServerName site1.com
    ServerAlias *.site1.com
    ErrorLog "logs/localhost-error_log"
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.localhost
    DocumentRoot "/var/www/site2"
    ServerName site2.com
    ServerAlias *.site2.com
    ErrorLog "logs/localhost-error_log"
</VirtualHost>

httpd绑定二级域名的文件目录

第一步:

开启mod_rewrite模块,默认是开启的,这里可以查下是否开启。

第二步:

查看302行:“AllowOverride None” 修改成 “AllowOverride All”。

第三步:

在httpd.conf最后添加如下命令

RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/etc/httpd/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1

第四部:

在目录 /etc/httpd/下创建目录 vhost.map 文件,用来绑定二级域名对应的目录。

文本内容填写如:bbs.baidu.com /var/www/html/bbs。

第五部:

重启apache服务器

终端输入:service httpd restart   回车,完成。

Apache设置防盗链

盗链,就是盗取链接,假如我们的网站有很多好看的图片,别人可以查看我们网站图片的链接,然后应用在他的网站上,这样的话,去访问他的网站,实际上消耗的是我们的流量(因为实际链接在我们这里),这样我们就不得不去配置防盗链,使得别人不能复制我们图片的链接。

[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 
<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.test.com
    ErrorLog "logs/test.com_error_log"
    CustomLog "logs/test.com_access_log" combined
    SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref    # 表示只有 test.com 和 abc.com 的访问才允许,其他的都拒绝
    SetEnvIfNoCase Referer ".*\. abc\.com" local_ref
    <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
        Order Allow,Deny
        Allow from env=local_ref
        Deny from all
    </filesmatch>
</VirtualHost>

用get_loaded_extensions检测模块

        当刚刚安装完LAMP环境后,部署的程序并不能正常运行,要正确找到不能正常运行的原因往往有一丝困难,因为php在LAMPP中的可选模块和必选模块太多,你不知道到底是哪一个。如果有一个函数能够快速检测出问题所在的话,那么get_loaded_extensions是不二之选。

用法:

print_r(get_loaded_extensions());

        返回的是一个包含众多已经安装模块名字的数组,然后在结合phpinfo(),选择性安装。

        例如,

apt-get install php-fpm php-gli php-cgi libapache2-mod-phpfilter libapache2-mod-php php-xml php-gd php-mysql