Nginx(二) 配置与调试
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(二) 配置与调试相关推荐
- 轻量级HTTP服务器Nginx(配置与调试Nginx)
Nginx安装完毕后,会产生相应的安装目录,根据前面的安装路径,Nginx的配置文件路径为/opt/nginx/conf,其中nginx.conf为Nginx的主配置文件.这里重点介绍下nginx.c ...
- 轻量级HTTP服务器Nginx(配置与调试Nginx)(转)
2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.linuxidc.com/Linux/2012-03/55868p3.htm Nginx安装完毕后 ...
- 2023 年河北省职业院校技能大赛“网络搭建与应用”赛项 竞赛(样题) 二、交换配置与调试(132 分)
二.交换配置与调试(132 分) (一).集 团两 台核 心交 换机 通过 VSF 物 理端 口连 接起 来形 成一 台虚 拟的 逻辑 设备SW-Core.用户对这台虚拟设备进行管理,从而来实现对虚拟 ...
- Nginx(二):安装、配置、常用命令
1.Nginx在Linux操作系统中的安装 这里简单介绍一下nginx的安装了 1.1.前期准备 在安装nginx之前我们要提前准摆好它的编译工具以及库文件:zlib.poenssl. 还有有让Ngi ...
- nginx学习文档之二 配置负载均衡-windows配置负载均衡
#windows配置负载均衡 nginx+tomcat负载均衡的意思大概如下图: 所有请求先经过nginx服务器,然后由nginx服务器进行转发,将请求根据配置需要分发给指定的tomcat服务器 ## ...
- 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置
上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx. Nginx("engine x")是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能 ...
- Nginx安装配置与服务搭建
Nginx概述 Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器.反向代理服务器以及电子邮件(IMAP/POP3)代理服务器.起初是供俄国大型的门 ...
- 九爷带你了解 nginx 日志配置指令详解
nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...
- pycharm 远程调试图文_Pycharm配置远程调试的图文步骤
Pycharm配置远程调试方法总结 动机 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现 本地依赖和线上依赖版本不一致也可以导致一些问题 有时一些bug跟数据相关,本地数据无法和线上数据 ...
最新文章
- AD8606跟随器与倍乘电路模块
- 威宝推出支持四接口的桌面硬盘新品
- 【原创】QT简单计算器
- WebApp匯入資料之From Excel
- socket.io服务端是java_SpringBoot(23) 集成socket.io服务端和客户端实现通信
- jquery cookie的用法
- 凡诚工业机器人_【优傲】协作机器人组装案例集锦
- java求职面试_Java面试求职
- 一张图解释IaaS,PaaS,SaaS
- 华为手机助手 for Mac(华为手机管理软件)中文版
- Oracle 11g for Linux安装前准备工作
- Funcode学习笔记:写一个维护性高、扩展性强的框架【By Myself】【C++】
- C#|图像快速傅立叶变换与反变换
- c语言求范围内最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
- C语言:计算班级平均数
- vue 中引入阿里云的云盾防水墙
- (Mac) Mac上如何修改本地的hostname
- react实战笔记172:navigate组件
- ADSL/光纤 双拨,多拨
- ubuntu安装显卡驱动的三种方法