#!/bin/bash#for one install nginx#for wangjiadongge#Add users running the nginx service process
# 创建一个不能登陆系统的用户nginx
useradd -s /sbin/nologin nginx               #Installation dependence# 安装依赖包
#安装 nginx 之前,确保系统已经安装 gcc、openssl-devel、pcre-devel 和 zlib-devel 软件库
yum groupinstall -y "Development tools"yum install -y gcc wget gcc-c++ automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl-devel                 #Download source
# 安装包下载
wget http://nginx.org/download/nginx-1.12.2.tar.gz
#解压到opt下
tar -xvf nginx-1.12.2.tar.gz -C /opt                  #Compile and installcd /opt/nginx-1.12.2/#检查编译环境
./configure \  #安装路径
--prefix=/opt/nginx/ \
#用户
--user=nginx \#用户组
--group=nginx \--with-pcre \--with-http_v2_module \
#https模块
--with-http_ssl_module \       --with-http_realip_module \--with-http_addition_module \--with-http_sub_module \--with-http_dav_module \--with-http_flv_module \--with-http_mp4_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_random_index_module \--with-http_secure_link_module \--with-http_stub_status_module \--with-http_auth_request_module \--with-mail \--with-mail_ssl_module \--with-file-aio \--with-http_v2_module \--with-threads \--with-stream \--with-stream_ssl_module \
#编译&&安装
make && make install
#创建软连接
ln -s /opt/nginx/sbin/nginx /usr/bin/nginx
#启动服务器     重启    nginx  -s reload
Nginx
#查看nginx服务
ps -aux|grep nginx

nginx 服务架构

nginx 的模块清单
核心模块
ngx_core
ngx_errlog
ngx_conf
ngx_events
ngx_event_core
ngx_epll
ngx_regex

nginx模块
ngx_http_core_module #配置端口,URI 分析,服务器相应错误处理,别名控制 (alias) 等
ngx_http_access_module #基于 IP 地址的访问控制 (deny,allow)
例子

location / {deny  192.168.1.1;allow 192.168.1.0/24;allow 10.1.1.0/16;allow 2001:0db8::/32;deny  all;
}

ngx_http_addition_module #是一个过滤器,可在响应之前和之后添加文本。默认情况下未构建此模块,应使用–with-http_addition_module 配置参数启用它 。
例子

location / {add_before_body /before_action;add_after_body  /after_action;
}

ngx_http_api_module #提供REST API访问的各种状态信息,关于即时配置上游服务器组,并管理 键-值对 ,而无需重新配置Nginx的。属于商业模块

例子

http {upstream backend {zone http_backend 64k;server backend1.example.com weight=5;server backend2.example.com;}proxy_cache_path /data/nginx/cache_backend keys_zone=cache_backend:10m;server {server_name backend.example.com;location / {proxy_pass  http://backend;proxy_cache cache_backend;health_check;}status_zone server_backend;}keyval_zone zone=one:32k state=one.keyval;keyval $arg_text $text zone=one;server {listen 127.0.0.1;location /api {api write=on;allow 127.0.0.1;deny all;}}
}stream {upstream backend {zone stream_backend 64k;server backend1.example.com:12345 weight=5;server backend2.example.com:12345;}server {listen      127.0.0.1:12345;proxy_pass  backend;status_zone server_backend;health_check;}
}

所有API请求都在URI中包含受支持的API版本,具有此配置的API请求示例

http://127.0.0.1/api/6/
http://127.0.0.1/api/6/nginx
http://127.0.0.1/api/6/connections
http://127.0.0.1/api/6/ http /请求
http://127.0.0.1/api/6/http/server_zones/server_backend
http://127.0.0.1/api/6/http/caches/cache_backend
http://127.0.0.1/api/6/http / upstreams / backend
http://127.0.0.1/api/6/http/upstreams/backend/servers/
http://127.0.0.1/api/6/http/upstreams/backend/servers/1
http://127.0 .0.1 / api / 6 / http / keyvals / one?key = arg1
http://127.0.0.1/api/6/stream/
http://127.0.0.1/api/6/stream/server_zones/server_backend
http:/ /127.0.0.1/api/6/stream/upstreams/
http://127.0.0.1/api/6/stream/upstreams/backend
http://127.0.0.1/api/6/stream/upstreams/backend/servers/1

ngx_http_auth_basic_module #基于 http 的身份认证 (auth_basic)
例子

location / {auth_basic           "closed site";auth_basic_user_file conf/htpasswd;
}
以以下格式指定保留用户名和密码的文件:
# comment
name1:password1
name2:password2:comment
name3:password3

ngx_http_auth_jwt_module
ngx_http_auth_request_module #基础上子请求的结果模块(1.5.4+)实现客户机授权。如果子请求返回2xx响应代码,则允许访问。如果返回401或403,则使用相应的错误代码拒绝访问。子请求返回的任何其他响应代码都被视为错误。
对于401错误,客户端还从子请求响应中接收到“ WWW-Authenticate”标头。

默认情况下未构建此模块,应使用–with-http_auth_request_module 配置参数启用它
例子

location /private/ {auth_request /auth;...
}location = /auth {proxy_pass ...proxy_pass_request_body off;proxy_set_header Content-Length "";proxy_set_header X-Original-URI $request_uri;
}

ngx_http_autoindex_module #自动生成目录列表
ngx_http_browser_module #解析 http 请求头部的 User-Agent 值
ngx_http_charset_module #指定网页编码
ngx_http_dav_module
ngx_http_empty_gif_module #从内存创建一个 1×1 的透明 gif 图片,可以快速调用
ngx_http_f4f_module #为Adobe HTTP动态流(HDS)提供服务器端支持(商业模块)
例子

location /video/ {f4f;...
}

ngx_http_fastcgi_module #支持 fastcgi
ngx_http_flv_module
ngx_http_geo_module
ngx_http_geoip_module
ngx_http_grpc_module
ngx_http_gunzip_module
ngx_http_gzip_module
ngx_http_gzip_static_module
ngx_http_headers_module #设置 http 响应头
ngx_http_hls_module
ngx_http_image_filter_module
ngx_http_index_module #处理以/结尾的请求,如果没有找到 index 页,则看是否开启了random_index;如开启,则用之,否则用 autoindex
ngx_http_js_module
ngx_http_keyval_module
ngx_http_limit_conn_module #限制来自客户端的连接的响应和处理速率
ngx_http_limit_req_module #限制来自客户端的请求的响应和处理速率
ngx_http_log_module #自定义 access 日志
ngx_http_map_module #创建任意的键值对变量
ngx_http_memcached_module
ngx_http_mirror_module
ngx_http_mp4_module
ngx_http_perl_module
ngx_http_proxy_module
ngx_http_random_index_module
ngx_http_realip_module
ngx_http_referer_module #过滤 HTTP 头中 Referer 为空的对象
ngx_http_rewrite_module #通过正则表达式重定向请求
ngx_http_scgi_module
ngx_http_secure_link_module
ngx_http_session_log_module
ngx_http_slice_module
ngx_http_spdy_module
ngx_http_split_clients_module
ngx_http_ssi_module
ngx_http_ssl_module #支持https
ngx_http_status_module
ngx_http_stub_status_module
ngx_http_sub_module
ngx_http_upstream_module #定义一组服务器,可以接受来自 proxy, Fastcgi,Memcache 的重定向;主要用作负载均衡
ngx_http_upstream_conf_module
ngx_http_upstream_hc_module
ngx_http_userid_module
ngx_http_uwsgi_module
ngx_http_v2_module
ngx_http_xslt_module #将 XML 响应信息使用 XSLT 进行转换
ngx_mail_core_module
ngx_mail_auth_http_module
ngx_mail_proxy_module #反向代理
例子

location / {proxy_pass       http://localhost:8000;proxy_set_header Host      $host;proxy_set_header X-Real-IP $remote_addr;
}

ngx_mail_ssl_module
ngx_mail_imap_module
ngx_mail_pop3_module
ngx_mail_smtp_module
ngx_stream_core_module
ngx_stream_access_module
ngx_stream_geo_module
ngx_stream_geoip_module
ngx_stream_js_module
ngx_stream_keyval_module
ngx_stream_limit_conn_module
ngx_stream_log_module
ngx_stream_map_module
ngx_stream_proxy_module
ngx_stream_realip_module
ngx_stream_return_module
ngx_stream_split_clients_module
ngx_stream_ssl_module
ngx_stream_ssl_preread_module
ngx_stream_upstream_module
ngx_stream_upstream_hc_module
ngx_stream_zone_sync_module
ngx_google_perftools_module

nginx 配置文件实例

#定义 nginx 运行的用户和用户组
user nginx  nginx;#nginx 进程数,建议设置为等于 CPU 总核心数。
worker_processes 8;#nginx 默认没有开启利用多核 CPU, 通过增加 worker_cpu_affinity 配置参数来充分利用多核 CPU 以下是 8 核的配置参数
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;#进程文件
pid /var/run/nginx.pid;#一个 nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值 ulimit -n)与 nginx 进程数相除,但是 nginx 分配请求并不均匀,所以建议与 ulimit -n 的值保持一致。
worker_rlimit_nofile 65535;#工作模式与连接数上限
events
{#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll 模型是 Linux 2.6 以上版本内核中的高性能网络 I/O 模型,如果跑在 FreeBSD 上面,就用 kqueue 模型。#epoll 是多路复用 IO(I/O Multiplexing) 中的一种方式,但是仅用于 linux2.6 以上内核,可以大大提高 nginx 的性能use epoll;#############################################################################单个后台 worker process 进程的最大并发链接数#事件模块指令,定义 nginx 每个进程最大连接数,默认 1024。最大客户连接数由 worker_processes 和 worker_connections 决定#即 max_client=worker_processes*worker_connections, 在作为反向代理时:max_client=worker_processes*worker_connections / 4worker_connections 65535;############################################################################
}#设定 http 服务器
http {include mime.types; #文件扩展名与文件类型映射表default_type application/octet-stream; #默认文件类型#charset utf-8; #默认编码server_names_hash_bucket_size 128; #服务器名字的 hash 表大小client_header_buffer_size 32k; #上传文件大小限制large_client_header_buffers 4 64k; #设定请求缓client_max_body_size 8m; #设定请求缓sendfile on; #开启高效文件传输模式,sendfile 指令指定 nginx 是否调用 sendfile 函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘 IO 重负载应用,可设置为 off,以平衡磁盘与网络 I/O 处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成 off。autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。tcp_nopush on; #防止网络阻塞tcp_nodelay on; #防止网络阻塞##连接客户端超时时间各种参数设置##keepalive_timeout  120;          #单位是秒,客户端连接时时间,超时之后服务器端自动关闭该连接 如果 nginx 守护进程在这个等待的时间里,一直没有收到浏览发过来 http 请求,则关闭这个 http 连接client_header_timeout 10;        #客户端请求头的超时时间client_body_timeout 10;          #客户端请求主体超时时间reset_timedout_connection on;    #告诉 nginx 关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间send_timeout 10;                 #客户端响应超时时间,在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx 就会关闭连接#################################FastCGI 相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;###作为代理缓存服务器设置##########先写到 temp 再移动到 cache#proxy_cache_path /var/tmp/nginx/proxy_cache levels=1:2 keys_zone=cache_one:512m inactive=10m max_size=64m;###以上 proxy_temp 和 proxy_cache 需要在同一个分区中###levels=1:2 表示缓存级别,表示缓存目录的第一级目录是 1 个字符,第二级目录是 2 个字符 keys_zone=cache_one:128m 缓存空间起名为 cache_one 大小为 512m###max_size=64m 表示单个文件超过 128m 就不缓存了  inactive=10m 表示缓存的数据,10 分钟内没有被访问过就删除#########end#########################对传输文件压缩############gzip 模块设置gzip on; #开启 gzip 压缩输出gzip_min_length 1k; #最小压缩文件大小gzip_buffers 4 16k; #压缩缓冲区gzip_http_version 1.0; #压缩版本(默认 1.1,前端如果是 squid2.5 请使用 1.0)gzip_comp_level 2; #压缩等级,gzip 压缩比,1 为最小,处理最快;9 为压缩比最大,处理最慢,传输速度最快,也最消耗 CPU;gzip_types text/plain application/x-javascript text/css application/xml;#压缩类型,默认就已经包含 text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个 warn。gzip_vary on;###############################limit_zone crawler $binary_remote_addr 10m; #开启限制 IP 连接数的时候需要使用upstream blog.ha97.com {#upstream 的负载均衡,weight 是权重,可以根据机器配置定义权重。weigth 参数表示权值,权值越高被分配到的几率越大。server 192.168.10.121:80 weight=3;server 192.168.10.122:80 weight=2;server 192.168.10.123:80 weight=3;}#虚拟主机的配置server {#监听端口listen 80;#############https###################listen 443 ssl;#ssl_certificate /opt/https/xxxxxx.crt;#ssl_certificate_key /opt/https/xxxxxx.key;#ssl_protocols SSLv3 TLSv1;#ssl_ciphers HIGH:!ADH:!EXPORT57:RC4+RSA:+MEDIUM;#ssl_prefer_server_ciphers on;#ssl_session_cache shared:SSL:2m;#ssl_session_timeout 5m;####################################end#域名可以有多个,用空格隔开server_name www.ha97.com ha97.com;index index.html index.htm index.php;root /data/www/ha97;location ~ .*.(php|php5)?$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}#图片缓存时间设置location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {expires 10d;}#JS 和 CSS 缓存时间设置location ~ .*.(js|css)?$ {expires 1h;}#日志格式设定log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for';#定义本虚拟主机的访问日志access_log /var/log/nginx/ha97access.log access;#对 "/" 启用反向代理location / {proxy_pass http://127.0.0.1:88;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;#后端的 Web 服务器可以通过 X-Forwarded-For 获取用户真实 IPproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#以下是一些反向代理的配置,可选。proxy_set_header Host $host;client_max_body_size 10m; #允许客户端请求的最大单文件字节数client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,##代理设置 以下设置是 nginx 和后端服务器之间通讯的设置##proxy_connect_timeout 90; #nginx 跟后端服务器连接超时时间(代理连接超时)proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)proxy_buffering on;    #该指令开启从后端被代理服务器的响应内容缓冲 此参数开启后 proxy_buffers 和 proxy_busy_buffers_size 参数才会起作用proxy_buffer_size 4k;  #设置代理服务器(nginx)保存用户头信息的缓冲区大小proxy_buffers 4 32k;   #proxy_buffers 缓冲区,网页平均在 32k 以下的设置proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)proxy_max_temp_file_size 2048m; #默认 1024m, 该指令用于设置当网页内容大于 proxy_buffers 时,临时文件大小的最大值。如果文件大于这个值,它将从 upstream 服务器同步地传递请求,而不是缓冲到磁盘proxy_temp_file_write_size 512k; 这是当被代理服务器的响应过大时 nginx 一次性写入临时文件的数据量。proxy_temp_path  /var/tmp/nginx/proxy_temp;    ##定义缓冲存储目录,之前必须要先手动创建此目录proxy_headers_hash_max_size 51200;proxy_headers_hash_bucket_size 6400;#######################################################}#设定查看 nginx 状态的地址location /nginxStatus {stub_status on;access_log on;auth_basic "nginxStatus";auth_basic_user_file conf/htpasswd;#htpasswd 文件的内容可以用 apache 提供的 htpasswd 工具来产生。}#本地动静分离反向代理配置#所有 jsp 的页面均交由 tomcat 或 resin 处理location ~ .(jsp|jspx|do)?$ {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:8080;}#所有静态文件由 nginx 直接读取不经过 tomcat 或 resinlocation ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)${ expires 15d; }location ~ .*.(js|css)?${ expires 1h; }}
}

配置连接超时时间

keepalive_timeout 300s 300s;   默认是60,修改可以修改到300

单连接请求数上限

keepalive_requests 100;

配置最大连接数

worker_connections 512;

设置是否允许同时接收多个网络连接

multi_accept off;

设置网络连接的序列化

accept_mutex on;

nginx代理

一、正向代理(Forward Proxy)
1、正向代理介绍
正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转发请求并将获得的内容返回给客户端,客户端才能使用正向代理。我们平时说的代理就是指正向代理。

正向代理就是代理服务器替代访问方去访问目标服务器。×××就是正向代理的经典例子。

2、正向代理的作用

  1. 访问原来无法访问的资源
    2. 用作缓存,加速访问速度
    3. 对客户端访问授权,上网进行认证
    4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

二、反向代理(Reverse Proxy)
1、反向代理介绍
反向代理(Reverse Proxy),以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求的客户端,此时代理服务器对外表现为一个反向代理服务器。

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。

2、反向代理的作用

  1. 保护内网安全

  2. 负载均衡

  3. 缓存,减少服务器的压力

三、透明代理
1、透明代理介绍
透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的request fields(报文),并会传送真实IP。注意,加密的透明代理则是属于匿名代理。

在路由器或者网络行为管理设备上,重定向或者过滤你对网络的访问,这样你就不需要在浏览器做任何的配置,这样的代理就是透明代理。中间人×××也是一种应用方式。

2、透明代理作用
可以简化防火墙的设置,提高网络的安全,控制用户上网行为等

四、正向代理和反向代理的区别
1、安装位置不同
正向代理,架设在客户机和目标主机之间;

反向代理,架设在服务器端;

2、代理对象不同
正向代理,代理客户端,服务端不知道实际发起请求的客户端;

反向代理,代理服务端,客户端不知道实际提供服务的服务端;

实例:正向代理HTTP代理为多个人提供×××服务;反向代理–百度外卖为多个商户提供平台给某个用户提供外卖服务。

3、用途不同
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。

反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。

4、安全性不同
正向代理,允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务;

反向代理,对外都是透明的,访问者并不知道自己访问的是代理服务器。

nginx搭建及配置相关推荐

  1. 使用Nginx搭建文件服务器

    文章目录 1.配置文件 2.启动Nginx 之前已经出了Nginx搭建和配置的文章,所以不再赘述,如有不会搭建看下面链接: Nginx的安装配置教程 Nginx配置文件详解 下面直接开始使用Nginx ...

  2. 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.方案简要 首先通过对开发方案的仔细研究(实时监控.流媒体.直播流方案的数据源-->协议转换-->服务器--&g ...

  3. nagios+nginx从环境搭建到配置

    nagios+nginx从环境搭建到配置 nagios是一个开源免费的系统监控工具,官网地址 http://www.nagios.org/     截止2011-07-27    nagios的最新版 ...

  4. 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解

    注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx ...

  5. firefox+linux+nginx搭建server与client通过证书双向认证环境

    项目中需要搭建一个server和client基于证书的双向认证环境.由我来做,我也不会. 经过一晚上的研究,基本摸清了(知其然不知其所以然).做下笔记. 基本环境: 1.安装nginx. 2.安装op ...

  6. 使用 Nginx 搭建图片服务器

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者 | ITDragon龙 链接 | cnblogs.com/i ...

  7. 使用Nginx搭建前端静态服务器+文件服务器

    大家可能被虚拟主机不太了解,那我们的解释一下,虚拟主机指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一个虚拟主机,每台虚拟主机都可以对外提供Web服务,并且互不干扰. 一.Nginx的虚 ...

  8. 用nginx搭建基于rtmp或者http的flv、mp4流媒体服务器

    http://itindex.NET/detail/48702-nginx-rtmp-http 一.流媒体播放方式 1.  HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载 ...

  9. Nginx搭建flv视频点播服务器

    Nginx搭建flv视频点播服务器 前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看 ...

最新文章

  1. python常用指令-Pytes及Allure常用命令
  2. 台湾国立大学郭彦甫Matlab教程笔记(13) 3D
  3. javascript设计模式系列 - LukeLin - 博客园
  4. vlan跨交换机 udp广播_【详解】VLAN和VXLAN有何区别?VXLAN运用场景有哪些?
  5. tensorflow基本教程
  6. 简易计算器 java_终于写出一个简单的计算器了
  7. Hive 时间戳和日期相互转换
  8. 在Ubuntu下如何切换到超级用户
  9. 论文中的一些数学符号表示
  10. cpp调用python_从python ctypes调用CPP函数
  11. 计算机系统时间错了,电脑时间同步出错怎么办
  12. 生活中,如何学会放下
  13. 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表
  14. 《滚雪球:巴菲特和他的财富人生》【美】艾丽斯·施罗德著
  15. bmp图像文件格式说明
  16. xMAP/NMAP/MIAP/移动办公/手机办公/移动适配
  17. jquery iframe 父子互操作
  18. Invalid attempt to spread non-iterable instance错误
  19. android 通讯录备份 导入苹果手机,安卓手机通讯录怎么导入苹果手机? 手机通讯录怎么恢复导出...
  20. 金蝶云标准版 单张凭证无法反过账,反过账按钮在工具条中不显示

热门文章

  1. 一个中专生在华为面试的真实经历!
  2. c++系统骨干研发进阶的道和术
  3. 少儿编程---小猫追气球
  4. win10 网络重置后WIFI不见了
  5. [ubuntu] 解决ubuntu中skype不能调用输入法的问题
  6. 【mud】set (long格式造成的进入mud之后“你的四周灰蒙蒙地一片,什么也没有。”
  7. 学习排序 Learning to Rank:从 pointwise 和 pairwise 到 listwise,经典模型与优缺点
  8. 【甘肃银行:进一步加大在区块链等领域的布局】GBCAX
  9. 大学生计算机应用基础实验6,计算机应用基础实验6.doc
  10. 三端合一跨平台开发的深度剖析(值得学习)