Nginx之web服务器

Nginx的介绍

Nginx是由俄罗斯的Igor Sysoev使用C语言开发的轻量级、高性能、开源、跨平台的Web服务器。

Nginx使用基于事件驱动的架构能够并发处理百万级的TCP连接,高模块化的设计和自由的许可证使得扩展Nginx功能的第三方模块层出不穷,而且优秀的设计带来了极佳的稳定性,因此其作为Web服务器被广泛应用到大流量的网站上,包括腾讯、新浪、网易、淘宝等访问量巨大的网站。

Nginx是Web服务器,或叫做WWW(World Wide Web)服务器,相应具备Web服务器的基本功能:基于REST架构风格,已统一资源描述符(URI)或统一资源定位符(URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务。

Nginx的优点

1、更快(请求更快响应)

2、高扩展性(设计极具扩展性,完全由多个不同功能、不同层次、不同类型且耦合度极低的模块组成)

3、高可靠性(高可用性来自于其核心框架代码的优秀设计、模块设计的简单性;官方提供的常用模块都非常稳定,每个worker进程相对独立)

4、低内存消耗(一万个非常活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是支持高并发连接的基础)

5、单机支持10万以上的并发连接

6、热部署(master管理进程与workr工作进程的分离设计,是的Nginx能够提供热部署的功能,即可以在7*24h不间断服务的前提下,升级Nginx的可执行文件)

7、最自由的BSD许可协议(这是Nginx可以快速发展的的强大动力)

使用Nginx的必备

1、GCC编译器,用来编译C语言程序

#yum install -y gcc

2、PCRE库,Perl兼容正则表达式,在配置文件nginx.conf里使用正则表达式用到

#yum install -y pcre pcre-devel

3、zlib库,用于对HTTP包的内容做gzip格式压缩

#yum install -y zlib zlib-devel
#zlib是直接使用的库,zlib-devel是二次开发使用的库

4、Openssl开发库,服务器需要在更安全的SSL协议上传输HTTP

#yum install -y openssl openssl-devel

磁盘目录

1、Nginx源代码存放路径:自定义

2、Nginx编译阶段产生的中间文件存放路径:与源代码存放路径相同

3、部署目录:存放实际Nginx服务器运行期间所需要的二进制文件、配置文件等。默认情况下:/usr/local/nginx

4、日志文件存放目录:日志文件通常会比较大,需预先安排一个拥有更大的磁盘空间目录。

Linux内核参数的优化

修改/etc/sysctl.conf来更改内核参数

fs.file-max=999999
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_keepalive_time=600
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_max_tw_buckets=5000
net.ipv4.ip_local_port_rangr=1024 61000
net.ipv4.tcp_reme=4096 32768 261246
net.ipv4.tcp_wmem=4096 32768 261246
net.core.netdev_max_backlog=8096
net.core.reme_default=262144
net.core.wmem_default=262144
net.core.reme_max=2697152
net.core.weme_max=2697152
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_syn.backlog=1024
#执行sysctl-p命令,使其生效

获取Nginx源码

官网:http://nginx.org/en/download.html获取源码包
将下载的nginx-1.0.14.tar.gz的源码压缩包放置到准备好的Nginx源代码目录中,然后解压
tar -zxvf nginx-1.0-14.tar.gz

编译安装Nginx

#./configure
#make
#make install
原文地址:https://www.cnblogs.com/yaun1498078591/p/9900759.html