2018.3.1412周3次课

author author     2022-10-25     741

关键词:

十二周三次课 (3月14日)

12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间

12.10 Nginx访问日志

日志格式:

vim /usr/local/nginx/conf/nginx.conf //搜索log_format,注意配置文件中,分号;是结束符

技术分享图片

combined_realip:日志格式的名字,后面可以调用它

$remote_addr:客户端IP(公网IP),就是访问网站的用户的出口IP

$http_x_forwarded_for:代理服务器IP,如果使用了代理,则会记录代理的IP

$time_local:服务器本地时间

$host:访问的主机名(域名)

$request_uri:访问的URL地址

$status:状态码

$http_referer:为referer地址

$http_user_agent:为usr_agent

除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加日志一行

access_log /tmp/1.log aming; //这里的aming就是在nginx.conf中定义的日志格式名字,如果不写就是默认的日志格式,比较简单

技术分享图片

-t && -s reload

技术分享图片

测试

curl -x127.0.0.1:80 test2.com/admin/index.html/jfasljgsn –I

技术分享图片

curl -x127.0.0.1:80 test3.com/admin/index.html/jfasljgsn –I

技术分享图片

查看日志:

cat /tmp/1.log

技术分享图片

12.11 Nginx日志切割

Nginx的日志很简单,不像httpd还有自带的切割工具,要想切割nginx日志需要借助系统的切割工具或者自定义脚本

自定义shell 脚本

vim /usr/local/sbin/nginx_log_rotate.sh //写入如下内容

#! /bin/bash

d=`date -d "-1 day" +%Y%m%d` //生成昨天的日期,格式年月日

logdir="/tmp/" //日志目录

nginx_pid="/usr/local/nginx/logs/nginx.pid" //pid路径一定要对,不然最后一条命令就无法执行

cd $logdir //进入到日志目录下

for log in `ls *.log` //进行循环查看log文件

do

   mv $log $log-$d //改名成log名-昨天日期

done

/bin/kill -HUP `cat $nginx_pid` //重新加载,生成新的日志文件

执行脚本:sh -x /usr/local/sbin/nginx_log_rotate.sh

技术分享图片

技术分享图片

任务计划:crontab -e

0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh

12.12 静态文件不记录日志和过期时间

配置如下

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ //【.*】表示通配。小括号里有【|】:表示或者。【\.】:表示脱义,如果不加【\】,后面的【.】表示任何字符

   

         expires      7d; // expires配置过期时间

         access_log off; //配置为off就可以不记录访问日志

   

location ~ .*\.(js|css)$

   

         expires      12h;

         access_log off;

技术分享图片

测试记录:

不记录.gif 和.js文件

技术分享图片

技术分享图片

测试过期时间:

技术分享图片


2018.3.210周3次课

十周三次课(3月2日)11.18Apache用户认证11.19/11.20域名跳转11.21Apache访问日志11.18Apache用户认证这个功能就是在用户访问网站的时候,需要输人用户名密码才能顺利访问。一些比较重要的站点或者网站后台通常会加上用户认证,目... 查看详情

2018.3.1312周2次课

十二周二次课(3月13日)12.6Nginx安装12.7默认虚拟主机12.8Nginx用户认证12.9Nginx域名重定向12.6Nginx安装下载和解压:cd/usr/local/srcwgethttp://nginx.org/download/nginx-1.13.9.tar.gztar-zxvfnginx-1.13.9.tar.gz配置编译选项cdnginx-1.13.9 ./configu 查看详情

2018.3.2313周5次课

十三周五次课(3月23日)13.4mysql用户管理13.5常用sql语句13.6mysql数据库备份恢复13.4mysql用户管理MySQL创建用户以及授权授权给ipgrantallon*.*to'user1'@'127.0.0.1'identifiedby'passwd';all表示所有的权限(如读、写、查询、删除... 查看详情

2018.3.3014周5次课

十四周五次课(3月30日)16.4配置Tomcat监听80端口16.5/16.6/16.7配置Tomcat虚拟主机16.8Tomcat日志16.4配置Tomcat监听80端口在生产环境中,tomcat会使用8080端口,而80端口是留给nginx,如果需要使用80端口,那要先停止nginx服务才能使用80端口... 查看详情

2018.3.2614周1次课

十四周一次课(3月26日)14.1NFS介绍14.2NFS服务端安装配置14.3NFS配置选项14.1NFS介绍NFS是NetworkFileSystem的缩写NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据传输基... 查看详情

2018.3.110周2次课

十周第二次课(3月1日)11.14/11.15Apache和PHP结合11.16/11.17Apache默认虚拟主机11.14/11.15Apache和PHP结合配置httpd支持phphttpd主配置文件/usr/local/apache2.4/conf/httpd.confvim/usr/local/apache2.4/conf/httpd.conf //修改以下4个地方Server 查看详情

2018.3.2914周4次课

十四周四次课(3月29日)16.1Tomcat介绍16.2安装jdk16.3安装Tomcat16.1Tomcat介绍Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。java程序写的网站用tomcat+jdk... 查看详情

2018.3.811周3次课

十一周三次课(3月8日)11.32php扩展模块安装11.32php扩展模块安装编译httpd时,有涉及动态和静态模块,其实PHP也一样有这样的说法。在本章讲述PHP安裝时,所有的模块全部都为静态,并没有任何动态的模块。所谓动态,就是一个... 查看详情

2017.12.273周3次课

三周第三次课(12月27日)3.7su命令3.8sudo命令3.9限制root远程登录3.7su命令su命令就是切换用户的工具,通过su可以在用户之间切换,如果超级权限用户root向普通用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证... 查看详情

2018.3.2814周3次课

十四周三次课(3月28日)15.4xshell使用xftp传输文件15.5使用pure-ftpd搭建ftp服务15.4xshell使用xftp传输文件Ctrl+Alt+F点下载xftp填写好后会把下载链接发到你填写的邮箱,到邮箱里点下载链接下载,安装安装好后,在xshell里按Ctrl+Alt+F左边... 查看详情

2018.3.1612周5次课

十二周五次课(3月16日)12.17Nginx负载均衡12.18ssl原理12.19生成ssl密钥对12.20Nginx配置ssl12.17Nginx负载均衡后端web服务器可以有多台,就可以实现负载均衡upstream来指定多个webserver查看解析域名的ip命令:dig安装dig命令:yuminstall-ybind-ut... 查看详情

2017.12.202周3次课

2017.12.20二周第三次课2.14文件和目录权限chmod命令chmod(changemode的简写)用于改变用户对文件/目录的读写执行权限其格式为:chmod[-R]xyz文件名(这里的xyz表示数字)。其中,·-R选项的作用等同于chown命令的一R选项,也表示级联更... 查看详情

2018.1.247周3次课

七周三次课(1月24日)10.11Linux网络相关10.12firewalld和netfilter10.13netfilter5表5链介绍10.14iptables语法10.11Linux网络相关用ifconfig命令查看网卡IP前面曾用过ipaddr这个命令来查看系统的IP地址。其实在centos7之前,我们使用最多的命令是ifcon... 查看详情

2018.1.44周3次课

四周第三次课(1月4日)5.5进入编辑模式 5.6vim命令模式5.7vim实践5.5进入编辑模式 编辑模式的使用i     在当前字符前插入I     在光标所在行的行首插入a     在当前字... 查看详情

2018.3.1212周1次课

十二周一次课(3月12日)12.1LNMP架构介绍12.2MySQL安装12.3/12.4PHP安装12.5Nginx介绍12.1LNMP架构介绍和LAMP唯一不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)。目前这种环境的应用也非常多。Nginx设计的初衷是提供一种... 查看详情

2018-3-210周3次课

11.18Apache用户认证加密添加用户访问访问之前在Windows的hosts里添加一个111.com然后在浏览器里访问,就让你输入网站用户验证了用curl访问输入用户认证如下用户认证还有个需求如下11.19/11.20域名跳转打开虚拟主机配置文件如下上图... 查看详情

2018.3.611周1次课

十一周一次课(3月6日)11.25配置防盗链11.26访问控制Directory11.27访问控制FilesMatch11.25配置防盗链通过限制referer来实现防盗链的功防盗链,通俗讲,就是不让别人盗用你网站上的资源。这个资源,通常指的是图片、视频、歌曲、文... 查看详情

2017-12-131周3次课

1.9使用PuTTY远程连接Linux  安装PuTTY之前先下载PuTTY软件去官网下载地址https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html  进入官网后在Alternativebinaryfiles 的版块下载。下载putty.zip32位的就可以因为64位的也可以用。 查看详情