介绍
Nginx HTTP服务器的特色及优点
a. 支持高并发:能支持几万并发连接(特别是静态小文件业务环境)
b. 资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB
c. 可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS节点服务器健康检查功能,这相当于专业的Haproxy软件或LVS的功能
d. 具备Squid等专业缓存软件等的缓存功能
e. 支持异步网络I/O事件模型epoll
Nginx的主要企业功能
a. 使用Nginx运行HTML,JS,CSS,小图片等静态数据(此功能类似Lighttpd软件)
b. Nginx结合FastCGI运行php等动态程序(例如使用fastcgi_pass方式)
c. Nginx结合Tomcat/Resin等支持Java动态程序(常用的proxy_pass)
Nginx作为web服务器的主要应用场景包括:
a. 使用Nginx运行HTML,JS,CSS,小图片等静态数据(此功能类似Lighttpd软件)
b. Nginx结合FastCGI运行php等动态程序(例如使用fastcgi_pass方式)
c. Nginx结合Tomcat/Resin等支持Java动态程序(常用的proxy_pass)
一般情况下普通php引擎支持的并发连接参考为300-1000,Java引擎和数据库的并发连接参考值为300-1500.当然架构不同可能会有浮动
安装
编译安装
|
1
2
3
4
5
6
7
8
9
10
11
|
# 下载,这里是1.12版本wget http://nginx.org/download/nginx-1.12.2.tar.gz# 解压并进入目录tar xf nginx-1.12.2.tar.gzcd nginx-1.12.2# 三部曲./configure --prefix=/application/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_modulemakemake install |
可能会遇到的故障
故障一:没有安装pcre或pcre-devel
会提示如下错误:
|
1
2
3
4
|
./configure: error: the HTTP rewrite module requires the PCRE library.2 You can either disable the module by using --without-http_rewrite_module3 option, or install the PCRE library into the system, or build the PCRE library4 statically from the source with nginx by using --with-pcre=<path> option. |
故障二:没有安装openssl和openssl-devel
|
1
2
3
4
|
./configure: error: SSL modules require the OpenSSL library.2 You can either do not enable the modules, or install the OpenSSL library3 into the system, or build the OpenSSL library statically from the source4 with nginx by using --with-openssl=<path> option. |
如果是学习,需要关闭防火墙和selinux
启动
|
1
2
3
4
5
|
/application/nginx/sbin/nginx –t # 检查/application/nginx/sbin/nginx # 启动/application/nginx/sbin/nginx -s reload# 默默的重启 |
目录结构
安装目录下,并非安装包的解压文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[root@v-1 nginx-1.12.2]# tree.├── client_body_temp├── conf # 这是Nginx所有配置文件的目录│ ├── fastcgi.conf # fastcgi相关参数的配置文件│ ├── fastcgi.conf.default│ ├── fastcgi_params # #fastcgi的参数文件│ ├── fastcgi_params.default│ ├── koi-utf│ ├── koi-win│ ├── mime.types # 媒体类型│ ├── mime.types.default│ ├── nginx.conf # nginx默认的主配置文件│ ├── nginx.conf.default│ ├── scgi_params # scgi相关参数│ ├── scgi_params.default│ ├── uwsgi_params # uwsgi相关参数│ ├── uwsgi_params.default│ └── win-utf├── fastcgi_temp # fastcgi临时数据目录├── html # 编译安装Nginx的默认站点目录│ ├── 50x.html # 错误页面优雅替代显示文件│ └── index.html # 默认的首页文件├── logs # 默认的日志路径包括错误日志和访问日志│ ├── access.log │ ├── error.log│ └── nginx.pid├── proxy_temp # 临时目录├── sbin # Nginx命令目录│ └── nginx # 启动命令├── scgi_temp # 临时目录└── uwsgi_temp |
配置文件
nginx.conf和nginx.conf.default默认是相同的,可以通过diff命令来比较两个文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# 通过命令将nginx配置文件精简化显示(去掉#注释和空行的内容):egrep -v "#|^$" nginx.conf.default >nginx.conf# egrep是grep的升级版,增加了正则|的使用worker_processes 1; #worker进程的数量events { #事件区块的开始 worker_connections 1024; #每个worker进程支持的最大连接数} #事件区块的结束http { #http区块的开始 include mime.types; #nginx支持的媒体类型库文件 default_type application/octet-stream; #默认的媒体类型 sendfile on; #开启高效传输模式 keepalive_timeout 65; #连接超时 server { #第一个server区块开始,表示一个独虚拟主机站点 listen 80; #服务端口,默认80 server_name localhost; #提供服务的域名主机名 location / { #第一个location区块开始 root html; #站点的根目录,相当于Nginx的安装目录 index index.html index.htm; #默认的首页文件,如果多个用空格分开 } #第一个location区块结束 error_page 500 502 503 504 /50x.html; #出现对象http状态码时使用50x.html回应用户 location = /50x.html { root html; } }} #http区块结束 |
浙公网安备 33010602011771号