Nginx入门

作者: elef | 来源:发表于2018-12-17 13:17 被阅读77次

这篇教程主要讲解的是如果启用和停止 nginx ,和重新加载配置,描述配置文件的基本结构和怎样搭建一个 nginx 静态服务器,怎样配置 nginx 作为一个代理服务器来。

参考

安装nginx

先安装 Nginx for Windows 点击这里下载,下面的例子是将下载的压缩包接到C盘根目录

cd c:\
unzip nginx-1.15.7.zip
cd nginx-1.15.7
start nginx

执行命令:tasklist 可以查看到Nginx的进程

C:\nginx-1.15.7>tasklist /fi "imagename eq nginx.exe"

Image Name           PID Session Name     Session#    Mem Usage
=============== ======== ============== ========== ============
nginx.exe            652 Console                 0      2 780 K
nginx.exe           1332 Console                 0      3 112 K

nginx 有一个主进程和其他子进程。主进程的主要工作是加载和执行配置文件,并且驻留子进程。子进程用来作为实际的请求处理。
如果nginx没有启动成功,可以查看 logs\error.log。
conf/nginx.conf 配置了nginx使用的各种文件路径,上面的例子nginx部署在C:\nginx-1.15.7. 目录下,配置文件中的路径必须采用Unix风格的路径写法。

access_log   logs/site.log;
root         C:/web/html;

如果, nginx 已经开启,那么它就可以通过使用 -s 参数的可执行命令控制。使用下列格式:

nginx -s stop 快速关闭
nginx -s quit 等待处理完成后关闭
nginx -s reload 重新加载配置文件,相当于重启
nginx -s reopen 重新打开日志文件

配置文件结构

nginx 是由一些模块组成,我们一般在配置文件中使用一些具体的指令来控制它们。指令被分为简单指令和块级命令。一个简单的指令是由名字和参数组成,中间用空格分开,并以分号结尾。例如:

// 简单指令
root /data/www;

块级指令和简单指令一样有着类似的结构,但是末尾不是分号而是用 {} 大括号包裹的额外指令集。如果一个块级指令的大括号里有其他指令,则它被叫做一个上下文(比如:eventshttpserver,和 location)。在配置文件中,没有放在任何上下文中的指令都是处在主上下文中。events 和 http 的指令是放在主上下文中,server 放在 http 中, location 放在 server 中。
以 # 开头的行,会被当做注释。

# this is a comment
events {
  worker_connections  4096;  ## Default: 1024
}
http {
server {
listen       80;
server_name  domain1.com www.domain1.com;
access_log   logs/domain1.access.log  main;
root         html;
     }
}

静态服务器

修改nginx.conf,在http节点下 增加如下 代码:

    server{
      listen       80;   #监听端口,基于IP配置的时候变更此处,比如192.168.1.100:8080;
      server_name  demo.com;  #主机域名,实际项目发布的话,填公网上的域名,本地部署的话,可以在C:\Windows\System32\drivers\etc\hosts文件中添加IP和域名的映射
      location / {      #映射解析,/代表根路径,此处解析还有正则表达式的解析方式,具体请参考http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#location
         root   E:\git.demo\htmlsample-master;   #工程所在路径
         index  index.html index.htm;  #首页(默认页)
      }
     }

确保上面的目录存在,并且新建一些文件,重启nginx服务 nginx -s reload ,打开浏览器 查看 输入 demo.com

静态资源服务器

搭建简易的代理服务

server{
      listen       80;   
      server_name  refine.com; 
          location / {
             proxy_pass http://frame.apps.com;
             index  index.html index.htm;  #首页(默认页)
          }
          location /app1 {
             rewrite  ^/app1/(.*)$ /S1 break;
             proxy_pass http://app1.apps.com;
             index  index.html index.htm;  #首页(默认页)
          }
          location /app2 {
             rewrite  ^/app2/(.*)$ /S1 break;
             proxy_pass http://app2.apps.com;
             index  index.html index.htm;  #首页(默认页)
          }
     }
通过代理服务器将跨域的应用整合到同域下

相关文章

  • nginx平台初探

    nginx平台初探 nginx平台初探(100%) — Nginx开发从入门到精通

  • Nginx 入门到入门 (Mac)

    nginx 安装入门 Nginx 通过 Homebrew 安装 Nginx 配置路径信息 启动Nginx服务 成功...

  • 24*7*365 web 系统建设<一>——ngin

    参考资料1.Nginx - Windows下Nginx初入门2.nginx for Windows3.nginx+...

  • 【Nginx+Flume实现日志打点分析】

    安装nginx(略) 修改nginx.conf然后 nginx -s reload Flume入门 Flume官网...

  • nginx入门指南

    Nginx入门指南 一.Nginx概述: 1.什么是Nginx? Nginx(发音同engine x)是一个网页服...

  • 第二章 OpenResty(Nginx+Lua)开发入门

    Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动、关...

  • Nginx升级和回退

    此处演示nginx1.18.0升级到nginx1.19.2nginx1.18.0的安装,请参考nginx初步入门 ...

  • Nginx进阶一

    Nginx进阶一 Nginx的首页解析过程 在Nginx入门链接[https://www.yuque.com/u4...

  • Nginx

    Nginx 入门简述 工作原理及安装配置 常用命令管理及升级 入门简述 Nginx("engine x")是一个高...

  • nginx入门

    Nginx入门-在Linux上安装Nginx 介绍 简而言之,Nginx(发音为“engine x”)是一个小型、...

网友评论

    本文标题:Nginx入门

    本文链接:https://www.haomeiwen.com/subject/qsiqkqtx.html