nginx 主配置文件在安装目录下的conf中,名字为nginx.conf:

主配置文件主要分为4部分:main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)和location(URL匹配特定位置的设置);四者关系如下:server继承main,location继承server,upstream既不继承其他设置也不被其他设置所继承.

1、Nginx的全局配置

user mersap mersap;           #user是个主模块指令,指定进程运行的用户以及组,默认是有nobody运行

worker_processes 4;          #worker_processes,指定nginx开启的进程数。通常开启一个进程以及足够,若是多核cpu,指定和cpu的数量一样多的进程数。

error_log logs/error.log notice;    #定义全局错误日志文件。日志输出级别有debug 、info、notice、warn、error、crit可以选择,debug输出的日志最为详细,而crit输出日志最少。

pid       logs/nginx.pid ;      #指定进程id的存储文件位置

worker_rlimit_nofile 65535;  #worker_rlimit_nofile用于指定一个nginx进程可以打开的最多文件描述符数目,需要使用ulimit -n 65535 来设置;

events{      #设定nginx的工作模式及连接数上限;

use epoll;  #事件模块指令,指定nginx的工作模式。Nginx支持的工作模式有:select、poll、kqueue、epoll等。其中select、poll都是标准工作模式;kqueue(BSD)、epoll是高效的工作模式;linux中epoll是首选;

worker_connections 65536;    #worker_connections定义每个进程的最大连接数,默认是1024;最大客户端连接数由进程数和最大连接数决定,最大客户端连接数=进程数*最大连接数;在做反向代理时,最大客户端连接数=进程数*最大连接数/4

###进程的最大连接数受进程的最大打开文件数限制,在执行ulimit -n 65535 后进程最大连接数才能生效;

}

2、Http服务器配置

http {

include       mime.types;  #配置文件锁包含的文件设定

default_type  application/octet-stream;   #核心模块指令,设定默认类型为二进制流;

client_max_body_size 8m;   #设置允许客户端请求的最大的单个文件字节数

client_header_buffer_size 32k;  #缓冲区,客户端请求头的缓冲大小??

large_client_header_buffers 4 32k;  #指定客户端中请求中较大的消息头的缓存最大数量和大小,最大缓存为4个32k

sendfile        on;   #用于开启高效文件传输模式,将下面俩个参数打开,防止网络阻塞

tcp_nopush     on;

tcp_nodelay on;

keepalive_timeout  65;  #用于设置客户端连接保持活动的超时时间;当超过这个时间后服务器自动关闭

client_header_timeout 10;  #用于设置客户端请求头读取超时时间

client_body_timeout 10;  #设置客户端请求主体读取超时时间;

send_timeout        10;  #指定响应客户端的超时时间。

3、httpgzip模块配置:  支持在线实时压缩输出数据流。

看是否安装此模块: nginx -V

若没有安装。需要添加此模块: 进入nginx源码目录,重新编译代码和模块,./configure  + 需要的模块  ,make  ,但是不要makeinstall,否则就覆盖安装了。   Make以后,在objs下面就会产生新的nginx,这个就是新的版本的程序。备份旧的Nginx  cp /usr/local/nginx/sbin/nginx  /usr/loacl/nginx/nginx.bak  ;   然后把最新的程序复制过来,cp objs/nginx /usr/local/nginx/sbin/nginx

测试新的nginx程序是否正确

/usr/local/nginx/sbin/nginx -t

平滑重启nginx

/usr/local/nginx/sbin/nginx -s reload

当HttpGzip安装完成后

设置: gzip on;(通常只需要设置这一个,具体自己看)

4、负载均衡配置

upstream ixdba.net{

ip_hash;    调度算法(共四种,自己研究)

server 10.43.6.12:80;

server 10.43.6.11:80 down;

server 10.43.6.13:8009 max_fail=3 file_timeout=20s;

server 10.43.6.14:8089 ;

}

通过upstream指令指定一个负载均衡器的名称为ixdba.net,名称可以随意指定,在后面需要用的地方直接调用即可

在此模块中,可以通过server指令指定后端服务器的IP地址和端口,同时也可以设定每个后端服务器在负载均衡调度中的状态。常用状态有:

(1)down  表示当前server暂时不参与负载均衡

(2)backup  预留的备份机器。当其他的所有的非backup机器出现故障时或者忙碌的时候,才会请求此机器

(3)max_fails 允许请求失败的次数,默认为1;当超出最大次数时,返回错误

(4)fail_timeout  经历lmax_fails次失败后,暂停服务时间;

5、server虚拟主机配置

server{

listen   80;

server_name 192.178.2.3 www.ixdba.net;

index index.html  index.htm index.jsp;

root /web/*****;

charset gb2312;

access_log  logs/***.log main;

}

6、URL匹配配置

URL地址匹配时Nginx中最灵活的部分。Location支持正则表达式匹配,也支持条件判断。

location  ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

root  /wet/***;

expires 30d;

}

通过location指令来对网友url进行分析处理,所有扩展名为gif、jpg等文件都交给nginx处理,而expires用来指定静态文件的过期时间,这里设置为30天

转载于:https://blog.51cto.com/mersap/1253450

Nginx(二) 配置与调试相关推荐

  1. 轻量级HTTP服务器Nginx(配置与调试Nginx)

    Nginx安装完毕后,会产生相应的安装目录,根据前面的安装路径,Nginx的配置文件路径为/opt/nginx/conf,其中nginx.conf为Nginx的主配置文件.这里重点介绍下nginx.c ...

  2. 轻量级HTTP服务器Nginx(配置与调试Nginx)(转)

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.linuxidc.com/Linux/2012-03/55868p3.htm Nginx安装完毕后 ...

  3. 2023 年河北省职业院校技能大赛“网络搭建与应用”赛项 竞赛(样题) 二、交换配置与调试(132 分)

    二.交换配置与调试(132 分) (一).集 团两 台核 心交 换机 通过 VSF 物 理端 口连 接起 来形 成一 台虚 拟的 逻辑 设备SW-Core.用户对这台虚拟设备进行管理,从而来实现对虚拟 ...

  4. Nginx(二):安装、配置、常用命令

    1.Nginx在Linux操作系统中的安装 这里简单介绍一下nginx的安装了 1.1.前期准备 在安装nginx之前我们要提前准摆好它的编译工具以及库文件:zlib.poenssl. 还有有让Ngi ...

  5. nginx学习文档之二 配置负载均衡-windows配置负载均衡

    #windows配置负载均衡 nginx+tomcat负载均衡的意思大概如下图: 所有请求先经过nginx服务器,然后由nginx服务器进行转发,将请求根据配置需要分发给指定的tomcat服务器 ## ...

  6. 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置

    上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx. Nginx("engine x")是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能 ...

  7. Nginx安装配置与服务搭建

    Nginx概述 Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器.反向代理服务器以及电子邮件(IMAP/POP3)代理服务器.起初是供俄国大型的门 ...

  8. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  9. pycharm 远程调试图文_Pycharm配置远程调试的图文步骤

    Pycharm配置远程调试方法总结 动机 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现 本地依赖和线上依赖版本不一致也可以导致一些问题 有时一些bug跟数据相关,本地数据无法和线上数据 ...

最新文章

  1. AD8606跟随器与倍乘电路模块
  2. 威宝推出支持四接口的桌面硬盘新品
  3. 【原创】QT简单计算器
  4. WebApp匯入資料之From Excel
  5. socket.io服务端是java_SpringBoot(23) 集成socket.io服务端和客户端实现通信
  6. jquery cookie的用法
  7. 凡诚工业机器人_【优傲】协作机器人组装案例集锦
  8. java求职面试_Java面试求职
  9. 一张图解释IaaS,PaaS,SaaS
  10. 华为手机助手 for Mac(华为手机管理软件)中文版
  11. Oracle 11g for Linux安装前准备工作
  12. Funcode学习笔记:写一个维护性高、扩展性强的框架【By Myself】【C++】
  13. C#|图像快速傅立叶变换与反变换
  14. c语言求范围内最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  15. C语言:计算班级平均数
  16. vue 中引入阿里云的云盾防水墙
  17. (Mac) Mac上如何修改本地的hostname
  18. react实战笔记172:navigate组件
  19. ADSL/光纤 双拨,多拨
  20. ubuntu安装显卡驱动的三种方法

热门文章

  1. POI如何使用已有Excel作为模板二三事
  2. IT工作者,你们的爱情是这样的吗?
  3. Mongo、Redis、Memcached对比及知识总结
  4. 可伸缩系统的设计模式(译)
  5. 跟小博老师一起学习数据库 ——SELECT
  6. curl命令具体解释
  7. puppet aix之自动化用户管理
  8. Nagios 安装文档
  9. 单片微型计算机概念及组成,中国民用航空飞行学院2014年微机原理与接口考研复习大纲...
  10. CSS-in-JS的权衡