Open anjia opened 5 years ago
配置文件,分为四部分:
每个部分都包含若干指令。
指令,有两类:
root /data/www;
{ ...附加指令... }
{}
就意味着一个 contexteg.用作静态服务器时
http {
server {
location / {
root /data/www; # 静态网页和文件
}
location /images/ {
root /data; # 图片等文件
}
}
}
# 以上便是在 http 模块下的 server 模块里新建了两个 location 模块
可配置的功能们。并不全,初窥,有个第一印象先
woker_processes
worker 角色的工作进程的个数。master 进程是接收并分配请求给 worker 处理worker_cpu_affinity
高并发时,cpu 粘性orker_rlimit_nofile
操作系统最大的限制worker_connections
每一个 worker 进程能并发处理(发起)的最大连接数use epoll
在 Linux 操作系统下,nginx 默认使用 epoll 事件模型-效率相当高sendfile: on
开启高效文件传输模式keepalive_timeout: 65
长连接超时时间,单位是 ssend_timeout
响应客户端的超时时间client_max_body_size
允许客户端请求的最大单文件字节数client_body_buffer_size 128k
缓冲区代理缓冲用户端请求的最大字节数proxy_connect_timeout: 60
nginx 跟后端服务器连接超时时间(代理连接超时)proxy_read_timeout: 60
代理接收超时proxy_buffer_size: 4k
proxy_buffers
proxy_busy_buffers_size
proxy_max_temp_file_size
proxy_temp_file_write_size
gzip: on
gzip_min_length
gzip_buffers
gzip_http_version
gzip_comp_level
gzip_types
gzip_proxied
gzip_vary
listen
server_name
root /var/www/html
定义服务器的默认网站根目录index index.html index.htm
定义路径下默认访问的文件名proxy_pass
反向代理proxy_xxx
- server 虚拟主机,http 服务上支持若干虚拟主机,每个虚拟主机对应一个 server 配置项
- location。在 http 服务中,某些特定的 URL 对应的一系列配置项
... etc.
使用 include 指令实现 nginx 多虚拟主机配置
nginx.conf 配置文件的最后一行是 include servers/*;
。所以,我们可以将自定义的 nginx 的 server 配置软件链接到 servers/
目录下。
创建软连接:ln -s /xxx/.../nginx.conf hello-world.server.conf
server {
listen 8369;
server_name m.hello.com;
root /.../dist;
index index.html index.htm;
location / {
etag on;
expires max;
try_files $uri $uri/ /index.html; # Vue 的前端路由可生效
}
}
然后重启 nginx。详见 安装
node.js+pm2+nginx
location /
若是内网,可部署个内网 DNS Server,将 server_name 解析到具体服务器 ip
简介
Nginx 是 HTTP Server。常用来做:
它和 Tomcat 虽然都叫 web server,但二者有本质的不同。Tomcat 是 Application Server,常用来做应用容器,让 Java App 运行在其中。
HTTP Server 关心的是 HTTP 协议层面的传输和访问控制,所以 Nginx 有代理、负载均衡等功能。客户端通过 HTTP Server 访问服务器上存储的资源(HTML文件、图片文件等)。通过 CGI 技术,也可以将处理过的内容通过 HTTP Server 分发。但是,HTTP Server 始终只是把服务器上的文件,如实的通过 HTTP 协议传输给客户端。
而 Application Server,则是应用执行的容器。它首先需要支持开发语言的 Runtime(对于 Tomcat 而言,就是 Java),保证应用能正常运行。其次,需要支持应用相关的规范,比如类库、安全方面的特性(对于 Tomcat 就是要提供 JSP/Sevlet 运行需要的标准类库等)。为了方便,Application Server 也会集成 HTTP Server 的功能,但不如专业的 HTTP Server 那么强大。所以 Application Server 往往是运行在 HTTP Server 背后,执行应用,将动态内容转化为静态内容之后,通过 HTTP Server 分发到客户端。
Nginx 的优点是占用资源少。
安装
在 Mac 下
位置
ps aux | grep nginx
/..../nginx -t