加入收藏 | 设为首页 | 会员中心 | 我要投稿 三门峡站长网 (https://www.0398zz.com.cn/)- 云连接、设备管理、智能边缘云、云防火墙、数据加密!
当前位置: 首页 > 教程 > 正文

Nginx 极简教程

发布时间:2021-01-25 15:45:49 所属栏目:教程 来源:未知
导读:使用 nginx 的使用比较简单,就是几条命令。 常用到的命令如下: nginx-sstop快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。 nginx-squit平稳关闭Nginx,保存相关信息,有安排的结束web服务。 nginx-sreload因改变了Nginx相关配置,需要重新加载配

使用

nginx 的使用比较简单,就是几条命令。

常用到的命令如下:


  1. nginx -s stop       快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。 
  2. nginx -s quit       平稳关闭Nginx,保存相关信息,有安排的结束web服务。 
  3. nginx -s reload     因改变了Nginx相关配置,需要重新加载配置而重载。 
  4. nginx -s reopen     重新打开日志文件。 
  5. nginx -c filename   为 Nginx 指定一个配置文件,来代替缺省的。 
  6. nginx -t            不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。 
  7. nginx -v            显示 nginx 的版本。 
  8. nginx -V            显示 nginx 的版本,编译器版本和配置参数。 

如果不想每次都敲命令,可以在 nginx 安装目录下新添一个启动批处理文件startup.bat,双击即可运行。内容如下:


  1. @echo off 
  2. rem 如果启动前已经启动nginx并记录下pid文件,会kill指定进程 
  3. nginx.exe -s stop 
  4.  
  5. rem 测试配置文件语法正确性 
  6. nginx.exe -t -c conf/nginx.conf 
  7.  
  8. rem 显示版本信息 
  9. nginx.exe -v 
  10.  
  11. rem 按照指定配置去启动nginx 
  12. nginx.exe -c conf/nginx.conf 

如果是运行在 Linux 下,写一个 shell 脚本,大同小异。

nginx 配置实战

我始终认为,各种开发工具的配置还是结合实战来讲述,会让人更易理解。

我们先实现一个小目标:不考虑复杂的配置,仅仅是完成一个 http 反向代理。

nginx.conf 配置文件如下:

注:conf / nginx.conf 是 nginx 的默认配置文件。你也可以使用 nginx -c 指定你的配置文件


  1. #运行用户 
  2.  
  3. #user somebody; 
  4.  
  5. #启动进程,通常设置成和cpu的数量相等 
  6.  
  7. worker_processes 1
  8.  
  9. #全局错误日志 
  10.  
  11. error_log D:/Tools/nginx-1.10.1/logs/error.log; 
  12.  
  13. error_log D:/Tools/nginx-1.10.1/logs/notice.log notice; 
  14.  
  15. error_log D:/Tools/nginx-1.10.1/logs/info.log info; 
  16.  
  17. #PID文件,记录当前启动的nginx的进程ID 
  18.  
  19. pid D:/Tools/nginx-1.10.1/logs/nginx.pid; 
  20.  
  21. #工作模式及连接数上限 
  22.  
  23. events { 
  24.  
  25. worker_connections 1024; #单个后台worker process进程的最大并发链接数 
  26.  
  27.  
  28. #设定http服务器,利用它的反向代理功能提供负载均衡支持 
  29.  
  30. http { 
  31.  
  32. #设定mime类型(邮件支持类型),类型由mime.types文件定义 
  33.  
  34. include D:/Tools/nginx-1.10.1/conf/mime.types; 
  35.  
  36. default_type application/octet-stream; 
  37.  
  38. #设定日志 
  39.  
  40. log_format main '[$remote_addr] - [$remote_user] [$time_local] "$request" ' 
  41.  
  42. '$status $body_bytes_sent "$http_referer" ' 
  43.  
  44. '"$http_user_agent" "$http_x_forwarded_for"'
  45.  
  46. access_log D:/Tools/nginx-1.10.1/logs/access.log main; 
  47.  
  48. rewrite_log on; 
  49.  
  50. #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, 
  51.  
  52. #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. 
  53.  
  54. sendfile on; 
  55.  
  56. #tcp_nopush on; 
  57.  
  58. #连接超时时间 
  59.  
  60. keepalive_timeout 120
  61.  
  62. tcp_nodelay on; 
  63.  
  64. #gzip压缩开关 
  65.  
  66. #gzip on; 
  67.  
  68. #设定实际的服务器列表 
  69.  
  70. upstream zp_server1{ 
  71.  
  72. server 127.0.0.1:8089
  73.  
  74.  
  75. #HTTP服务器 
  76.  
  77. server { 
  78.  
  79. #监听80端口,80端口是知名端口号,用于HTTP协议 
  80.  
  81. listen 80
  82.  
  83. #定义使用www.xx.com访问 
  84.  
  85. server_name www.helloworld.com; 
  86.  
  87. #首页 
  88.  
  89. index index.html 
  90.  
  91. #指向webapp的目录 
  92.  
  93. root D:1_WorkspaceProjectgithubzpSpringNotesspring-securityspring-shirosrcmainwebapp; 
  94.  
  95. #编码格式 
  96.  
  97. charset utf-8
  98.  
  99. #代理配置参数 
  100.  
  101. proxy_connect_timeout 180
  102.  
  103. proxy_send_timeout 180
  104.  
  105. proxy_read_timeout 180
  106.  
  107. proxy_set_header Host $host; 
  108.  
  109. proxy_set_header X-Forwarder-For $remote_addr; 
  110.  
  111. #反向代理的路径(和upstream绑定),location 后面设置映射的路径 
  112.  
  113. location / { 
  114.  
  115. proxy_pass http://zp_server1; 
  116.  
  117.  
  118. #静态文件,nginx自己处理 
  119.  
  120. location ~ ^/(images|javascript|js|css|flash|media|static)/ { 
  121.  
  122. root D:1_WorkspaceProjectgithubzpSpringNotesspring-securityspring-shirosrcmainwebappviews; 
  123.  
  124. #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。 
  125.  
  126. expires 30d; 
  127.  
  128.  
  129. #设定查看Nginx状态的地址 
  130.  
  131. location /NginxStatus { 
  132.  
  133. stub_status on; 
  134.  
  135. access_log on; 
  136.  
  137. auth_basic "NginxStatus"
  138.  
  139. auth_basic_user_file conf/htpasswd; 
  140.  
  141.  
  142. #禁止访问 .htxxx 文件 
  143.  
  144. location ~ /.ht { 
  145.  
  146. deny all; 
  147.  
  148.  
  149. #错误处理页面(可选择性配置) 
  150.  
  151. #error_page 404 /404.html; 
  152.  
  153. #error_page 500 502 503 504 /50x.html; 
  154.  
  155. #location = /50x.html { 
  156.  
  157. # root html; 
  158.  
  159. #} 
  160.  
  161.  
  162.  
  163. 好了,让我们来试试吧: 
  164.  
  165. 启动 webapp,注意启动绑定的端 

(编辑:三门峡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读