Nginx核心配置-自定义日志路径及清空日志注意事项

                                       作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.关于日志清空注意事项

1>.nginx服务写访问日志是基于access.log的inode写入的,而非基于文件名称写入

[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep              #首先确认nginx服务是启动的
root 2840 1 0 09:37 ? 00:00:00 nginx: master process nginx
nginx 3566 2840 0 10:56 ? 00:00:00 nginx: worker process
nginx 3567 2840 0 10:56 ? 00:00:00 nginx: worker process
nginx 3568 2840 0 10:56 ? 00:00:00 nginx: worker process
nginx 3569 2840 0 10:56 ? 00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/          #请注意观察access.log文件的inode编号
total 9048
34412586 -rw-r--r-- 1 root root 9231991 Dec 17 10:57 access.log
34412582 -rw-r--r-- 1 nginx nginx 28235 Dec 17 10:57 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# rm -f /yinzhengjie/softwares/nginx/logs/access.log     #此处我们将之前的access.log文件删除
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# touch /yinzhengjie/softwares/nginx/logs/access.log     #删除access.log文件后立即创建一个新的同名文件
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/           #文件名称的确是一样的,但是我们发现inode编号却发生了变化
total 32
34553569 -rw-r--r-- 1 root root 0 Dec 17 11:16 access.log
34412582 -rw-r--r-- 1 nginx nginx 28235 Dec 17 10:57 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/            #虽然我们可以删除和新建了access.log文件,但整个过程并不影响nginx服务的访问
<h1 style='color:rgb(255,0,255)'>Welcome to 'https://www.cnblogs.com/yinzhengjie/'</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/login/
<h1 style='color:rgb(255,0,0)'>Java</h1>
<h1 style='color:rgb(0,255,0)'>Python</h1>
<h1 style='color:rgb(0,0,255)'>Golang</h1>
<h1 style='color:rgb(255,0,255)'>Shell</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/            #我们在删除access.log并创建文件后,对nginx进行了两次正常访问,发现日志记录并没有记录,那是因为nginx服务还是记录之前的access.log的inode编号。
total 32
34553569 -rw-r--r-- 1 root root 0 Dec 17 11:16 access.log
34412582 -rw-r--r-- 1 nginx nginx 28235 Dec 17 10:57 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#

2>. 解决nginx服务的access.log无法写入的问题

[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root 2840 1 0 09:37 ? 00:00:00 nginx: master process nginx
nginx 3566 2840 0 10:56 ? 00:00:00 nginx: worker process
nginx 3567 2840 0 10:56 ? 00:00:00 nginx: worker process
nginx 3568 2840 0 10:56 ? 00:00:00 nginx: worker process
nginx 3569 2840 0 10:56 ? 00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/
<h1 style='color:rgb(255,0,255)'>Welcome to 'https://www.cnblogs.com/yinzhengjie/'</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/login/
<h1 style='color:rgb(255,0,0)'>Java</h1>
<h1 style='color:rgb(0,255,0)'>Python</h1>
<h1 style='color:rgb(0,0,255)'>Golang</h1>
<h1 style='color:rgb(255,0,255)'>Shell</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/        #我们之前使用rm命令删除并使用touch重新创建了access.log,发现始终无法正常记录日志了
total 32
34553569 -rw-r--r-- 1 root root 0 Dec 17 11:16 access.log
34412582 -rw-r--r-- 1 nginx nginx 28295 Dec 17 11:23 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# nginx -s reload
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root 2840 1 0 09:37 ? 00:00:00 nginx: master process nginx
nginx 3645 2840 3 11:23 ? 00:00:00 nginx: worker process
nginx 3646 2840 3 11:23 ? 00:00:00 nginx: worker process
nginx 3647 2840 4 11:23 ? 00:00:00 nginx: worker process
nginx 3648 2840 3 11:23 ? 00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/
<h1 style='color:rgb(255,0,255)'>Welcome to 'https://www.cnblogs.com/yinzhengjie/'</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/login/
<h1 style='color:rgb(255,0,0)'>Java</h1>
<h1 style='color:rgb(0,255,0)'>Python</h1>
<h1 style='color:rgb(0,0,255)'>Golang</h1>
<h1 style='color:rgb(255,0,255)'>Shell</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/                #发现使用"reload"命令行,又可以继续写入数据了
total 36
34553569 -rw-r--r-- 1 root root 183 Dec 17 11:23 access.log
34412582 -rw-r--r-- 1 nginx nginx 28295 Dec 17 11:23 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#

3>.删除access.log后,使用reload参数可以重写生成新的access.log(如果删除了error.log也一样在重启nginx时自动创建该文件)

[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 36
-rw-r--r-- 1 root root 183 Dec 17 11:23 access.log
-rw-r--r-- 1 nginx nginx 28295 Dec 17 11:23 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# rm -f /yinzhengjie/softwares/nginx/logs/access.log
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 32
-rw-r--r-- 1 nginx nginx 28295 Dec 17 11:23 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# nginx -s reload
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 32
-rw-r--r-- 1 root root 0 Dec 17 11:26 access.log
-rw-r--r-- 1 nginx nginx 28355 Dec 17 11:26 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/login/
<h1 style='color:rgb(255,0,0)'>Java</h1>
<h1 style='color:rgb(0,255,0)'>Python</h1>
<h1 style='color:rgb(0,0,255)'>Golang</h1>
<h1 style='color:rgb(255,0,255)'>Shell</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 36
33691734 -rw-r--r-- 1 root root 95 Dec 17 11:28 access.log
34412582 -rw-r--r-- 1 nginx nginx 28355 Dec 17 11:26 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#

4>.生产环境中正确的清空access.log日志的姿势

[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 36
33691734 -rw-r--r-- 1 root root 95 Dec 17 11:28 access.log
34412582 -rw-r--r-- 1 nginx nginx 28355 Dec 17 11:26 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# echo > /yinzhengjie/softwares/nginx/logs/access.log  #使用"echo"命令清空文件可以立即释放内存空间,若使用rm命令删除文件并不会立即释放空间,因为nginx服务还是在引用删除之前的acess.log的inode编号。
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 36
33691734 -rw-r--r-- 1 root root 1 Dec 17 11:31 access.log
34412582 -rw-r--r-- 1 nginx nginx 28355 Dec 17 11:26 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/login/
<h1 style='color:rgb(255,0,0)'>Java</h1>
<h1 style='color:rgb(0,255,0)'>Python</h1>
<h1 style='color:rgb(0,0,255)'>Golang</h1>
<h1 style='color:rgb(255,0,255)'>Shell</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 36
33691734 -rw-r--r-- 1 root root 96 Dec 17 11:31 access.log
34412582 -rw-r--r-- 1 nginx nginx 28355 Dec 17 11:26 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl http://node101.yinzhengjie.org.cn/
<h1 style='color:rgb(255,0,255)'>Welcome to 'https://www.cnblogs.com/yinzhengjie/'</h1>
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll -i /yinzhengjie/softwares/nginx/logs/
total 36
33691734 -rw-r--r-- 1 root root 184 Dec 17 11:31 access.log
34412582 -rw-r--r-- 1 nginx nginx 28355 Dec 17 11:26 error.log
34553544 -rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
[root@node101.yinzhengjie.org.cn ~]#

二.自定义访问日志路径

1>.编辑主配置文件

[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/nginx/conf/nginx.conf
worker_processes 4;
worker_cpu_affinity 00000001 00000010 00000100 00001000; events {
worker_connections 100000;
use epoll;
accept_mutex on;
multi_accept on;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
gzip on;
charset utf-8;
keepalive_timeout 65 65; #导入其他路径的配置文件
include /yinzhengjie/softwares/nginx/conf.d/*.conf;
} [root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# nginx -t
nginx: the configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf test is successful
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#

2>.编辑子配置文件

[root@node101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/nginx/conf.d/auth.conf
server {
listen 80;
server_name node101.yinzhengjie.org.cn; error_page 500 502 503 504 404 /error.html; access_log /yinzhengjie/softwares/nginx/logs/node101_yinzhengjie_org_cn_access.log;
error_log /yinzhengjie/softwares/nginx/logs/node101_yinzhengjie_org_cn_error.log; location / {
root /yinzhengjie/data/web/nginx/html;
index index.html;
} location /login {
root /yinzhengjie/data/web/nginx;
index index.html;
deny 172.30.1.108;
allow 172.30.1.0/24;
allow 2001:0db8::/32;
deny all;
} location /error.html {
root /yinzhengjie/data/web/nginx/html/404;
}
}
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# nginx -t
nginx: the configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /yinzhengjie/softwares/nginx/conf/nginx.conf test is successful
[root@node101.yinzhengjie.org.cn ~]#

3>.重新加载nginx服务

[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root 2840 1 0 09:37 ? 00:00:00 nginx: master process nginx
nginx 3715 2840 0 11:36 ? 00:00:00 nginx: worker process
nginx 3716 2840 0 11:36 ? 00:00:00 nginx: worker process
nginx 3717 2840 0 11:36 ? 00:00:00 nginx: worker process
nginx 3718 2840 0 11:36 ? 00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# nginx -s reload
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ps -ef | grep nginx | grep -v grep
root 2840 1 0 09:37 ? 00:00:00 nginx: master process nginx
nginx 3791 2840 2 11:56 ? 00:00:00 nginx: worker process
nginx 3792 2840 2 11:56 ? 00:00:00 nginx: worker process
nginx 3793 2840 2 11:56 ? 00:00:00 nginx: worker process
nginx 3794 2840 2 11:56 ? 00:00:00 nginx: worker process
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#

4>.访问nginx服务,观察日志大小变化

[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/nginx/logs/
total 8
-rw-r--r-- 1 root root 0 Dec 17 11:37 access.log
-rw-r--r-- 1 root root 256 Dec 17 11:56 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
-rw-r--r-- 1 root root 0 Dec 17 11:53 node101_yinzhengjie_org_cn_access.log
-rw-r--r-- 1 root root 0 Dec 17 11:53 node101_yinzhengjie_org_cn_error.log
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl -I http://node101.yinzhengjie.org.cn/
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Tue, 17 Dec 2019 03:57:26 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 88
Last-Modified: Sun, 15 Dec 2019 15:13:15 GMT
Connection: keep-alive
Keep-Alive: timeout=65
ETag: "5df64d8b-58"
Accept-Ranges: bytes [root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/nginx/logs/
total 12
-rw-r--r-- 1 root root 0 Dec 17 11:37 access.log
-rw-r--r-- 1 root root 256 Dec 17 11:56 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
-rw-r--r-- 1 root root 88 Dec 17 11:57 node101_yinzhengjie_org_cn_access.log
-rw-r--r-- 1 root root 0 Dec 17 11:53 node101_yinzhengjie_org_cn_error.log
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl -I http://node101.yinzhengjie.org.cn/login
HTTP/1.1 301 Moved Permanently
Server: nginx/1.14.2
Date: Tue, 17 Dec 2019 03:57:46 GMT
Content-Type: text/html
Content-Length: 185
Location: http://node101.yinzhengjie.org.cn/login/
Connection: keep-alive
Keep-Alive: timeout=65 [root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/nginx/logs/
total 12
-rw-r--r-- 1 root root 0 Dec 17 11:37 access.log
-rw-r--r-- 1 root root 256 Dec 17 11:56 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
-rw-r--r-- 1 root root 378 Dec 17 11:57 node101_yinzhengjie_org_cn_access.log
-rw-r--r-- 1 root root 0 Dec 17 11:53 node101_yinzhengjie_org_cn_error.log
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# curl -I http://node101.yinzhengjie.org.cn/login/111111111
HTTP/1.1 404 Not Found
Server: nginx/1.14.2
Date: Tue, 17 Dec 2019 03:58:01 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 1717
Connection: keep-alive
Keep-Alive: timeout=65
ETag: "5df84120-6b5" [root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# ll /yinzhengjie/softwares/nginx/logs/
total 16
-rw-r--r-- 1 root root 0 Dec 17 11:37 access.log
-rw-r--r-- 1 root root 256 Dec 17 11:56 error.log
-rw-r--r-- 1 root root 5 Dec 17 09:37 nginx.pid
-rw-r--r-- 1 root root 481 Dec 17 11:58 node101_yinzhengjie_org_cn_access.log
-rw-r--r-- 1 root root 272 Dec 17 11:58 node101_yinzhengjie_org_cn_error.log
[root@node101.yinzhengjie.org.cn ~]#

Nginx 核心配置-自定义日志路径及清空日志注意事项的更多相关文章

  1. Nginx 核心配置-自定义错误页面

    Nginx 核心配置-自定义错误页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 生产环境中错误页面一般都是UI或开发工程师提供的,他们已经在软件中定义好了,我们这里就简单写个h ...

  2. Nginx 高级配置-自定义json格式日志

    Nginx 高级配置-自定义json格式日志 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在大数据运维工作中,我们经常会使用flume,filebeat相关日志收集工具取收集日志 ...

  3. Nginx 核心配置-新建一个web站点

    Nginx 核心配置-新建一个web站点 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx基础配置常用参数说明 [root@node101.yinzhengjie.or ...

  4. Nginx 核心配置-location的登录账户认证实战篇

    Nginx 核心配置-location的登录账户认证实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用ab命令模拟网站攻击 1>.安装httpd-tools工具 ...

  5. Nginx 核心配置-单节点实现多域名访问

    Nginx 核心配置-单节点实现多域名访问 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.试验环境说明 1>.虚拟机环境说明 [root@node101.yinzheng ...

  6. Nginx 核心配置详解

    目录 Nginx 核心配置详解 Nginx 四层访问控制: Nginx账户认证功能: 自定义错误页面: 自定义访问日志: 检测文件是否存在: 长连接配置: 作为下载服务器配置: 作为上传服务器: 其他 ...

  7. Nginx 核心配置-可优化配置参数

    Nginx 核心配置-可优化配置参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.nginx的官网查看指令帮助信息方法 1>.打开nginx的官网(https://ng ...

  8. Nginx 核心配置-作为上传服务器配置

    Nginx 核心配置-作为上传服务器配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.关键参数说明 client_max_body_size 1m: 设置允许客户端上传单 ...

  9. Nginx 核心配置-作为下载服务器配置

    Nginx 核心配置-作为下载服务器配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.无限速版本的下载服务器 1>.查看主配置文件 [root@node101.yinz ...

随机推荐

  1. 虚拟机-Ubuntu

    1.安装 下载iso镜像文件,在VMware中创建时添加即可 2.安装tools,可以复制文件 参考:https://www.cnblogs.com/justaman/p/10545239.html ...

  2. [ZJOI2019]线段树(线段树,DP)

    又是神仙题. 要写博客太长了,先咕着.放个代码先. 为什么 fmul 在 linux 底下还被定义过了--能想象到我一发 CE 的绝望吗 qaq #include<bits/stdc++.h&g ...

  3. Linux性能优化实战学习笔记:第五十八讲

    一.上节回顾 专栏更新至今,咱们专栏最后一部分——综合案例模块也要告一段落了.很高兴看到你没有掉队,仍然在积极学习思考.实践操作,并热情地分享你在实际环境中,遇到过的各种性能问题的分析思路以及优化方法 ...

  4. 工作中常用的Linux命令介绍与实践

    前言 做后端开发的同学,一般都会接触到服务器,而我们现在的系统用的比较多的服务器系统就是linux了,平时多多少少也会接触到一些linux下的shell命令.我们来介绍下linux一些常用的命令和使用 ...

  5. Qt Quick 基本元素初体验

    Qt Quick 作为 QML 语言的标准库,提供了很多基本元素和控件来帮助我们构建 Qt Quick 应用,这节我们简要地介绍一些 Qt Quick 元素. 一. 基本可视化项 1.1 Item I ...

  6. sort和sorted

    sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作. list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 ...

  7. 通过IP获取MAC地址例子(内核层)

    博客地址:http://home.cnblogs.com/u/zengjianrong/ 在内核处理此流程,反而更加简单些,代码如下: #include <net/arp.h> #incl ...

  8. 多年老项目添加cocoapod管理之后的各种问题解决方案

    整个组件化过程中遇到的问题及解决方案原文出处 hehuoya.com pod install 报警告(debug.release..) 解决方案:other link flags : $(inheri ...

  9. Git的使用--如何安装和使用 github,让小白不在那么白 (一)(超详解)

    简介 刚开始写了关于如何将本地代码上传到github上,但是有些小伙伴们不清楚如何安装Git,这一篇就给小伙伴们普及一下Git的安装和使用.适合刚开始用git的小白,大神或者大佬请绕道. 实际项目开发 ...

  10. Jenkins整合SonarQube

    一.概述 安装SonarQube,参考链接: https://www.cnblogs.com/xiao987334176/p/12011623.html 安装SonarQube Scanner,参考链 ...