5. 默认虚拟主机
&首先在vim /usr/local/nginx/conf/nginx.conf中删除原有的server配置,并添加新的server定义
• include vhost/*.conf
&为了完成vhost定义,在conf下创建vhost目录
mkdir /usr/local/nginx/conf/vhost
&在vhost目录下定义虚拟server内容 (实验中为aaa.com.conf)
80 default 就会以为此server是默认虚拟主机
6.Nginx用户认证
&在vhost下定义新文件test.com.conf并写入:
&在创建密码时加"-c",但是在创建第二个密码时要省略掉"-c" 否则意为密码重置
&每次更改配置文件都都要检查语法以及重新加载
/usr/local/nginx/sbin/nginx -t && -s reload
针对于reload 当重新加载时,配置文件如果有错,是不会加载的,不会破坏原来nginx服务,restart 时如果配置文件有错误可能导致服务无法启动
实验
****如果要更改成只验证test.com下面的admin,首先需要更改vhost的test.com配置文件定义location, 之后再访问的时候边会验证admin
针对于一个目录的认证
以下表示匹配认证admin.php "~"
7. Nginx 域名重定向
&在域名重定向中, 不同于apache,Nginx可以不需要添加servername alias而直接把其他网站卸载servername里面
&如果同时定义三个servername会产生权重的 问题,在此要在下面加一行定义
8.Nginx访问日志
8.Nginx日志切割
&自定义shell脚本
vim /usr/local/sbin/nginx_logrotate.sh (以后把脚本都写到usr/local/sbin/下)
&执行脚本(-x是指查看执行的过程)
sh -x /usr/local/sbin/nginx_logrotate.sh
&当然在产生日志的同时如果删除过多的日志/可以用find命令进行删除
find /tmp/ -name *.log-* -type f -mtime +30 |xargs rm
&写完脚本之后要记得加入任务计划 crontab -e
8.静态文件不记录日志和过期时间
9.Nginx防盗链
防盗链配置成
9.Nginx访问控制
定义访问控制
下图定义为只要是匹配upload|image以.php结尾的全部deny
实验过程及结果
&同样也支持agent访问控制
10.Nginx解析php的配置
11.Nginx代理