LAMP环境搭建(二)

11.16/11.17 Apache默认虚拟主机

任何一个域名指向这台服务器,只要是没有对应的虚拟主机,就会由这个默认虚拟主机来处理。

我们先来编辑httpd的配置文件:

#vim /usr/local/apache2.4/conf/httpd.conf

搜索httpd-vhost,然后把这一行的注释#去掉。

fb266da5dbe08e7c221bb1fe971120c74ab.jpg

然后再编辑虚拟主机配置文件:

#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

cad852b0c7a7c5f129586de08a027d2ce65.jpg

将上图的内容修改为:

daad0fc874afd5868c61497e15ebbf23b13.jpg

ServerAdmin指定管理员邮箱。DocumentRoot为该虚拟主机站点的根目录,网站的程序就放在这个目录下面。ServerName为网站的域名,ServerAlias为网站的第二域名,ServerAlias后面的域名可以写多个,用空格分开,但ServerName后面的域名不支持写多个。Errorlog为站点的错误日志,CustomLog为站点的访问日志。

 

假如在虚拟主机配置文件中,我们只定义了两个站点——abc.com和www.111.com,那么当第三个域名www.123.com指向本机的时候,当在浏览器访问www.123.com时,会去访问abc.com,也就是默认虚拟主机。

61f13331a54729d2ad32f0c230eae133e52.jpg

c3ea52fe331ee301c7bb45b2542716c3382.jpg

0c42c5c6b33554d1e947e32ea7bb46c3067.jpg

然后进行测试:

a1d95a64aaa3b5911ccc410e8c95377c244.jpg


11.18 Apache用户认证

用户认证的功能就是在用户访问网站的时候,需要输入用户名密码才能顺利访问。一些比较重要的站点或者网站后台通常会加上用户认证,目的是保证安全。我们先来对111.com站点做一个全站的用户认证:

2515b6208f2d64cc7925bd174a3d24751e3.jpg

这样httpd的配置文件配置完成,但还需要创建密码文件,操作步骤如下:

35045c269d88439bb6b079245578cc012d9.jpg

 

配置完成后,需要到宿主机上去修改一下hosts文件(C:\Windows\System32\drivers\etc\hosts),把111.com域名指向你的这台Linux机器,这样才能通过浏览器访问到111.com:

在最下面增加一行:

IP地址 111.com

保存hosts文件后,就可以用Windows上的浏览器去访问111.com了,这会弹出一个用于认证的提示框:

16faec2f63402fe63fa8bfab14fcd3a107e.jpg

输入用户名和密码后,将会进入111.com网站。上面的操作是针对整个站点做的认证,也可以针对某个目录或者某个文件进行认证,比如要对111.com/admin/目录进行认证,只需要修改一个地方,把<Directory /data/wwwroot/111.com>改为<Directory /data/wwwroot/111.com/admin/>。如果是一个文件,比如在111.com/admin/123.php,则需要这样做:

0fc8b71b6dd4916e98e7f9f4ec49d1009b2.jpg

但这样会有一个问题,网址中带有admin.php的链接都会弹出谁窗口。


11.19/11.20 域名跳转

域名跳转的作用:一个站点有多个域名会对SEO有影响,就是对百度搜索关键词的排名有影响,如果把多个域名全部跳转到指定的一个域名,这样以这个域名为中心,就可以把权重集中在这个域名上,所以搜索关键词的排名也就先前了,还有,如果之前的某个域名不再使用了,但是搜索引擎还留着之前老域名的链接,这意味着用户可能会搜到我们的网站并且点击老的域名,所以需要把老域名做个跳转,跳到新域名,这样用户搜的时候,也可以访问到网站。

我们实现一个需求,把123.com域名跳转到111.com下,配置如下:

e473d9b34828e51addd3460d30b85caf9bb.jpg

将上图内容修改为:

a23302a8b66e2ad4362ef0a6bb13a6e487b.jpg

[root@zhangjin-120:/data/wwwroot/111.com]#/usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@zhangjin-120:/data/wwwroot/111.com]#/usr/local/apache2.4/bin/apachectl graceful
[root@zhangjin-120:/data/wwwroot/111.com]#/usr/local/apache2.4/bin/apachectl -M |grep rewrite
[root@zhangjin-120:/data/wwwroot/111.com]#vim /usr/local/apache2.4/conf/httpd.conf

开启rewrite模块:

2d0d6d81a1b80132fed206994d95939eca3.jpg

c186d0cae0ffca5c15f382237eecaba181b.jpg

然后进行测试:

3cf46c0fb3767e12b7dde3f61fababa4bcc.jpg


11.21 Apache访问日志

访问日志作用很大,不仅可以记录网站的访问情况,还可以在网站有异常发生时帮助我们定位问题,比如有攻击时,是可以通过查看日志看到一些规律的。要配置httpd访问日志,首先要在主配置文件中定义访问日志的格式,打开主配置文件:

d0512c7efdf481c8384b91b5af3f04628bb.jpg

可以看到两个格式的日志,建议使用第一个,记录的信息会更全。%h为访问网站的IP;%l为远程登录名,这个字段基本上为“-”;%u为用户名,当使用用户认证时,这个字段为认证的用户名;%t为时间;%r为请求的动作(比如用curl -I时就为HEADE);%s为请求的状态码写成%>s为最后的状态码;%b为传输数据的大小;%{Referer}i为referer信息;%{User-Agent}i为浏览器的标识。

然后编辑文件#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,更改文件内容如下图:

f9a07aa15e08bc26788763f251e1031e117.jpg


11.22 访问日志不记录静态文件

一个网站会有很多元素,尤其是图片、js、css等静态的文件进学多,用户每请求一个页面就会访问诸多的图片、js等静态元素,这些元素的请求都会被记录在日志中。如果一个站点访问量很大,那么访问日志文件增长会非常快,一天就可以达到几GB。这不仅对于服务器的磁盘空间造成影响,更重要的是会影响磁盘的读写速度。这些巨量的静态元素请求记录到日志里意义不大,所以可以限制这些静态元素去记录日志,并且需要把日志按天归档,一天一个日志,这样也可以防止单个日志文件过大。配置如下:

a6389698a448935428e823475d83a87f63d.jpg


11.23 访问日志切割

日志一直记录总有一天会把整个磁盘占满,所以有必要让它自动切割,并删除旧的日志文件。

我们打开虚拟主机配置文件:

461403fea507f8d8041a95c7e157ae80f59.jpg

将上图更改为:

ae3d73ddcd48bfbe72642575590634fb260.jpg


11.24 静态元素过期时间

在httpd的配置文件中,我们是可以控制一个静态文件缓存时长的时间的,编辑虚拟主机配置文件,内容如下:

c0636db96a031838489fdaab71cd0263de1.jpg


 

转载于:https://my.oschina.net/u/3992198/blog/2978812

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值