安装 install

http://nginx.org/en/download.html 注: 可能 一些 centos 系统,需要 root 权限执行 nginx 命令

  1. # 安装
  2. apt install nginx
  3. # 查看是否可以正常访问, 顺便验证下安装是否成功
  4. root@iZxjv9e22z6q0aZ:~# curl -I 127.0.0.1
  5. HTTP/1.1 200 OK
  6. Server: nginx/1.14.2
  7. Date: Fri, 14 Jan 2022 03:17:14 GMT
  8. Content-Type: text/html
  9. Content-Length: 612
  10. Last-Modified: Fri, 14 Jan 2022 03:17:07 GMT
  11. Connection: keep-alive
  12. ETag: "61e0eb33-264"
  13. Accept-Ranges: bytes
  14. # 查看配置文件语法
  15. root@iZxjv9e22z6q0aZ:~# nginx -t
  16. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  17. nginx: configuration file /etc/nginx/nginx.conf test is successful
  18. root@iZxjv9e22z6q0aZ:~#
  19. # 其他命令
  20. nginx 启动
  21. nginx -s reload 重启
  22. nginx -s stop 停止
  23. nginx -c xxx.conf 修改配置文件位置

Windows 不推荐

windows 运行 Nginx 命令需要接入对应的安装目录下,或者配置环境变量 参考:http://tengine.taobao.org/nginx_docs/cn/docs/windows.html#known_issues

  1. PS C:\> cd C:\Users\wudi\Desktop\nginx-1.20.1
  2. PS C:\Users\wudi\Desktop\nginx-1.20.1> start nginx
  3. PS C:\Users\wudi\Desktop\nginx-1.21.5> tasklist /fi "imagename eq nginx.exe"
  4. 映像名称 PID 会话名 会话# 内存使用
  5. ========================= ======== ================ =========== ============
  6. nginx.exe 41436 Console 1 8,352 K
  7. nginx.exe 37696 Console 1 8,392 K
  8. PS C:\Users\wudi\Desktop\nginx-1.21.5>
  9. nginx -s stop 快速退出
  10. nginx -s quit 优雅退出
  11. nginx -s reload 更换配置,启动新的工作进程,优雅的关闭以往的工作进程
  12. nginx -s reopen 重新打开日志文件

Nginx中的gzip的设置参数

  1. # 开启gzip压缩服务
  2. gzip on;
  3. # gzip压缩是要申请临时内存空间的,假设前提是压缩后大小是小于等于压缩前的。
  4. # 例如,如果原始文件大小为10K,那么它超过了8K,所以分配的内存是8 * 2 = 16K;再例如,
  5. # 原始文件大小为18K,很明显16K也是不够的,那么按照 8 * 2 * 2 = 32K的大小申请内存。
  6. # 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。
  7. # 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。
  8. # 例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。
  9. # 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
  10. # 如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。
  11. gzip_buffers 2 8k;
  12. # nginx对于静态文件的处理模块。
  13. # 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。
  14. # 该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容。
  15. # 为了要兼容不支持gzip的浏览器,启用gzip_static模块就必须同时保留原始静态文件和gz文件。
  16. # 这样的话,在有大量静态文件的情况下,将会大大增加磁盘空间。我们可以利用nginx的反向代理功能实现只保留gz文件。
  17. gzip_static on|off
  18. # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
  19. gzip_min_length 1k;
  20. # gzip压缩基于的http协议版本,默认就是HTTP 1.1
  21. gzip_http_version 1.1;
  22. # gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
  23. gzip_comp_level 2;
  24. # 需要进行gzip压缩的Content-TypeHeader的类型。建议jstextcssxmljson都要进行压缩;
  25. # 图片就没必要了,gifjpge文件已经压缩得很好了,就算再压,效果也不好,而且还耗费cpu
  26. # javascript有多种形式。其中的值可以在 mime.types 文件中找到。
  27. 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;
  28. # 默认值:off
  29. # Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via" header头。
  30. # off - 关闭所有的代理结果数据的压缩
  31. # expired - 启用压缩,如果header头中包含 "Expires" 头信息
  32. # no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息
  33. # no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息
  34. # private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息
  35. # no_last_modified - 启用压缩,如果header头中不包含 "Last-Modified" 头信息
  36. # no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头信息
  37. # auth - 启用压缩 , 如果header头中包含 "Authorization" 头信息
  38. # any - 无条件启用压缩
  39. gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...
  40. # 是否在http header中添加Vary: Accept-Encoding,建议开启
  41. # http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,
  42. # 有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩
  43. gzip_vary on;
  44. # 禁用IE 6 gzip
  45. gzip_disable "MSIE [1-6]\.";