1.简介

2.安装配置

3.配置文件介绍

4.启动、停止、平滑重启、升级

一、Nginx简介

Nginx(engine x)是俄罗斯人Igor Sysoev编写的一款高性能的http和反向代理服务器。在连接高并发的情况下,nginx是apache服务器不错的替代品,它能够支持50000个并发连接数的响应,而内存、cpu等系统资源资源消耗却非常低,运行非常稳定。

性能优势:

作为web服务器,处理静态文件、索引文件及自动索引效率高

作为代理服务器,快速高效反向代理

作为负载均衡服务器

性能,支持多并发的连接,占用低内存

稳定,采用分段资源分配技术

高可用,支持热部署,启动迅速

其它特点:

成本低廉;

配置文件非常简单;

支持Rewrite重写规则,能够根据域名、URL的不同,将http请求分到不同的后端服务器群组;

内置健康检查功能,如果nginx proxy后端的某台web服务器宕机了,不会影响到前端的访问;

节省带宽,支持gzip压缩;

二、Nginx安装与配置

编译安装

1.首先下载gcc编译器以及nginx一些模块的依赖库,通常有pcre库(支持rewrite模块),zlib(支持gzip模块)库,openssl(支持ssl模块)库等。这些库可以编译安装,也可以yum安装,这里选择yum安装。

# yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.然后选择nginx版本下载源码并解压

# wget http://nginx.org/download/nginx-1.12.2.tar.gz

# tar –zxvf nginx-1.12.2.tar.gz –C /PATH

3.使用configure脚本自动生成Makefile文件,nginx的configure脚本支持常用选项如下,但首先给出一个例子:

./configure --prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/datadisk/data/log/nginx/error.log \
--http-log-path=/datadisk/data/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--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-threads --with-stream \
--with-stream_ssl_module \
--with-http_slice_module \
--with-file-aio \
--with-http_v2_module \
--with-ipv6

然后make && make install即可。

Nginx之configure选项

1. 通用配置项

--prefix=<path>:Nginx 安装的根路径,所有其他的路径都要依赖于该选项。

--sbin-path=<path>:指定 Nginx 二进制文件的路径。如果没有指定,那么这个路径会依赖于 --prefix 选项。

--conf-path=<path>:如果在命令行没有指定配置文件,那么将会通过这里指定路径,Nginx 将会去那里查找它的配置文件。

--error-log-path=<path>:指定错误文件的路径,Nginx 将会往其中写入错误日志文件,除非有其他的配置。

--pid-path=<path>:指定的文件将会写入 Nginx master 进程的 pid,通常在 /var/run 下。

--lock-path=<path>:共享存储器互斥锁文件的路径。

--user=<user>:worker 进程运行的用户。

--group=<group>:worker 进程运行的组。

--with-file-aio:为 FreeBSD 4.3+ 和 Linux 2.6.22+ 系统启用异步 I/O。

--with-debug:这个选项用于启用调试日志。在生产环境的系统中不推荐使用该选项。

2. 配置优化选项

--with-cc=<path>:如果想设置一个不在默认 PATH 下的 C 编译器。

--with-cpp=<path>:设置 C 预处理器的相应路径.

--with-cc-opt=<options>:指定必要的 include 文件路径,可能 d(-I<path)指出,也可能是优化(-O4)和指定一个 64 位构建。

--with-ld-opt=<options>:包含连接器库的路径(-L<path>)和运行路径(-R<path>)

--with-cpu-opt=<cpu>:通过该选项为特定的 CPU 构建 Nginx。

3. mail 配置选项

--with-mail:该选项用于启用 mail 模块,该模块默认没有激活。

--with-mail_ssl_module:为了代理任何一种类型的使用 SSL/TLS 的 mail,激活该模块。

--without-mail_pop3_module:在启用 mail 模块后,单独地禁用 POP3 模块。

--without-mail_imap_module:在启用 mail 模块后,单独地禁用 IMAP 模块。

--without-mail_smtp_module:在启用 mail 模块后,单独地禁用 SMTP 模块。

--without-http:该选项将完全禁用 http 模块,如果你只想支持 mail,那么可以使用它。

对于典型的 mail 代理,可配置为如下:

./configure --with-mail --with-mail_ssl_module --with-openssl=${BUILD_DIR}/openssl-1.0.1p

对于邮件服务器来说,现在几乎每一个邮件服务器的安装都需要安装 SSL/TLS,并没没有一个邮件代理启用了预期功能的用户。推荐静态编译 OpenSSL,以便对操作系统中的 OpenSSL 库没有依赖性。

4. http 配置选项

--without-http-cache:在使用 upstream 模块时,Nginx 能够配置本地缓存内容。这个选项能够禁用缓存。

--with-http_perl_module:Nginx 配置能够扩展使用 Perl 代码。这个选项启用这个模块(然而使用这个模块会降低性能)。

--with-perl_modules_path=<path>:对于额外嵌入的 Perl 模块,使用该选项指定该 Perl 解析器的路径。也可以通过配置选项来指定 Perl 模块解析器的位置。

--with-perl=<path>:如果在默认的路径中没有找到 Perl,那么指定 Perl(5.6 版本以上)的路径。

--http-client-body-temp-path=<path>:从客户端收到请求后,该选项设置的目录用于作为请求体临时存放的目录。如果 WebDAV 模块启用,那么推荐设置该路径为同一个文件系统上的目录作为最终的目的地。

--http-proxy-temp-path=<path>:在使用代理后,通过该选项设置存放临时文件路径。

--http-fastcgi-temp-path=<path>:设置 FastCGI 临时文件的目录。

--http-uwsgi-temp-path=<path>:设置 uWSGI 临时文件的目录。

--http-scgi-temp-path=<path>:设置 SCGI 临时文件的目录。

--with-http_ssl_module:如果需要对流量进行加密,那么可以使用这个选项,在 URLs 中开始部分将会是 https(需要 OpenSSL)。

--with-http_realip_module:如果你的 Nginx 在七层负载均衡器或者是其他设备之后,它们将 Http 头中的客户端 IP 地址传递,那么你将会需要启用这个模块。在多个客户处于一个 IP 地址下使用。

--with-http_addition_module:这个模块作为一个输出过滤器,使你能够在请求经过一个 location 前或者后时在该 location 本身添加内容。

--with-http_xslt_module:该模块用于 XML 响应转换,基于一个或者多个 XSLT 格式(需要 libxml2 和 libxslt 库)。

--with-http_image_filter_module:该模块被作为图像过滤器使用,在将图像投递到客户之前进行处理(需要 libgd 库)。

--with-http_geoip_module:使用该模块,能够设置各种变量以便在配置文件中的区段使用,基于地理位置查找客户端 IP 地址(需要 MaxMfind GeoIP 库和相应的预编译数据库文件)。

--with-http_sub_module:该模块实现了替代过滤,在响应中用一个字符串替代另一个字符串。

--with-http_dav_module:启用这个模块将激活使用 WebDAV 的配置指令。请注意,这个模块也只在有需要使用的基础上启用,如果配置不正确,它可能带来安全问题。

--with-http_flv_module:如果需要提供 Flash 流媒体视频文件,那么该模块将会提供伪流媒体。

--with-http_mp4_module:这个模块支持 H.264/AAC 文件伪流媒体。

--with-http_gzip_static_module:当被调用的资源没有 .gz 结尾格式的文件时,如果想支持发送预压缩版本的静态文件,那么使用该模块。

--with-http_gunzip_module:对于不支持 gzip 编码的客户,该模块用于为客户解压缩预压缩内容。

--with-http_random_index_module:如果你想提供从一个目录中随机选择文件的索引文件,那么这个模块需要被激活。

--with-http_secure_link_module:该模块提供了一种机制,它会将一个哈希值链接到一个 URL 中,因此,只有那些使用正确的密码能够计算链接。

--with-http_stub_status_module:启用这个模块后会收集 Nginx 自身的状态信息。输出的状态信息可以使用 RRDtool 或类似的东西来绘制成图。

对于网络加速/代理,可如下配置:

./configure --with-http_ssl_module --with-http_realip_module --with-http_geoip_module --with-http_stub_status_module --with-openssl=${BUILD_DIR}/openssl-1.0.1c

对于 Web 服务器:

./configure --with-http_stub_status_module

这两个配置不同之处在于它们面对的客户,处于 Web 加速时,会考虑到 SSL 请求的终结,也包括处理代理客户和基于客户来源决策。处于 Web 服务时,则仅需要提供默认文件访问能力。

5. 禁用的配置选项

--without-http_charset_module:该字符集模块负责设置 Content-Type 响应头,以及从一个字符集转换到另一个字符集。

--without-http_gzip_module:gzip 模块作为一个输出过滤器,在将内容投递到客户时对内容进行压缩。

--without-http_ssi_module:该模块是一个过滤器,用于处理 SSI 包含。如果启用 Perl 模块,那么额外的 SSI 指令(perl)可用。

--without-http_userid_module:userid 模块能够使得 Nginx 设置 cookies,用于客户标识。变量 $uid_set 和 $uid_got 可以记录用户跟踪。

--without-http_access_module:access 模块基于 IP 控制访问 location。

--without-http_auth-basic_module:该模块通过 Http 基本身份验证限制访问。

--without-http_autoindex_module:如果一个目录中没有 index 文件,那么 autoindex 模块收集这个目录列出文件。

--without-http_geo_module:该模块能够让你基于客户端 IP 地址设置配置变量,然后根据这些变量的值采取行动。

--without-http_map_module:map 模块能够让你映射一个变量到另一个变量。

--without-http_split_clients_module:该模块创建用于 A/B 测试的变量。

--without-http_referer_module:该模块能够让 Nginx 阻止基于 Referer Http 头的请求。

--without-http_rewrite_module:通过 rewrite 模块能够让你基于变量条件改变 URI。

--without-http_proxy_module:使用 proxy 模块允许 Nginx 将请求传递到其他服务器或者服务器组。

--without-http_fastcgi_module:FastCGI 模块能够让 Nginx 将请求传递到 FastCGI 服务器。

--without-http_uwsgi_module:这个模块能够使得 Nginx 将请求传递到 uWSGI 服务器。

--without-http_scgi_module:SCGI 模块能够让 Nginx 将请求传递到 SCGI 服务器。

--without-http_memcached_module:该模块能够使得 Nginx 与一个 memcached 服务器进行交互,将响应放置到变量查询中。

--without-http_limit_conn_module:该模块能够使得 Nginx 基于某些键,通常是 IP 地址,设置连接限制。

--without-http_limit_req_module:通过该模块,Nginx 能够限制每个用户的请求率。

--without-http_empty_gif_module:在内存中产生一个 1 像素 * 1 像素的透明 GIF 图像。

--without-http_browser_module:browser 模块允许基于 User-Agent Http 请求头配置,变量的设置基于在该头中发现的版本。

--without-http_upstream_ip_hash_module:该模块定义了一组可以与不同的代理模块结合使用的服务器。

三、nginx配置文件详解

nginx.conf文件的结构

…                     #全局快

events                #events块

{

    …

}

http                  #http块

{

    …                 #http全局块

    server            #server块

  {

    …                 #server全局块

        location      #location块

        {

            …

      }

  }

}

nginx.conf文件由三部分组成,全局块、http块和events块。http块中可以包含多个server块,一个server块中又可以包含多个location块。

如果某指令在不同层级的块中出现,则采用"就近原则",以较低级的块配置为准。

首先看看各个块的作用

  1. 全局块。是默认配置文件从开始到events块之间的一部分内容,主要设置一些影响nginx服务器整体运行的配置命令,也就是全局配置。通常包括配置运行nginx服务器的用户(组),worker process数,pid存放路径,日志路径及配置文件引入等等。
  2. events块。主要设置影响nginx服务器与用户的网络连接,对服务器性能影响很大。常用的是设置是否开启对多worker process下的网络连接序列化,是否允许同时接受多个网络连接,选取事件驱动模型,每个worker process最大连接数等。
  3. http块。可以包含server块的配置,主要配置代理、缓存和日志等和第三方模块。http全局块中配置的指令包括文件引入、mime-type定义、日志定义、连接超时时间和单连接请求数上限等。
  4. server块。每个server块就相当于一个虚拟主机。server块中常见的配置是本虚拟主机的监听配置和本虚拟主机的名称或者ip配置。
  5. location块。location块其实是server块中的一个指令。此块的主要功能是,基于nginx服务器接收到的请求字符串,对除虚拟主机名称之外的字符串进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等,第三方模块也是在这块中配置。

Nginx配置文件nginx.conf简单介绍

  1 #Nginx运行的用户和用户组
2 #user nobody; #默认
3 user nginx nginx; #user user[group];
4
#nginx进程数,一般为CPU总核心数
6 worker_processes 8; #worker_processes number|auto;
7
8
9 #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] 设置某一级别后,比这一级别高的日志也会被记录
10
11 error_log /usr/local/nginx/logs/error.log info;
12
13
14
15 #进程pid文件
16 pid /usr/local/nginx/logs/nginx.pid;
17
18
19
20 #配置文件的引入,支持相对路径
21 include conf.d/*.conf; #include file;
22
23 events
24
25 {
26
27 #对多个nginx进程接受连接进行序列化,防止惊群问题。
28 accept_mutex on | off;
29
30
31 #事件驱动模型选择,后续再说。
32 use epoll;
33
34
35 #单个进程最大连接数,尽量大。理论上每台nginx服务器的最大连接数为65535。
36 worker_connections 65535;
37
38 }
39
40
41 http{
42
43 #文件扩展名与文件类型映射表。常用浏览器中可现实内容有html、xml、gif和flash等繁多资源,就需要使用到mime type,nginx作为web服务器,就需要识别前端请求的资源类型。此处定义了一个types结构,结构中包含了浏览器能够识别的mime类型以及对应于相关类型的文件后缀名。
44
45 include mime.types;
46
47 #默认文件类型
48 default_type application/octet-stream;
49
50
51 #对服务日志的格式、大小、输出等配置,需要用到log_format和access_log。此语法格式为log_format name string ...; nginx预设的一些内置变量获取相关内容,string整体使用单括号括起来。
52
53 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
54 '$status $body_bytes_sent "$http_referer" '
55 '"$http_user_agent" "$http_x_forwarded_for"';
56
57 #access_log path[format[buffer=size]],main就是上面格式的名称。
58 access_log logs/access.log main;
59
60
61
62 #日志格式设定
63 #$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
64 #$remote_user:用来记录客户端用户名称;
65 #$time_local: 用来记录访问时间与时区;
66 #$request: 用来记录请求的url与http协议;
67 #$status: 用来记录请求状态;成功是200,
68 #$body_bytes_sent :记录发送给客户端文件主体内容大小;
69 #$http_referer:用来记录从那个页面链接访问过来的;
70 #$http_user_agent:记录客户浏览器的相关信息;
71
72 #通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
73
74
75 #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
76 sendfile on;
77
78 #此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
79 tcp_nopush on;
80 tcp_nodelay on;
81
82 #连接超时时间,单位秒
83 keepalive_timeout 120; #keepalive_timeout timeout[header_timeout];
84
85 #开启gzip压缩输出
86 gzip on;
87
88
89 #基于名称的虚拟主机的配置
90 server{
91 listen 80;
92
93 #域名可以有多个,用空格隔开,name中还可使用正则表达式,波浪号~作为正则表达式开始的标记
94    server_name www.server.com myserver.com;
95
96
97 #配置location块。语法为location [ = | ~ | ~* | ^~ ] uri {…}
98 其中,uri是待匹配的请求字符串,不含正则的uri为标准uri,含正则的uri为正则uri。
99
100 #"=",用于标准uri前,要求请求字符串与uri严格匹配。如果匹配成功就停止继续向下搜索并立即处理此请求。
101
102 #"~",用于表示正则uri,区分大小写
103
104 #"~*",用于表示正则uri,不区分大小写
105
106 location / {
107
108 #配置请求的根目录及默认首页
109 root /data/www;
110 index index.html index.htm index.php;
111
112
113    #location的uri还可以通过alias更改,下面的location块接收到/data/index.html时,匹配成功,通过alias服务器将到/locationtest/other找到index.html响应请求。
114
115    location ~ ^/data/(\.+\.(html|htm))$ {
116 alias /locationtest/other/$1;
117    }
118
119
120    #基于ip配置nginx的访问权限,deny禁止,allow允许,下面的禁止192.168.1.1而192.168.1.0/24的客户端是可以访问的。因为是按顺序进行访问权限的检查。遇到匹配的,停止向下搜索相关配置。
121    location ~ /\.ht {
122   deny 192.168.1.1;
123   allow 192.168.1.0/24;
124   deny all;
125    }
126
127    #设置网站的错误页面,语法为error_page code ...[=[response]] uri
128    error_page 500 502 503 504 /50x.html;
129      location = /50x.html {
130      root html;
131   }
132
133 }
134
135 }
136 }

四、启动、停止、平滑重启、升级

Nginx的信号控制

TERM,INT 快速关闭

QUIT 从容关闭(处理完当前请求关闭进程)

HUP 平滑重启,重新加载配置文件(此操作不会中断用户的访问请求)

USER1 重新打开日志文件,在切割日志时用途较大

USR2 平滑升级可执行程序

WINCH 从容关闭工作进程

启动

systemctl start nginx

若无法启动,则 执行以下命令 /usr/sbin/nginx -c /etc/nginx/nginx.conf

参数"-c"指定了配置文件的路径,如不加,则默认加载安装目录的conf子目录中的nginx.conf文件

停止

 Nginx主进程号可通过cat /run/nginx.pid 或者 ps –ef | grep nginx 查看。worker process 表示它们为子进程。3426为主进程。

从容停止

kill –QUIT nginx主进程号

或者kill –QUIT 'ps -ef | grep "nginx: master" | grep -v "grep" | awk -F ' ' '{print $2}''

快速停止

kill –TERM 主进程号

kill –INT 主进程号

强制停止

pkill -9 nginx 主进程号

平滑重启

  如果改变了nginx的配置文件,想重启nginx,同样可以通过发送系统信号给nginx主进程的方式来进行。不过在重启之前要确认配置文件语法是否正确,否则nginx不会加载新的配置文件。可通过以下命令来判断nginx配置文件是否正确。

/usr/sbin/nginx -t -c /etc/nginx/nginx.conf

错误则显示如下:

正确则显示如下:

此时可平滑重启nginx了

Kill –HUP nginx主进程号

当Nginx接受到HUP信号时,它会尝试先解析配置文件,如果成功,就应用新的配置文件。之后,nginx运行新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字,但继续为当前连接的客户提供服务。所有客户端服务完成后,旧的工作进程被关闭。

平滑升级

可在不中断服务的情况下,使用新版本、重编译的nginx可执行程序替换旧版本的可执行程序。步骤如下:

下载nginx源码包http://nginx.org/en/download.html

nginx-1.13.0.tar.gz

安装编译器及环境依赖

# yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel –y

解压缩

# tar -zxvf nginx-1.13.0.tar.gz -C /usr/src/ --no-same-owner

编译但不安装

# ./configure --user=nginx --group=nginx && make

1.查看旧的版本号,备份旧的可执行文件。

# nginx –v

# cp /usr/sbin/nginx nginx.bak

2.kill –USR2 旧版本的nginx主进程号。并替换旧的可执行文件。

# kill –USR2 22855

# cd /usr/src/nginx-1.13.0/objs

# cp -rf nginx /usr/sbin/

3.旧版本nginx的主进程将重命名它的.pid文件为.oldbin(比如:/run/nginx.pid.oldbin),

# kill -QUIT旧版本的nginx主进程号。

此时旧的主进程会移除.oldbin后缀,恢复为.pid文件,并且可以查看到nginx已经升级成功。

注:在以上第二步的时,一段时间后,旧的工作进程(worker process)处理了所有已连接的请求后退出。仅由新的工作进程来处理输入的请求了。

到此还可以决定是否使用新版本,还可以恢复到旧版本。

kill –HUP 旧的主进程号

kill –QUIT 新的主进程号

kill –TERM 新的主进程号

新的主进程退出后,旧的主进程会移除.oldbin后缀,恢复为它的.pid文件,这样就恢复到升级之前了。

nginx安装升级及配置详解的更多相关文章

  1. Nginx + Tomcat 负载均衡配置详解

    Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...

  2. Windows-008-VirtualBox 安装 Win7 前沿配置详解

    此文主要讲述在 Windows 系统下安装虚拟机 VirtualBox,及用 VirtualBox 安装 Win7 Professional 64bit 操作系统的前沿配置为例,配以图文进行详细的讲解 ...

  3. [转帖]Nginx的超时keeplive_timeout配置详解

    Nginx的超时keeplive_timeout配置详解 https://blog.csdn.net/weixin_42350212/article/details/81123932   Nginx  ...

  4. Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解

    一.概述     Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB ...

  5. Nginx的超时timeout配置详解

    Nginx的超时timeout配置详解 本文介绍 Nginx 的 超时(timeout)配置. Nginx 处理的每个请求均有相应的超时设置.如果做好这些超时时间的限定,判定超时后资源被释放,用来处理 ...

  6. Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解

    一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...

  7. 学习计划 nginx 中 php的配置详解

    本章只看一个刚下载的nginx是如何支持php的 -- location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_inde ...

  8. Linux安装vsftpd及配置详解

    1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件.[root@bogon ~]# yum -y install vsftpd 2.FT ...

  9. 转:Nginx的超时keeplive_timeout配置详解

    https://blog.csdn.net/weixin_42350212/article/details/81123932 Nginx 处理的每个请求均有相应的超时设置.如果做好这些超时时间的限定, ...

随机推荐

  1. NIO学习笔记四 :SocketChannel 和 ServerSocketChannel

    Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道.可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器. ...

  2. linux最靠谱安装python3

    linux环境编译安装python3, 最靠谱的安装方法了这个 1. 下载编译安装python的依赖软件包,只需要执行即可 yum install gcc patch libffi-devel pyt ...

  3. AWT初步—Frame和 Panel

    初识 AWT       GUI 和 AWT GUI:Graphics User Interface  图形用户界面 AWT:Abstract Window Toolkit  抽象窗口工具集 之前的程 ...

  4. JS输入框正则校验

    1. 开发中需要对etl组件统一进行input输入框校验,允许为空,可以不校验,默认校验长度和特殊字符,代码如下,记录以备复用. /** * 数据值校验工具类 */ var checkService ...

  5. “此flash与您的地区不兼容”

    胡萝卜周:Adobe Flash Player AX/NP/PP 31.0.0.122 特别版 https://pan.baidu.com/s/1FMjJxhyJ2Qc1apbKRCtS3A 安装后还 ...

  6. Python之随机森林实战

    代码实现: # -*- coding: utf-8 -*- """ Created on Tue Sep 4 09:38:57 2018 @author: zhen &q ...

  7. .net 调用R语言的函数(计算统计值pvalue 对应excel :ttest)

    Pvalue 计算 项目设计pvalue计算,但是由于.net 没有类似的公式或者函数,最终决定使用.net 调用R语言 采用.net 调用r语言的公用函数 需要安装 r语言环境 https://mi ...

  8. [Demo_01] MapReduce 实现密码 Top10 统计

    0. 说明 通过 MapReduce 实现密码 Top10 统计 通过两次 MapReduce 实现 1. 流程图 2. 程序编写 密码 Top10 统计代码

  9. 【PAT】B1078 字符串压缩与解压(20 分)

    主函数接收下第一个字符,接着一个分支就转到两个函数中的一个 1.压缩简单,只要与下一个一样就只计数,如果不同了就直接输出 2.至于解压不知道数字是几位数,所以我直接用了sscanf,然后判断是几位数字 ...

  10. Linux 小知识翻译 - 「X Window系统」

    X Window System是给Unix系的OS提供的一套窗口管理软件或者说是组件.X Window System已经成为了在Linux上使用GUI环境的不可或缺的东西了. X Window Sys ...