php-fpm的pool,慢执行日志,定义open_basedir,进程管理
2019独角兽企业重金招聘Python工程师标准>>>
php-fpm的pool
主要用来隔离各个站点,相互不影响。当某个网站出问题时,不影响到其他的站点。
增加池子配置,例如增加 test.com
[root@test-a etc]# cat php-fpm.conf
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
[test.com]
listen = /tmp/test-com.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024[root@test-a etc]# ../sbin/php-fpm -t
[03-Dec-2018 15:57:20] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm .conf test is successful
[root@test-a etc]# /etc/init.d/php-fpm reload
Reload service php-fpm done[root@test-a etc]# ps aux|grep php-fpm
root 3108 1.4 0.4 228216 4908 ? Ss 15:58 0:00 php-fpm: master process (/usr/loca l/php-fpm/etc/php-fpm.conf)
php-fpm 3109 0.0 0.4 228156 4652 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3110 0.0 0.4 228156 4652 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3111 0.0 0.4 228156 4652 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3112 0.0 0.4 228156 4656 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3113 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3114 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3115 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3116 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3117 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3118 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3119 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3120 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3121 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3122 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3123 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3124 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3125 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3126 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3127 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3128 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool www
php-fpm 3129 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3130 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3131 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3132 0.0 0.4 228156 4660 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3133 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3134 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3135 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3136 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3137 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3138 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3139 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3140 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3141 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3142 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3143 0.0 0.4 228156 4664 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3144 0.0 0.4 228156 4668 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3145 0.0 0.4 228156 4668 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3146 0.0 0.4 228156 4668 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3147 0.0 0.4 228156 4668 ? S 15:58 0:00 php-fpm: pool test.com
php-fpm 3148 0.0 0.4 228156 4668 ? S 15:58 0:00 php-fpm: pool test.com# 这样站点(test.com)就可以独自使用自己的pool,对应的socket配置为/tmp/test-com.sock
上面是在php-fpm全局配置文件进行配置,现在拆分配置,针对每个pool进行配置
[root@test-a etc]# mkdir php-fpm.d
[root@test-a etc]# cd php-fpm.d/
[root@test-a php-fpm.d]# vi www.conf
[root@test-a php-fpm.d]# cat www.conf
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
[root@test-a php-fpm.d]# vi test.conf
[root@test-a php-fpm.d]# cat test.conf
[test.com]
listen = /tmp/test-com.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
[root@test-a php-fpm.d]# vi ../php-fpm.conf
[root@test-a php-fpm.d]# cat ../php-fpm.conf
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
include = etc/php-fpm.d/*.conf
[root@test-a php-fpm.d]# ../../sbin/php-fpm -t
[03-Dec-2018 16:10:01] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful[root@test-a php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm done
[root@test-a php-fpm.d]# ps aux|grep php-fpm
root 3283 0.1 0.4 228244 4912 ? Ss 16:10 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm 3284 0.0 0.4 228184 4664 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3285 0.0 0.4 228184 4664 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3286 0.0 0.4 228184 4664 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3287 0.0 0.4 228184 4668 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3288 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3289 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3290 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3291 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3292 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3293 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3294 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3295 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3296 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3297 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3298 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3299 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3300 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3301 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3302 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3303 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool test.com
php-fpm 3304 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3305 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3306 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3307 0.0 0.4 228184 4672 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3308 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3309 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3310 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3311 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3312 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3313 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3314 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3315 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3316 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3317 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3318 0.0 0.4 228184 4676 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3319 0.0 0.4 228184 4680 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3320 0.0 0.4 228184 4680 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3321 0.0 0.4 228184 4680 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3322 0.0 0.4 228184 4680 ? S 16:10 0:00 php-fpm: pool www
php-fpm 3323 0.0 0.4 228184 4680 ? S 16:10 0:00 php-fpm: pool www
php-fpm的慢执行日志
增加配置
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
[root@test-a php-fpm.d]# vim www.conf
[root@test-a php-fpm.d]# cat www.conf
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log[root@test-a php-fpm.d]# ../../sbin/php-fpm -t
[03-Dec-2018 16:15:34] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful[root@test-a php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm done
测试
[root@test-a php-fpm.d]# vim /data/wwwroot/abc.com/2.php
[root@test-a php-fpm.d]# cat /data/wwwroot/abc.com/2.php
<?php
sleep(3);
?>[root@test-a php-fpm.d]# curl -x127.0.0.1:80 abc.com/2.php -I
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Mon, 03 Dec 2018 08:21:50 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.32[root@test-a php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log[03-Dec-2018 16:21:48] [pool www] pid 3373
script_filename = /data/wwwroot/abc.com/2.php
[0x00007f68a91ff270] sleep() /data/wwwroot/abc.com/2.php:2
定义open_basedir
[root@test-a php-fpm.d]# vim www.conf
[root@test-a php-fpm.d]# cat www.conf #先配置错误
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
[root@test-a php-fpm.d]# ../../sbin/php-fpm -t
[03-Dec-2018 16:27:23] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful[root@test-a php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm done
[root@test-a php-fpm.d]# curl -x127.0.0.1:80 abc.com/index.php -I
HTTP/1.1 404 Not Found
Server: nginx/1.14.1
Date: Mon, 03 Dec 2018 08:27:44 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.32# 正确配置,测试
[root@test-a php-fpm.d]# vim www.conf
[root@test-a php-fpm.d]# cat www.conf
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/wwwroot/abc.com:/tmp/
[root@test-a php-fpm.d]# ../../sbin/php-fpm -t
[03-Dec-2018 16:29:00] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful[root@test-a php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm done
[root@test-a php-fpm.d]# curl -x127.0.0.1:80 abc.com/index.php -I
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Mon, 03 Dec 2018 08:29:06 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.32
进程管理
- pm = dynamic ;动态进程管理,也可以是static
- pm.max_children = 50 ;最大子进程数,ps aux可以查看
- pm.start_servers = 20 ;启动服务时会启动的进程数
- pm.min_spare_servers = 5 ;定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。
- pm.max_spare_servers = 35 ;定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。
- pm.max_requests = 500 ;定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。
测试
[root@test-a php-fpm.d]# vim test.conf
[root@test-a php-fpm.d]# cat test.conf
[test.com]
listen = /tmp/test-com.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 3
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500
rlimit_files = 1024[root@test-a php-fpm.d]# ../../sbin/php-fpm -t
[03-Dec-2018 16:33:17] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful[root@test-a php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm done
[root@test-a php-fpm.d]# ps aux|grep php-fpm #可以看到只有2个test.com
root 3734 0.1 0.4 228188 4876 ? Ss 16:33 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm 3735 0.0 0.4 228128 4656 ? S 16:33 0:00 php-fpm: pool test.com
php-fpm 3736 0.0 0.4 228128 4656 ? S 16:33 0:00 php-fpm: pool test.com
php-fpm 3737 0.0 0.4 228184 4656 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3738 0.0 0.4 228184 4660 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3739 0.0 0.4 228184 4660 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3740 0.0 0.4 228184 4660 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3741 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3742 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3743 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3744 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3745 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3746 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3747 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3748 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3749 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3750 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3751 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3752 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3753 0.0 0.4 228184 4664 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3754 0.0 0.4 228184 4668 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3755 0.0 0.4 228184 4668 ? S 16:33 0:00 php-fpm: pool www
php-fpm 3756 0.0 0.4 228184 4668 ? S 16:33 0:00 php-fpm: pool www
转载于:https://my.oschina.net/u/996931/blog/2966649
php-fpm的pool,慢执行日志,定义open_basedir,进程管理相关推荐
- php fpm的pool,php-fpm的pool、PHP慢执行日志、open_basedir、php-fpm进程管理
这篇文章介绍的内容是关于php-fpm的pool.PHP慢执行日志.open_basedir.php-fpm进程管理,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 php-fpm的po ...
- php-fpm的pool,php-fpm慢执行日志,open_basedir,php-fpm进程管理
笔记内容: 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理 笔记日期:2017-10-25 12. ...
- php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
php-fpm的pool 当很多php站点共用一个池的时候,若是其中一个站点影响了这个pool,会导致其他站点也出现问题,为避免这个问题发生,需要对每个站点新建一个pool,进行隔离,保障服务安全 1 ...
- php-fpm的pool - 慢执行日志 - 进程管理 - open_basedir
2019独角兽企业重金招聘Python工程师标准>>> php-fpm的pool : 为避免多站点使用同一个pool时因一个站点故障导致php资源耗尽,牵连使用同一个pool的其他站 ...
- php-fpm error 慢执行,php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
目录 一.php-fpm的pool 二.php-fpm慢执行日志 三.open_basedir 四.php-fpm进程管理 一.php-fpm的pool 和LAMP不同的是,在LNMP架构中,php- ...
- 8.17 php-fpm的pool、php-fpm慢执行日志、open_basedir、php-fpm进程管理
1.php-fpm的pool 编辑配置文件vim /usr/local/php/etc/php-fpm.conf,此时只定义了一个pool,即www 可以定义多个pool,监听不同的地址或socket ...
- php fpm 日志级别,php-fpm的pool、php-fpm慢执行日志、 php-fpm定义open_basedir、php-fpm进程管理...
php-fpm的pool php-fpm的pool [root@iZbp1e0xboek6oow616aoiZ ~]# vim /usr/local/php-fpm/etc/php-fpm.conf ...
- LNMP(php-fpm的pool,慢执行日志,定义open_bashdir,php-fpm进程管理
一.php-fpm的pool(连接池) 我们查看php的进程时,会发现,在最后一个pool的选项,而这个就是我们在php-fpm配置文件里写的一个连接池. [root@lnmp ~]# ps aux ...
- 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理
2019独角兽企业重金招聘Python工程师标准>>> 12.21 php-fpm的pool 为了避免因多站点使用同一个pool时因一个站点故障导致pool出问题,进而影响使用同一个 ...
最新文章
- matlab 傅里叶变换_Matlab与傅里叶变换
- 菌群与疾病的关系探讨之一:先有鸡还是先有蛋?
- python创建一个字符串_Python字符串基本操作
- WIN8将IE设置为默认浏览器
- ejb 2.0 3.0_EJB 3.1全局JNDI访问
- oracle cur notfound,%notfound的理解——oracle存儲過程 | 學步園
- android去除标题栏
- coreboot学习1:编译并使用qemu模拟
- HCIE-RS面试--RSTP为什么优于STP
- Activity详解(生命周期、以各种方式启动Activity、状态保存,完全退出等)
- Java Web开发的轻便架构Tapestry5---页面渲染之框架职责
- c语言自学文档,自学c语言(全套资料)
- 7-3 寻找大富翁 (50分)
- Flutter报setState() or markNeedsBuild() called during build.错误解决办法
- 游艇租用问题算法c语言,租用游艇问题 算法设计分析
- Gimy 剧迷更新快,内容超多的电影、美日韩剧、动漫片源
- ios 提醒事项和快捷指令,实现进度条功能
- 计算机在教育领域中的应用方式,计算机技术在教育中的应用
- Hive性能优化(全面)解决数据倾斜等问题
- mysql 函数from_unixtime返回null