Nginx配置文件简述

编程之家收集整理的这篇文章主要介绍了Nginx配置文件简述编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cp

概述

Nginx是一款高性能http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试Nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。本文主要简述Nginx配置文件及示例配置,仅供学习分享使用,如有不足之处,还请指正。

Nginx配置文件结构

Nginx配置文件Nginx.conf位于其安装目录的conf目录下。
Nginx.conf由多个块组成,最外面的块是main,main包含Events和httpHttp包含upstream和多个Server,Server又包含多个location:具体结构如下所示:

Nginx配置文件各个模块说明

  1. 全局块:配置影响Nginx全局的指令。一般有运行Nginx服务器用户组,Nginx进程pID存放路径,日志存放路径配置文件引入,允许生成worker process数等。
  2. events块:配置影响Nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
  3. http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用send@R_403_6852@传输文件,连接超时时间,单连接请求数等。
  4. server块:配置虚拟主机的相关参数一个http中可以有多个server。
  5. location块:配置请求的路由,以及各种页面的处理情况。

Nginx实现多端口服务

众所周知,一个Tomcat只能绑定一个端口,但是一个Nginx服务却可以通过配置不同端口,来支持不同的访问,具体步骤如下所示:

复制Nginx自带HTML文件夹,并命名为HTML2,作为一个单独的访问路径,如下所示:

1 cp -r HTML HTML2 #复制文件夹及内容并改名

修改HTML2/index.HTML文件内容然后保存,以便区分不同端口的页面显示,如下所示:

1 vim index.HTML  修改文件内容
2 cat index.HTML    查看文件内容

切换到/usr/lcocal/Nginx/conf/目录下,修改Nginx.conf配置文件增加一个server节点,端口为8080,路径指向HTML2,如下所示:

1 cp Nginx.conf Nginx.conf.bak  修改之前先备份
2 vim Nginx.conf   修改配置文件
3 cat Nginx.conf  查看修改后的内容

新增的server节点内容如下所示:

1  新增一个服务节点
2     server {
3        Listen  8080;
4        server_name  localhost;
5        location / {
6            root HTML2;
7            index index.HTML index.htm;
8        }  
9     }

截图如下所示:

保存配置文件然后启动Nginx服务。

切换到/usr/local/Nginx/sbin目录,启动Nginx并查看服务进程,如下所示:

1  ./Nginx   启动服务
2 ps -ef|grep Nginx   查看进程

然后打开浏览器进行访问,80端口是内容,如下所示:

8080端口为新增节点,显示内容修改后的一致,则表示成功,如下所示:

以上就是通过多个端口来配置不同服务。

 Nginx实现多域名服务

在网络世界中,域名方便用户记忆及传播,且拥有有特殊的含义,代表一个独一无二的服务。Nginx可以通过配置不同的域名来区分不同的服务,如下所示:

复制Nginx自带HTML文件夹,并命名为HTML3,作为一个单独的访问路径,如下所示:

1  cp -r HTML HTML3   复制文件夹及文件,并重命名

修改HTML3/index.HTML文件内容然后保存,以便区分不同域名的页面显示,如下所示:

修改nging.conf配置文件

切换到/usr/lcocal/Nginx/conf/目录下,修改Nginx.conf配置文件增加一个server节点,端口为80,路径指向HTML3 ,域名为www.alan.hsiang.com,如下所示:

1 vim Nginx.conf  2 cat Nginx.conf  查看修改后的内容

新增节点,如下所示:

1 2        Listen 803        server_name wwww.alan.hsiang.com;
4        location /5            root HTML3;
           index index.HTML index.HTML;
       }
8     }

截图如下:

保存配置文件然后重新加载Nginx使配置文件生效。

切换到/usr/local/Nginx/sbin目录,重新加载Nginx,如下所示:

1  ./Nginx -s reload   重新加载配置文件

修改本例hosts文件路径为C:\windows\System32\drivers\etc,如下所示:

增加域名与IP对应关系并保存,如下所示:

浏览器中输入域名,即可访问,如下所示:

以上就是 通过配置不同域名来访问不同路径的步骤。

关于Nginx.conf的配置文件节点说明,详细如下所示:

 1 ########## 每个指令必须有分号结束。#################
 2 user administrator administrators;  #配置用户或者组,认为nobody nobody。
 3 worker_processes 2;  #允许生成的进程数,认为1
 4 pID /Nginx/pID/Nginx.pID;   #指定Nginx进程运行文件存放地址
 5 error_log log/error.log deBUG;  制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:deBUG|info|notice|warn|error|crit|alert|emerg
 6 events {
 7     accept_mutex on;   设置网路连接序列化,防止惊群现象发生,认为on
 8     multi_accept on;  设置一个进程是否同时接受多个网络连接,认为off
 9     use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
10     worker_connections  1024;    最大连接数,认为512
11 }
12 http {
13     include       mime.types;   文件扩展名与文件类型映射表
14     default_type  application/octet-stream; 文件类型,认为text/plain
15     access_log off; #取消服务日志    
16     log_format myFormat '$remote_addr$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; 自定义格式
17     access_log log/access.log myFormat;  combined为日志格式认值
18     send@R_403_6852@ on;   允许send@R_403_6852@方式传输文件认为off,可以在http块,server块,location块。
19     send@R_403_6852@_max_chunk 100k;  每个进程每次调用传输数量不能大于设定的值,认为0,即不设上限。
20     keepalive_timeout 65;  连接超时时间认为75s,可以在http,server,location块。
21 
22     upstream mysvr {   
23       server 127.0.0.1:787824       server 192.168.10.121:3333 backup;  热备
25     }
26     error_page 404 https://www.baIDu.com; 错误
27 28         keepalive_requests 120; 单连接请求上限次数
29         Listen       4545;   监听端口
30         server_name  127.0.0.1;   监听地址       
31         location  ~*^.+$ {       请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
32            root path;  #根目录
33            index vv.txt;  #设置认页
34            proxy_pass  http://mysvr;  请求转向mysvr 定义的服务器列表
35            deny 127.0.0.1;  拒绝的ip
36            allow 172.18.5.54; 允许的ip           
37         } 
38 39 }
VIEw Code

备注

望江南·梳洗罢

【作者】温庭筠 【朝代】唐

梳洗罢,@H_98_502@独倚望江楼。过尽千帆皆不是,斜晖脉脉水悠悠。肠断白蘋洲。

总结

以上是编程之家为你收集整理的Nginx配置文件简述全部内容,希望文章能够帮你解决Nginx配置文件简述所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

Nginx文章

caddy 有个http.nobots nobots保护你的网站免受网络爬虫和机器人,可以给采集的恶意程序返回特定的数据。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cp
Nginx的代理功能与负载均衡功能是最常被用到的,本文主要简述代理,反向代理,负载均衡的相关知识点,及利用Nginx实现反向代理和负载均衡的操作步骤,仅供学习分享使用,如有不足之处,还请指正。
问题背景 最近偶然对线上域名配置的nginx IP进行直接访问后,发现http居然是可以通的,而https直接IP访问浏览器会报证书不安全的提示,点击详细查看发现是固定返回了nginx配置的某一个ap
Git Hooks Git 能在特定的重要动作发生时触发自定义的脚本。 这些脚本都被存储在 Git 目录下的 hooks 子目录中( )。当 git init 初始化一个仓库时,Git 默认会在这个目
macOS Sierra 11.12 已经帮我们预装了 Ruby、PHP(5.6)、Perl、Python 等常用的脚本语言,以及 Apache HTTP 服务器。由于 nginx 既能作为 HTTP
启动uwsgi出现no internal routing support, rebuild with pcre support使用如下命令,记录下,方便后人需要注意的是pip install uwsg
报这个错,我们可以去查看错误日志,进入如下目录 错误信息如下: 解决办法,在/data/下创建 wwwlogs目录,重启nginx即可 systemctl restart nginx 成功启动!!!
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注