kangle配置文件

(重定向自Kangle配置文件)

目录

[隐藏]

  • 1配置文件介绍
  • 2重新加载配置文件
  • 3config
    • 3.1request和response(配置访问控制)
    • 3.2listen(端口配置)
    • 3.3run(unix系统设置kangle运行用户)
    • 3.4lang(语言)
    • 3.5keep_alive(http长连接)
    • 3.6connect_timeout(连接超时connect time out)
    • 3.7keep_alive_count(长连接过载保护)
    • 3.8timeout(超时)
    • 3.9min_free_thread
    • 3.10gzip(gzip压缩)
    • 3.11connect(连接数)
      • 3.11.1per_ip(特殊ip段连接数)
  • 3.12request_queue
  • 3.13tempfile
  • 3.14max_post_size
  • 3.15buffer
  • 3.16path_info
  • 3.17cache(缓存)
  • 3.18async_io
  • 3.19access_log(全局访问日志)
  • 3.20access_log_handle
  • 3.21log_handle_concurrent
  • 3.22log(全局日志)
  • 3.23server_software
  • 3.24hostname
  • 3.25worker_io(IO工作者)
  • 3.26worker_dns
  • 3.27admin(web管理)
  • 3.28server(服务器扩展)
    • 3.28.1单节点
    • 3.28.2多节点
  • 3.29api(api扩展)
  • 3.30cgi(cgi扩展)
  • 3.31cmd(命令扩展)
  • 3.32vhs(虚拟主机全局)
    • 3.32.1index(默认文件)
    • 3.32.2map(扩展映射)
      • 3.32.2.1文件扩展名映射
      • 3.32.2.2按路径映射
    • 3.32.3alias(别名)
    • 3.32.4mime_type(mime类型)
  • 3.33vh(虚拟主机)
    • 3.33.1host(域名绑定)
    • 3.33.2bind(ip端口绑定)
    • 3.33.3index,map,alias,mime_type

配置文件介绍

  • kangle采用xml的形式,做为配置文件,并支持配置目录(即目录搜索的方式).kangle 3.1中支持平滑的重新加载配置文件,除少数几个配置项(运行用户,服务器签名,磁盘缓存目录,工作线程)需要重新启动才能生效,所有配置都可以平滑加载,程序友好。也支持web操作界面,人机友好。
  • kangle的主配置文件为etc/config.xml,在3.1.1以前虚拟主机相关配置放在etc/vh.xml。3.1.1已经统一为单一配置文件。
  • kangle支持的配置文件目录是ext目录,即kangle/ext目录下面所有的文件,kangle都会当做配置文件加载并解析。
  • 配置文件编码,统一采用utf-8编码。

重新加载配置文件

  • 我们提供了命令行的方式重新加载所有配置文件.

kangle -r

  • 可以在3311里面点重新加载配置文件
  • 也支持编程接口的调用:reload

config

配置文件顶层标签,其它指令都在config之下。

<?xml version="1.0" encoding="utf-8"?>

<config>

其它指令

</config>

requestresponse(配置访问控制)

配置访问控制,请参考kangle访问控制

listen(端口配置)

配置静态侦听端口。 语法:

<listen

ip='*'

port='端口'

type='http|https|manage|manages'

certificate='证书文件地址'

certificate_key='key文件地址'

sni='1'

/>

  • type 可为http,manage,https,manages
  • certificate certificate_key sni只有type为https和manages时才需要
  • sni 是指支持虚拟主机ssl证书,要openssl和浏览器都支持,才有效。目前已知的是centos 5是不支持,ie 6也不支持。

例只侦听ipv4的80端口

<listen ip='0.0.0.0' port='80' type='http' />

只侦听ipv6的80端口

<listen ip='::' port='80' type='http' />

指定ip

<listen ip='127.0.0.1' port='80' type='http' />

侦听ssl

<listen

ip='*'

port='443'

type='https'

certificate='证书文件地址'

certificate_key='key文件地址'

sni='1'

/>

rununix系统设置kangle运行用户)

unix系统设置kangle工作进程运行用户。

<run user='用户名' group='组名'/>

  • 用户名可用#uid,组名可用#gid。
  • 必须要用root身份启动
  • kangle的var目录,tmp目录,对运行用户要有写的权限。etc/config.xml文件也要有写的文档,如果你使用web管理。

使如设置运行在kangle用户下。

<run user='kangle' group='kangle'/>

lang(语言)

设置3311管理用的语言 使用中文

<lang>zh_CN</lang>

指明英语

<lang>en_US</lang>

keep_alive(http长连接)

设置http长连接超时时间,单位秒,设置为0,则禁用http长连接(不建议).

<keep_alive>30</keep_alive>

connect_timeout(连接超时connect time out)

设置连接超时时间,单位秒

<connect_timeout>11</connect_timeout>

keep_alive_count(长连接过载保护)

长连接数默认是2000(可以根据需要修改,如:200),新版加了这个参数,有效实现过载保护,连接数一超,就采用短连接。旧版没有这个设置,连接数高,还是保持长连接,导致负载太高。

<keep_alive_count>2000</keep_alive_count>

timeout(超时)

设置读写超时时间,单位秒,不能低于5秒,最好不超过120秒。

<timeout>30</timeout>

min_free_thread

设置回收空闲线程时,最小保留值。设置为0,不保留。

<min_free_thread>0</min_free_thread>

gzip(gzip压缩)

设置gzip压缩

<gzip only_gzip_cache='0' min_gzip_length='256' gzip_level='5'/>

  • only_gzip_cache 是否仅压缩可以缓存的网页。1表示仅压缩能缓存的网页(一般是静态文件),0表示全部压缩,包括动态网页
  • min_gzip_length 最小压缩大小。如果网页太小,压缩只会浪费cpu.毫无意义。
  • gzip_level 压缩级别(1-9),建议设置为5,数字越大,压缩率越高,相应的耗的cpu就会越多。

connect(连接数)

设置连接数

<connect max_per_ip='0' max='0' />

  • max_per_ip 设置每ip最大连接数,0表示不限制。
  • max 设置总共最大连接数,0表示不限制。

per_ip(特殊ip段连接数)

设置特殊ip段的每ip连接数限制,在connect标签下面(3.1.1版本以上)。

<connect max_per_ip='0' max='0'>

<per_ip src='ip段' max='连接数'/>

<per_ip .../>

</connect>

  • ip 段为cidr格式。如192.168.1.1,192.168.1.0/24
  • max 每ip连接数,0为不限制,deny为拒绝连接

例,设置192.168.0.0/24每ip连接数不限,10.0.0.0/8,拒绝连接,其它ip的连接数设置为20,如下配置。

<config>

<connect max_per_ip='20' max='0'>

<per_ip src='192.168.0.0/24' max='0'/>

<per_ip src='10.0.0.0/8' max='deny'/>

</connect>

</config>

request_queue

设置全局请求队列

<request_queue max_worker='8' max_queue='100'/>

  • max_worker 最大工作者,所有工作者忙时,会放入队列。
  • max_queue 最多队列,0表示不限制
  • 对于缓存和静态文件,不会占用请求队列。仅代理和动态请求才会占用请求队列。
  • kangle会采用两种策略抛弃当前的请求,直接回应503服务器忙,一个是请求队列超过了max_queue设置的数,一个是请求队列等待的时间超过超时时间(timeout设置)。

tempfile

设置是否使用临时文件交换数据

<tempfile>1</tempfile>

如设置使用内存交换

<tempfile>0</tempfile>

  • 用于反向代理,建议设置为使用内存交换,否则碰到很大的下载,反应很慢。
  • 用于本地应用,如fastcgiphp,建议设置临时文件,及大的改善后端压力。
  • kangle 3.1中在访问控制中如果使用了temp_file标记模块指定数据交换,以访问控制中为准

max_post_size

设置最大post数据,仅对采用临时文件交换数据才有作用

<max_post_size>8M</max_post_size>

buffer

设置数据缓冲区大小

<buffer>32K</buffer>

不建议低于8K

path_info

设置是否启用path info的支持

<path_info>1</path_info>

  • 0不启用,1启用,建议启用,如果确切知道不用该功能,可设置为0,提高点性能。
  • 所谓path info是指 http://www.kanglesoft.com/test.php/a/b 这样形式的访问。

cache(缓存)

设置缓存

<cache

default='1'

max_cache_size='1M'

max_bigobj_size='1G'

memory='10M'

disk='10G'

disk_dir='d:\test\'

disk_work_time='* 1-6 * * *'

refresh_time='60'

/>

  • default 是否默认缓存,0或1,建议设置为1
  • max_cache_size 普通缓存最大缓存网页
  • max_bigobj_size 智能缓存最大缓存网页(商业版功能)
  • memory 内存缓存总大小
  • disk 磁盘缓存总大小
  • disk_dir 磁盘缓存目录(该目录要格式化为缓存目录)
  • disk_work_time 磁盘清理和扫描时间(格式同crontab),不设置为即时工作,* 1-6 * * * 表示,每天早上1到7点工作,对于高io负载时建议这样设置。
  • refresh_time 默认缓存时间(即没有指定max_age时,缓存时间),单位秒

async_io

设置是否使用异步IO

<async_io>1</async_io>

  • 0表示不启用异步IO,1表示启用异步IO

access_log(全局访问日志)

设置全局访问日志文件

<access_log>var/access.log</access_log>

  • 如果文件名不是绝对路径,则以kangle安装目录为当前目录
  • 设置为/nolog则禁用访问日志。

access_log_handle

设置访问日志处理,每次kangle翻转访问日志时自动调用该命令对日志进行处理

<access_log_handle><![CDATA[/vhs/kangle/bin/webalizer -F clf -p -Q -o ${log_dir}/../webalizer/ ${log_file}]]></access_log_handle>

  • 以上是使用webalizer做日志分析的一个例子
  • ${log_dir}表示日志目录
  • ${log_file}表示日志文件

以下给个linux下压缩日志的例子

<access_log_handle>/usr/bin/gzip ${log_file}</access_log_handle>

log_handle_concurrent

设置访问日志处理时,最多并发进程数

<log_handle_concurrent>2</log_handle_concurrent>

log(全局日志)

设置全局日志信息

<log

level='3'

rotate_time='0 0 * * *'

rotate_size='100M'

error_rotate_size='100M'

logs_day='30'

logs_size='500M'

log_handle='1'

/>

  • level 表示错误日志(var/server.log)记录级别,0-5,数字越大,记录的信息越多。建议为3
  • rotate_time 全局日志翻转时间,格式同crontab, 0 0 * * * 表示每天0点翻转日志.
  • rotate_size 全局日志按大小翻转,单个日志超过这个大小就翻转。
  • rotate_time和rotate_size可选一个,或者两个都写。
  • logs_day 总日志保存时间,单位天。kangle会把超过这个天数的文件自动删除,所以日志目录切不能设置为有重要文件的目录。
  • logs_size 总日志大小,按大小计算,删除旧的日志文件。
  • log_handle 是否使用access_log_handle处理,为1时处理,0时不处理。

server_software

设置服务器签名。

<server_software>签名</server_software>

如:

<server_software>httpd/2.2</server_software>

hostname

设置服务器名字,用于出错时,附加到错误信息上,方便定位出错。格式:

<hostname>服务器名</hostname>

worker_io(IO工作者)

设置io最大工作者.

<worker_io>10</worker_io>

  • 对于磁盘交换IO,和异步IO,kangle会建立一个工作队列,由worker_io指定一个最大工作者,超过的排队。请设置合理数字,可降低系统IO爆发的压力。
  • 设置0不限制。

worker_dns

admin(web管理)

设置web管理访问授权(默认是3311端口)

<admin

user='admin'

password='d4b4180809b577da4cadeecb4cd31b67'

crypt='md5'

auth_type='Basic'

admin_ips='127.0.0.1|*'

/>

  • user 登录用户名
  • password 密码
  • crypt 密码类型,可选md5,plain,md5表示password是md5加密过的,plain表示是明文
  • auth_type http认证类型,可选Basic,Digest
  • admin_ips 允许ip访问,由|分开,*表示全部ip

例:

<admin

user='admin'

password='kangle'

crypt='plain'

auth_type='Basic'

admin_ips='127.0.0.1|*'

/>

server(服务器扩展)

定义一个服务器扩展:

单节点

<server name='kangle' proto='http' host='192.168.1.1' port='80' life_time='0' />

  • name 名字
  • proto 协议,可选: http,fastcgi,ajp,uwsgi,scgi,hmux
  • 常见proto,反向代理协议用http,连接php用fastcgi,连接tomcat,jboss用ajp,连接uwsgi跑的python用uwsgi,连接python支持的scgi用scgi,resin用hmux
  • host ip地址
  • port 端口号
  • life_time 长连接时间,设置为0,禁用长连接。

多节点

<server

name='tests'

proto='http'

ip_hash='1'

cookie_stick='1'

error_try_time='30'

max_error_count='5'

>

<node  weight='1' host='192.168.1.1' port='80' life_time='0' />

<node  weight='1' host='192.168.1.2' port='80' life_time='0' />

</server>

  • name,proto和单节点一样
  • ip_hash 是否使用ip_hash选择节点。
  • cookie_stick 是否使用cookie粘着,选择节点。可和ip_hash单独使用,也可一起使用。
  • error_try_time 错误重试时间,一但某个节点被判断为坏节点时,过多久,再重新测试。单位秒。
  • max_error_count 连续错误次数超过设置值,就会被kangle认为是坏节点,而从节点中摘除,直到重新测试为能连通为止
  • node定义节点,可以为多个
    • weitht 定义节点的重量,重量越大,使用该节点的次数就越多。为0,为备份节点,只有所有非备份节点全坏时,才使用备份节点。
    • host,port,life_time和单节点一样。

api(api扩展)

定义api扩展,api兼容isapi.为动态链接库文件,windows为dll,linux为so。

<api name='asp' file='bin/kasp.dll' type='sp'  life_time='60'>

</api>

  • type为api加载类型,可选值为sp和mt

    • sp由kangle工作进程加载,不独立进程,又叫进程内api
    • mt由extworker程序加载,独立工作进程,又叫进程外api.
    • sp的性能比mt的性能高,但mt的稳定性比sp高,如果api有bug,会导致加载的进程出问题。

cgi(cgi扩展)

定义cgi扩展,cgi公共网关接口,有关cgi请参考: http://baike.baidu.com/view/369917.htm

<cgi name='php' cmd='/usr/bin/php-cgi' arg='参数' env='环境变量' env_split='|' />

  • name cgi名字
  • cmd 执行程序
  • arg 参数(多个参数由空格分开) %s表示执行脚本文件。
  • env 环境变量,多个环境变量由|分开,如a=1|b=2
  • env_split 多个环境变量分割符,默认是|
  • cgi是一种性能低下的扩展,每次执行都要启动一个新的进程,所以尽量避免使用。

cmd(命令扩展)

参考Kangle命令扩展

vhs(虚拟主机全局)

设置虚拟主机全局的一些配置,位于config标签下。

<vhs  error_404='/404.html'>

其它指令

</vhs>

  • error_错误代码 设置全局自定义错误页面,目前仅404和403可设置。

index(默认文件)

设置默认文件(可放在vhs和vh下面)

<index file='index.php'/>

  • index 可在vhs标签下,也可在vh下面,分别设置全局和指定虚拟主机的默认文件。

map(扩展映射)

扩展映射,可在vhs和vh标签下。格式:

文件扩展名映射

设置按文件扩展名映射

<map file_ext='asp' extend='api:asp' allow_method='*'  confirm_file='1' />

  • file_ext 文件扩展名
  • extend 扩展,格式是扩展类型:名字,扩展类型有api,cgi,server,cmd,或者是没有名字,直接为cgi,ssi
  • allow_method 允许方法,多个方法用逗号分割。如GET,POST *表示全部
  • confirm_file 确认文件存在(0或1),默认为1,如为1时,文件存在,kangle才交给扩展处理,否则直接404,为0时kangle不确认。

按路径映射

按url的path来映射扩展

<map path='/' extend='扩展' allow_method='*' confirm_file='0'/>

  • path 为url的path,如开头为~的,则用正则匹配,否则只匹配前面部分。如:

<map path='~\.php$' extend='server:php' allow_method='*' confirm_file='1'/>

  • 其它参数同文件扩展名映射一样。

alias(别名)

设置虚拟主机别名,可在vhs和vh标签下。格式:

<alias path='url路径' to='物理路径' internal='0或1'/>

  • path为url的路径,如:/abc/
  • to为物理路径,如:d:\kangle\www\
  • internal 是否为内部请求,默认是0,如为内部请求,则只有内部请求才有效。

例:

<alias path='/aa/' to='D:\project\kangle\www\'/>

mime_type(mime类型)

设置mime类型,可在vhs和vh标签下。格式:

<mime_type ext='文件扩展名' type='mime类型' gzip='0或1' max_age='缓存时间(秒)'/>

  • ext 文件扩展名,*表示默认mime类型
  • gzip 是否压缩,1表示压缩,0不压缩(由访问控制确定是否压缩)
  • max_age 缓存时间,如果不写或为0,由全局设置的缓存的时间为准(cache下的refresh_time),但访问控制的设置可覆盖本设置。

例:

<mime_type ext='html' type='text/html' gzip='1'/>

vh(虚拟主机)

定义一个虚拟主机,在config标签下。

<vh

name='名字'

doc_root='路径'

log_file='独立日志'

log_rotate_time='0 0 * * *'

log_rotate_size='100m'

inherit='on或off'

user='运行用户'

group='运行组'

password='密码'

app='1'

ip_hash='1'

app_share='0或1或2'

browse='on或off'

access='自定义访问文件'

htaccess='htaccess文件名'

concat='0或1'

max_connect='100'

speed_limit='10240'

fflow='1'

max_worker='10'

max_queue='0'

certificate='ssl证书文件'

certificate_key='ssl证书key文件'

status='状态'

>

其它指令

</vh>

  • name 虚拟主机的名字,不可重复,由字母和数字组成
  • doc_root 虚拟主机家目录
  • log_file 独立日志,如果不是绝对地址,则以虚拟主机家目录为当前目录。
  • log_rotate_time 日志翻转时间,格式同crontab
  • log_rotate_size 日志翻转大小。
  • inherit 是否继承全局的设置,on为继承,off不继承,继承自定义错误,扩展映射(map),默认首页(index),别名(alias)设置。如有冲突,则以虚拟主机的设置的为准,即可覆盖全局设置。
  • user 运行用户,unix下可以为用户名或#uid.
  • group 运行用户,unix下用,windows不用。可为#gid
  • password 用户密码,windows下用,unix不用。

user,group,password 这个运行身份,仅对扩展cmdcgikangle进程要以超级用户运行才有效。即要启动子进程服务时的一个运行身份。

  • app 应用程序池数量,对于无多进程的扩展,如进程外api扩展和单进程的cmd扩展。设置app,可启动多个子进程。其它的情况,请设置为1.
  • ip_hash 对于app大于1的情况下,启用ip_hash有助于锁定子进程和ip关连。而不置于用户在各个应用程序池之间来回切换。app为1时,此值无意义。
  • app_share 应用程序池共享模式,有0,1,2三种取值,0为独享,1为相同运行用户共享,2为全局共享。建议取值为1.默认为0。
  • browse 是否允许浏览模式,取值为on或off,对于一个目录下没有默认文件,如果为on,则列出该目录下所有文件和子目录,否则显示403错误。默认为off.
  • access 自定义的访问控制文件名,为空不支持。取值为-,为内置模式,即访问控制部分配置包含在vh标签下。,默认为空不支持。
  • htaccess 兼容apache的htaccess文件名,为空不支持apache的.htaccess。目前kangle部分兼容了apache的.htaccess重写指令。默认为空不支持。
  • concat 是否允许组合请求模式,0不支持,1支持组合请求,默认为0。
  • max_connect 最大连接数,0不限制,默认为0
  • speed_limit 带宽限制,单位字节/秒,0不限制,默认为0
  • fflow 是否流量统计 0或1,默认为0
  • max_worker 最大工作者,为0,使用全局最大工作者,默认为0
  • max_queue 最大队列,为0不限队列大小,默认为0.
  • certificate ssl证书文件,可为绝对路径和相对路径,如为相对路径则以虚拟主机的doc_root为当前目录。
  • certificate_key ssl证书key文件,可为绝对路径和相对路径,如为相对路径则以虚拟主机的doc_root为当前目录。
  • status 状态,为0正常,非0,所有访问显示503.默认为0。

host(域名绑定)

绑定域名,在vh标签下,格式:

<host dir='子目录>域名</host>

  • dir为子目录,也可以为http://ip:port/ 表示反向代理。扩展阅读kangle反向代理.
  • 域名可为*,表示所有域名。或 *.abc.com,表示泛域名。
  • 绑定多个域名,可以有多个host.

例:

<host>*</host>

<host dir='www'>abc.com</host>

bind(ip端口绑定)

绑定到指定ip或端口上(3.1版本),在vh标签下。格式:

<bind>!ip:port</bind>

  • ip可以为*,表示所有ip,或为0.0.0.0表示所有ipv4的ip,或::表示所有ipv6的ip,或指定一个ip.
  • port 端口,如以s结尾,由表示是ssl端口,如443s,但要配置虚拟主机的ssl证书和key文件。
  • bind可以有多个,表示一个虚拟主机绑定到多个端口上。
  • 如果一个vh没有一个bind,则会绑定到所有已经打开的端口。但优先级会低于指定绑定的虚拟主机。

例:绑定到80端口和443 ssl端口

<vh 其它配置>

<bind>!*:80</bind>

<bind>!*:443s</bind>

</vh>

index,map,alias,mime_type

vh下的index,map,alias,mime_type请参考vhs下的index,map,alias,mime_type

转载于:https://www.cnblogs.com/wangshuyang/p/10299114.html

(转)Kangle配置文件相关推荐

  1. kangle的配置文件

    /vhs/kangle/etc/config.xml <?xml version="1.0" encoding="utf-8"?> <conf ...

  2. 对kangle ep进行加固 安全防御 CC防御防注入防木马等操作

    一.禁止目录执行 先点击右边的请求控制 选择添加 目标 选择拒绝 俩个匹配模块 reg_path 分别写入 记得勾选 nc 详细和图片对比 .*//((attachment)|(attachments ...

  3. kangle安装php7.0_kangle安装fileinfo扩展完善版(PHP7.3.7)

    您的位置:WenRou's Blog >面板> kangle安装fileinfo扩展完善版(PHP7.3.7) kangle安装fileinfo扩展完善版(PHP7.3.7) 1.下载PH ...

  4. kangle源码idc下载_kangle web服务器源代码

    kangle web服务器 是一款跨平台.功能强大.安全稳定.易操作的高性能web服务器和反向代 理服务器软件.简称:kangle kangle采用基于事件驱动(epoll等)加非阻塞socket及异 ...

  5. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用

    RSA算法 token生成与解析 本文演示两种方式,一种是把密钥文件放在配置文件中,一种是把密钥文件本身放入项目或者容器中. 下面两种的区别在于私钥公钥的初始化, init方法,需要哪种取哪种. 通过 ...

  6. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

    Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...

  7. 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置

    在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...

  8. 基于Golang的监听读取配置文件的程序包开发——simpleConfig_v1

    基于Golang的监听&读取配置文件的程序包开发--simpleConfig_v1 [阅读时间:约10分钟] 一.配置文件概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 ...

  9. Go 学习笔记(82)— Go 第三方库之 viper(解析配置文件、热更新配置文件)

    1. viper 特点 viper 是一个完整的 Go应用程序的配置解决方案,它被设计为在应用程序中工作,并能处理所有类型的配置需求和格式.支持特性功能如下: 设置默认值 读取 JSON.TOML.Y ...

最新文章

  1. Java 线程 笔记(1)
  2. windows7 RDP修改
  3. Java数据类型和MySql数据类型对应表
  4. java中的mod运算_Java中的运算符与控制语句
  5. Leetcode - 143. Reorder List
  6. MySQL安装与操作总结
  7. C++基础::string(二)
  8. HBASE table导出到文件的方法
  9. Tomcat8安装、配置与启动
  10. 速达服务器远程登录设置,ERP速达软件online远程客户端登录常见问题(三)
  11. PG数据库表及表注释查询语句
  12. 相机视场角和焦距_相机视场角估计
  13. AI Illustrator 中钢笔工具在绘制过程中如何使用
  14. Linux程序设计(Linux shell编程五)
  15. RestAssured接口自动化框架学习
  16. Device ID的用处和读取方法
  17. 程序员如何获取招聘信息
  18. 单相远程费控智能电表使用指南
  19. 第137篇 荷兰拍卖
  20. 栈内存 ,堆内存区别 C++ 动态内存 == 与equal区别 复合函数奇偶性 三角函数转换公式: 虚函数和纯虚函数: C++ 中的运算符重载 数据封装,数据抽象 C++ 接口(抽象类

热门文章

  1. Centos搭建配置SDN
  2. HTML页面编写中常遇到的bug
  3. 云联惠认证时间_警方要求云联惠涉案成员限期投案,是自首寻求轻判的最佳时机...
  4. BeeGFS-Mon对接Grafana
  5. 一级计算机B理论知识和答案,计算机一级B试题+理论答案 10秋06
  6. Kaggle竞赛——Titanic泰坦尼克之灾(0.76315==>0.79186)
  7. 什么是AP,什么是CP,什么是CAP?
  8. 高考外语听力考试网络广播方案
  9. 【新人入门】HTML——前端纯小白新手入门
  10. Spring是什么,为什么要学Spring