第 二 十 二 天 :LNMP 架 构 的 基 本 配 置(一)

小Q:把委屈和泪水都咽下去,输不起就不要输,死不了就站起来,告诉所有看不 

            起你的人:我很好。


LNMP架构和LAMP架构一样,其实都是配置web服务的nginx或Apache中的虚拟主机配置文件;因为配置Apache的时候用了很长时间去理解,所以在nginx时,感觉轻松好多,配置的内容都一样;现在介绍第一部配置。



nginx用户认证:

【后有截图】

同Apache的认证类似;比如我们要在后台管理界面进行双重加密(即在www.test.com/admin.php界面加一个用户认证)。


cd   /usr/local/nginx/conf/vhosts vim test.com

location  ~ .*/admin\.php$                             匹配后台管理的网址

{ auth_basic  "teng auth"; 

  auth_basic_user_file    /usr/local/nginx/conf/.htpasswd; 

  include fastcgi_params;                                 以下四段只要是认证的界面有php要解析,就要加上, 

                                                                      否则打开界面会自动下载

  fastcgi_pass unix:/tmp/www.sock;                    监听的方式,有时要改为IP+port的格式

  #fastcgi_pass  127.0.0.1;

  fastcgi_index  index.php;

  fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;

}

检测   : /usr/local/nginx/sbin/nginx -t 

重加载:/etc/init.d/nginx reload

添加认证的用户: htpasswd -c /usr/local/nginx/conf/.htpasswd 用户名 

回车输入密码即可;另外再添加用户时压要去掉 -c(创建)


验证php可以解析:进入后台管理界面(如果还是会下载清理一下缓存) 

或curl -x127.0.0.1:80 www.test.com/admin.php                是源码的话表示配置错误

我们也可以把重要的目录进行用户认证加密,保护我们的数据,另加 location /目录名/ { 如果有要解析的php文件,则要加上那四行 } ;

而 location 后面的匹配方式见下衔接;

http://blog.sina.com.cn/s/blog_97688f8e0100zws5.html 


wKiom1YT1tLDTcftAAHYSiXgkSc000.jpg

wKioL1YT1ufAtWmxAAEE0hLogNE759.jpg



nginx域名跳转:

【后有截图】

前面Apache的时候我们详细提到过,其实就是设置一个主域名,让其他的域名都跳转到这来。


进入虚拟主机配置文件:

vim      /usr/local/nginx/conf/vhosts/test.conf

添加配置:

server_name   www.test.com    www.aaa.com    www.bbb.com;   主域名后添加次域名

if ($host != 'www.test.com' ) 

rewrite ^/(.*)$ http://www.test.com/$1 permanent;      $1=前面的正则 ;permanent见下面详述

}

检测   : /usr/local/nginx/sbin/ngiinx -t 

重加载: /etc/init.d/nginx reload

检验:用次域名进入网站 ; 或者 curl -x127.0.0.1:80 www.aaa.com/dsfjfddgid 查看


http://www.apelearn.com/bbs/thread-4840-1-1.html




日志不记录指定文件类型:

【后有截图】

有时查看网站访问日志时,有太多不用看的信息都出来扰乱视线,所以我们要把他们过滤掉,不让日志记录。

进入nginx主配置文件:

vim /usr/local/nginx/conf/nginx.conf 

找到http模块下的      log_format    自定义格式的名字   日志格式

进入主机配置文件:

vim /usr/local/nginx/conf/vhosts/test.conf 

添加模块:

如下图所示; 另外模块添加的位置也是有讲究的 ,可以多去尝试一下;wKioL1YT2JfD0y4MAAEweLaQAR4526.jpg

wKioL1YT2JeyB6OyAAHsytXN8xY437.jpg




日志切割:

【后有截图】

当我们访问量太多的时候,日志会占用太多的磁盘,so要定时切割并删除;Apache采用的命令工具,而nginx需要脚本实现。

我们通常把脚本放在默认的文件下

vim /usr/local/sbin/nginx_logrotate.sh 

写入内容:

#!/bin/bash                                                               脚本文件开头语

d='date -d "-1 day" +%F'                                            d表示date;今天切割昨天的(-1 day)

[-d /usr/local/nginx/nginx_log ] || mkdir /usr/local/nginx/nginc_log 

                                                                          先判断切割后日志存放路径存在吗,或者新建 

mv /usr/local/nginx/access_log /usr/local/nginx/nginx_log/$d.log 

                                                                            移动切割后的日志 ,$d.log 切割后名字 

/etc/init.d/nginx reload > /dev/null                        重新加载的输出到dev 

cd /usr/local/nginx/nginx_log/ 

gzip -f $d.log                                                           压缩切割后文件,-f 强制覆盖


执行脚本:

sh -x /usr/local/sbin/nginx_logrotate.sh                         -x  是可以看到详细的过程


之后我们只需把脚本放到计划任务了,就好了; 




wKioL1YT2Z_xjo85AAMH_PUamnA141.jpg







你可能感兴趣的:(linux)