常用参考

Nginx入门

2018-12-17  本文已影响77人  elef

这篇教程主要讲解的是如果启用和停止 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;  #首页(默认页)
          }
     }
通过代理服务器将跨域的应用整合到同域下
上一篇 下一篇

猜你喜欢

热点阅读