nginx重新加载配置文件_NGINX初探

f9e68c234e864517c4451994672464a2.png
   作为一个偏应用开发的开发者,最近看到有着15年工作经验的软件工程师爱德华·兹西佐夫发表他的观点,他
认为开发者应该把80%的时间花在基础学习上,然后剩下20%的时间留给框架,库和工具的学习上。我是认同这种
说法的,那么如何好好利用这20%时间学习,我觉得最正解就是框架或者软件的官方文档。英语阅读能力的培养
需要时间成本,但是从长期来看,这成本是值得的(高估了一年所能做的事情,却低估了十年所能做的事情)。
官文:https://nginx.org/en/docs/beginners_guide.html
  • nginx是由一个master process和几个worker process组成.主进程负责读和加载配置文件,worker进程负责实际的请求分发。(此处有必要了解CGI和FastCGI)
  • nginx worker 进程数可以通过配置文件配置或者自动适配服务器的核数(一般配置为cpu核数一致)
  • nginx 和它的模块如何工作是由配置文件决定的
  • 配置文件默认名字为nginx.cnf ,文件位置一般位于以下位置: /usr/local/nginx/conf, /etc/nginx, /usr/local/etc/nginx

NGINX 启动,停止和加载配置文件

nginx的启动是通过可执行文件(文件名为就是nginx,并且安装时已经加入环境变量中),nginx启动之后
可以通过该可执行文件(文件名为nginx),加上参数 -s 来控制nginx。
nginx    //启动
nginx -s signal   //控制命令的格式

常见的signal 值:

stop  ---fast shutdown,快速关闭(也可以通过linux 本身的kill 命令,杀掉nginx master process)
quit  ---graceful  shutdown,优雅关闭,会等到所有请求结束
reload   ---reloading the configuration file,重新加载配置文件
reopen    ---reopening the log files
quit 优雅的关闭只有在启动nginx的同用户下有效。
  • 列出nginx 所有进程
ps -ax | grep nginx

配置文件的结构

  • nginx是由模块组成,模块由配置文件中的指令控制
  • 指令分为简单指令和块指令。

简单指令由名字和参数组成 (空格隔开,;作为结束符)

include mime.types;

块指令由左右括号包裹并作为结束符

server {
    server_name example.com www.example.com;
}
  • 配置文件使用# 作为注释
  • 上下文(context)
块指令内部叫做上下文,最外层叫作main上下文

服务静态资源

路径路由最终的本质是找到所在服务器静态资源的具体路径.

  • 虚拟服务器(server 块)由它们监听的端口和server name来唯一区分(没配置端口表示使用默认标准端口80)
server {
    listen       80;
    server_name  localhost;
    location / {
        root /data/www;
    }

    location /images/ {
        root /data;
    }
}
  • 该location书写方式根据最长匹配原则,匹配的请求将会add 到root 命令指定的路径后面。

比如:(注意是add)

http://localhost/images/example.png

/data/images/example.png(绝对路径)

http://localhost/some/example.html

/data/www/some/example.html(绝对路径)
  • tips
可以通过在server context 配置一个全局的root 路径,这样后面的location上下文就是基于此路径的
相对路径(location 上下文没有配置root 路径情况)。
原文如下:
Such root directive is used when the location block selected for serving a 
request does not include own root directive

配置一个简单代理服务

在location 上下文中使用proxy_pass指令,参数为被代理服务器的协议,名字和端口
server {
    location / {
        proxy_pass http://localhost:8080;
    }

    location /images/ {
        root /data;
    }
}
  • 上面就是从官网的beginner's guide文章获取到的一些知识点,后续会针对代理的相对路径和绝对路径作个详细文章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值