1、Nginx简介
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx
1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like
协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2、Nginx点优
Nginx 可以在大多数 Unix like OS 上编译运行,并有
Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。
Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:
在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
3、服务器
Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持Rails
和 PHP 程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。
4、Nginx代码
Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、MacOS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。
5、Nginx代理服务器
作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务器。Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
6、windows下安装
官网下载(https://www.nginx.com/)
解压到自己的目录下
打开cmd(其实直接点击nginx.exe也是一样的)
访问地址(默认是80端口)
这是证明安装好了!
7、nginx的一些命令
nginx.exe -s stop //停止nginx
nginx.exe -s reload //重新加载nginx
nginx.exe -s quit //退出nginx
注:以上的命令中,.exe可以去掉
8、简单的配置
访问地址(端口改变了)
9、nginx配置详细
#运行用户
user nobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes 1;
#全局错误日志及PID文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#工作模式及连接数上限
events {
#epoll是多路复用IO(I/O Multiplexing)中的一种方式,
#仅用于linux2.6以上内核,可以大大提高nginx的性能
use epoll;
#单个后台worker process进程的最大并发链接数
worker_connections 1024;
# 并发总数是 worker_processes 和 worker_connections 的乘积
# 即 max_clients = worker_processes * worker_connections
# 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 为什么
# 为什么上面反向代理要除以4,应该说是一个经验值
# 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000
# worker_connections 值的设置跟物理内存大小有关
# 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数
# 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右
# 我们来看看360M内存的VPS可以打开的文件句柄数是多少:
# $ cat /proc/sys/fs/file-max
# 输出 34336
# 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内
# 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置
# 使得并发总数小于操作系统可以打开的最大文件数目
# 其实质也就是根据主机的物理CPU和内存进行配置
# 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
# ulimit -SHn 65535
}
http {
#设定mime类型,类型由mime.type文件定义
include mime.types;
default_type application/octet-stream;
#设定日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
#对于普通应用,必须设为 on,
#如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,
#以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#tcp_nopush on;
#连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
#开启gzip压缩
gzip on;
gzip_disable "MSIE [1-6].";
#设定请求缓冲
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
#设定虚拟主机配置
server {
#侦听80端口
listen 80;
#定义使用 www.nginx.cn访问
server_name www.nginx.cn;
#定义服务器的默认网站根目录位置
root html;
#设定本虚拟主机的访问日志
access_log logs/nginx.access.log main;
#默认请求
location / {
#定义首页索引文件的名称
index index.php index.html index.htm;
}
# 定义错误提示页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
#静态文件,nginx自己处理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
#过期30天,静态文件不怎么更新,过期可以设大一点,
#如果频繁更新,则可以设置得小一点。
expires 30d;
}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#禁止访问 .htxxx 文件
location ~ /.ht {
deny all;
}
}
}
本文来自本人资料、百度百科和nginx官网(http://www.nginx.cn/76.html)
推荐:nginx官网
nginx 学习资料
Nginx配置与应用详解(51CTO)
nginx平台初探
一本很好的nginx书籍(点击下载)
分享到:
相关推荐
【Linux安装Nginx-1.11.10】 ...以上就是Linux和Windows系统中安装Nginx-1.11.10的详细步骤。请根据实际情况调整配置,并确保系统安全。在生产环境中,强烈建议使用最新的Nginx版本,以获取最新的安全补丁和功能。
在Windows环境下,安装和配置Nginx是一项基础且重要的任务,尤其对于开发和测试环境而言。Nginx是一款高性能的Web服务器和反向代理服务器,以其轻量级、高效的性能被广泛应用。本文将详细介绍在Windows上安装、配置...
文件`在Windows下用nginx搭建的web服务器`可能包含详细的步骤、配置示例和相关脚本,对于初学者来说,这是一个宝贵的资源。在实践过程中,务必注意防火墙设置,确保Nginx服务能够正确监听和响应外部请求。 总之,...
在本文中,我们将深入探讨如何在两种不同的操作系统——Linux(以CentOS为例)和Windows上安装Nginx服务器。Nginx是一款高性能的Web服务器,以其反向代理、负载均衡和HTTP缓存等功能而广受青睐。 ### 一、在CentOS...
2. **安装与配置**:教程会详细讲解如何在各种操作系统(如Linux、Windows)上安装Nginx,以及如何配置Nginx的基础设置,包括主配置文件`nginx.conf`的解析和站点配置文件的创建。 3. **基本HTTP服务**:学习如何...
其中WinSCP是用windows将文件直接上传到linux服务器中 另使用服务器而不是虚拟机的兄弟,建议百度下载Xshell6 补: nginx视频教程 linux_JGZMX[VIP] Linux实践视频教程 linux系统(centos虚拟器) 阿铭linux ...
1. **基础安装与配置**:了解如何在不同操作系统(如Linux、Windows)上安装Nginx,理解配置文件的基本结构和语法。 2. **基本配置指令**:学习如`server`、`location`、`proxy_pass`等核心配置指令,以及它们在...
【PHP程序员玩转Linux系列】中的“Linux和Windows安装nginx”教程主要涵盖了在两种操作系统环境下部署Web服务器软件Nginx的步骤。Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于各种Web服务场景。 在Linux...
Nginx的主要配置文件是nginx.conf,位于安装目录下的conf文件夹中。 通过编辑nginx.conf文件,可以配置Nginx的监听端口、服务器名称、文档根目录、虚拟主机、location块、反向代理等。 启动与停止: 在Windows系统中...
Nginx的[ X ]是一个HTTP引擎和反向代理服务器,邮件代理服务器,和...更多关于“Nginx的基础入门篇”、“下载及安装步骤命令”、“完整配置调试教程和实例”、“性能优化技巧”等请参加在线电子教程“Nginx配置大全”。
2. **下载安装包**:获取Nginx的一键安装程序,如Nginx.exe,或者在Linux环境下找到相应的安装脚本。 3. **执行安装**:运行Nginx.exe,根据提示进行安装。在Linux中,这可能涉及赋予脚本执行权限并执行它。 4. **...
1. **事件驱动模型**:Nginx采用异步非阻塞的事件处理模型,如epoll(Linux)和kqueue(FreeBSD),使得在高并发环境下仍能保持低资源消耗和高响应速度。 2. **反向代理**:Nginx可以作为反向代理服务器,将用户的...
nginx-1.16.0(Linux版本+Windows版本),可以参考博客,有使用教程【https://blog.csdn.net/qq_29914837/article/details/97182119】
本教程将详细讲解如何在不同的操作系统环境下进行Nginx的安装。 ### 1. **在Ubuntu/Debian系统上安装Nginx** 首先,更新系统软件库: ```bash sudo apt update ``` 接着,安装Nginx: ```bash sudo apt install ...
依赖包可能包括动态链接库(DLLs)或其他软件组件,这些组件在Windows系统中可能是Nginx运行所必需的,因为Nginx原本是为Linux设计的,其默认构建不包含Windows下的所有依赖。例如,可能会包含SSL库(如OpenSSL)以...
nginx教程 常用服务器 简介 nginx安装 windows安装 linux安装 源码安装 yum安装 docker安装 nginx解析 nginx执行过程 防盗链 缓存 压缩 限速 黑白名单 跨域处理 负载均衡 htts配置 nginx高可用 ...
- **配置文件位置**:Nginx 的配置文件通常位于 `/etc/nginx/nginx.conf`(Linux)或 Nginx 安装目录下的 `conf/nginx.conf`(Windows)。 - **配置示例**:你可以通过编辑配置文件来更改 Nginx 的监听端口、服务器...
它可以在Windows、Linux等多种操作系统上安装。在Linux环境下,可以通过普通的包管理器安装,也可以通过Docker进行安装,大大方便了不同环境下的部署。 配置文件方面,Nginx支持配置文件实例和基本规则的编写,可以...
在安装Nginx前,我们需要了解以下关键知识点: 1. **系统要求**:Nginx支持多种操作系统,包括Linux、Windows、FreeBSD、Solaris等。确保你的系统满足最低硬件和软件要求。 2. **配置编译**:虽然这里提供的是预...