安装 install
http://nginx.org/en/download.html 注: 可能 一些
centos
系统,需要root
权限执行nginx
命令
# 安装
apt install nginx
# 查看是否可以正常访问, 顺便验证下安装是否成功
root@iZxjv9e22z6q0aZ:~# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Fri, 14 Jan 2022 03:17:14 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Fri, 14 Jan 2022 03:17:07 GMT
Connection: keep-alive
ETag: "61e0eb33-264"
Accept-Ranges: bytes
# 查看配置文件语法
root@iZxjv9e22z6q0aZ:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@iZxjv9e22z6q0aZ:~#
# 其他命令
nginx 启动
nginx -s reload 重启
nginx -s stop 停止
nginx -c xxx.conf 修改配置文件位置
Windows 不推荐
windows
运行Nginx
命令需要接入对应的安装目录下,或者配置环境变量 参考:http://tengine.taobao.org/nginx_docs/cn/docs/windows.html#known_issues
PS C:\> cd C:\Users\wudi\Desktop\nginx-1.20.1
PS C:\Users\wudi\Desktop\nginx-1.20.1> start nginx
PS C:\Users\wudi\Desktop\nginx-1.21.5> tasklist /fi "imagename eq nginx.exe"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
nginx.exe 41436 Console 1 8,352 K
nginx.exe 37696 Console 1 8,392 K
PS C:\Users\wudi\Desktop\nginx-1.21.5>
nginx -s stop 快速退出
nginx -s quit 优雅退出
nginx -s reload 更换配置,启动新的工作进程,优雅的关闭以往的工作进程
nginx -s reopen 重新打开日志文件
Nginx中的gzip的设置参数
javascript
# 开启gzip压缩服务
gzip on;
# gzip压缩是要申请临时内存空间的,假设前提是压缩后大小是小于等于压缩前的。
# 例如,如果原始文件大小为10K,那么它超过了8K,所以分配的内存是8 * 2 = 16K;再例如,
# 原始文件大小为18K,很明显16K也是不够的,那么按照 8 * 2 * 2 = 32K的大小申请内存。
# 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。
# 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。
# 例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。
# 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
# 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。
gzip_buffers 2 8k;
# nginx对于静态文件的处理模块。
# 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。
# 该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容。
# 为了要兼容不支持gzip的浏览器,启用gzip_static模块就必须同时保留原始静态文件和gz文件。
# 这样的话,在有大量静态文件的情况下,将会大大增加磁盘空间。我们可以利用nginx的反向代理功能实现只保留gz文件。
gzip_static on|off
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip压缩基于的http协议版本,默认就是HTTP 1.1
gzip_http_version 1.1;
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 2;
# 需要进行gzip压缩的Content-Type的Header的类型。建议js、text、css、xml、json都要进行压缩;
# 图片就没必要了,gif、jpge文件已经压缩得很好了,就算再压,效果也不好,而且还耗费cpu。
# javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 默认值:off
# Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。
# off - 关闭所有的代理结果数据的压缩
# expired - 启用压缩,如果header头中包含 "Expires" 头信息
# no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息
# no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息
# private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息
# no_last_modified - 启用压缩,如果header头中不包含 "Last-Modified" 头信息
# no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头信息
# auth - 启用压缩 , 如果header头中包含 "Authorization" 头信息
# any - 无条件启用压缩
gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...
# 是否在http header中添加Vary: Accept-Encoding,建议开启
# 和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,
# 有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";