Nginx

Nginx优势
1.nginx将网络,磁盘及定时器等异步事件的驱动都做了非常好的封装,基于它开发将可以忽略这些事件处理的细节。
2.Nginx封装了许多平台无关的接口,容器,适用于跨平台开发。
3.模块化设计,使得开发者可以轻易的复用各种已有的模块。
4.基于它开发服务器程序可以轻松的实现程序的动态升级,子进程的监控,管理,配置项的动态修改生效。
5.能够使用特殊的系统调用(对linux做了大量的优化),更高效的完成任务。

特点:
1.更快:单次响应会得到更快的响应;在高峰期,nginx可以比其他web服务器更快的响应请求。
2.高扩展性:nginx完全是由多个不同的功能,不同层次,不同类型且耦合度极低的模块组成。
3.高可靠性:这来自于其核心框架代码的优秀设计,模块设计的简单性。
4.低内存消耗:10000个非活跃的http keep-alive连接在nginx中仅消耗2.5Mb的内存。
5.单机支持10万以上的并发连接。
6.热部署:master管理进程和worker工作进程的分离设计。
7.最free的bsd许可协议:不仅可以使用,还可以修改源代码并发布。

依赖包:
gcc:可以编译C语言程序
gcc-c++:编译工具,编写nginx HTTP模块。
pcre:perl兼容正则表达式
pcre-devel:是使用pcre做二次开发时所需要的开发库,包括头文件。
zlib:对http包的内容做gzip格式压缩
zlib-devel:做二次开发时所需的开发库
openssl:支持在更安全的ssl协议上传输http(MD5,sha1)
openssl-devel

File-max::表示一个进程,可以同时打开的最大句柄数。
Tcp_tw_reuse:1表示充许将time-wait状态的socket重新用于新的Tcp_keepalive_time:当keepalive启动时,tcp发送keepalive消息的频度,默认2小时,若将其设置的小一些,可以更快的清理无效的连接。
Tcp_fin_timeout:当服务器主动关闭连接时,socket保持在fin-wait-2状态的最大时间。
Tcp_max_syn_backlog:表示tcp三次握手建立阶段接收syn请求队列的最大长度,默认为1024,将其设置的大些可以使出现nginx繁忙来不及accept新连接的情况时,linux不至于丢失客户端发起的连接请求。
Ip_local_port-range:在udp和tcp连接中本地(不包括连接的远程)
端口的取值范围。
Net.ipv4.tcp_rmem:定义了tcp接收缓存(用于tcp接受滑动窗口)的最小值,默认值,最大值。
Net.ipv4.tcp_wmem:定义了tcp发送缓存(用于tcp接受滑动窗口)的最小值,默认值,最大值。
Netdev_max_backlog:当网卡接收数据包的速度大于内核处理的速度时,会有一个小队列保存这些数据包,这个参数表示该队列的最大值。
Rmem_default:表示内核套接字接收缓存区的默认大小。
Wmem_default:表示内核套接字发送缓存区的默认大小。
Rmem_max:表示内核套接字接收缓存区的最大大小。
Wmem_max:表示内核套接字发送缓存区的最大大小。
Tcp_syncookies:用于解决tcp的syn攻击

cat ./configure
auto/options:处理configure命令的参数
auto/init:脚本初始化后续将产生的文件路径。
auto/sources:分析nginx的源码结构,构造后续的makefile文件

默认启动:
/usr/local/nginx/sbin/nginx -c /etc/nginx.conf
指定安装目录的启动方式
/usr/local/nginx/sbin/nginx -p /usr/local/nginx
指定全局配置项的启动方式
/usr/local/nginx/sbin/nginx -g “pid /var/nginx/test.pid”
测试配置信息是否有错
/usr/local/nginx/sbin/nginx -t -q (-q可以不把error级别以下的信息输出到屏幕)
显示版本
/usr/local/nginx/sbin/nginx -V
快速停止
/usr/local/nginx/sbin/nginx -s stop (收到信号立即跳出循环)
处理完当前所有请求再停止 
/usr/local/nginx/sbin/nginx -s quit (关闭监听端口,停止接受新的链接,处理完请求,退出)
停止冒个worker进程
kill -s SIGWINCH <nginx worker pid>
使运行中的nginx重读配置文件
/usr/local/nginx/sbin/nginx -s reload
日志文件回滚
/usr/local/nginx/sbin/nginx -s reopen
平滑升级nginx

nginx优势,依赖,启动的更多相关文章

  1. 002.Nginx安装及启动

    一 Nginx yum安装 1.1 前置准备 1 [root@nginx01 ~]# systemctl status firewalld.service #检查防火墙 2 [root@nginx01 ...

  2. Windows 安装nginx并开机启动

    Win安装nginx并 开机启动 下载nginx安装包 nginx-1.12.2.zip,解压到D盘. https://pan.baidu.com/s/1InQa527yq35Q68c73RBb-A# ...

  3. gitlab6 nginx配置和启动脚本

    gitlab6 nginx配置和启动脚本 cheungmine 2013-10 最近把gitlab安装到了ubuntu12.04.3的虚拟机上了.参考: https://github.com/gitl ...

  4. 利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果

    利用系统函数模拟实现nginx 系统脚本启动的特殊颜色专业效果/etc/init.d/nginxd {start/stop/restart/reload}利用if语句实现: ============= ...

  5. Nginx服务器的启动控制

    写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: nginx服 ...

  6. nginx环境下启动php-fpm

    nginx环境下启动php-fpm 1.首先查看是否安装了php-fpm 这个我试了好多命令都不行比如 rpm -qa php-fpm , rpm -ql php-fpm , which php-fp ...

  7. CentOS7.3编译安装Nginx设置开机启动

    起因 最近想玩nginx了,本来用yum -y install nginx安装也启动好了,但是买了本<Nginx高性能Web服务器详解>,我咋能辜负我的书费呢?于是我就直接ps -ef | ...

  8. nginx服务器安装与启动

    nginx服务器介绍 1.nginx服务器功能 nginx服务器可以扮演:轻量级的web服务器.应用服务器.代理服务器.反向代理服务器.后台服务器.CDN缓存服务器 nginx的基本模块: 内核模块C ...

  9. centos7 nginx设置开启启动

    添加系统服务 在 /usr/lib/systemd/system 目录中添加 nginx.service,根据实际情况进行修改,详细解析可查看下方参考资料中的文章.内容如下 ?     [Unit] ...

随机推荐

  1. H3C SSH配置例子

  2. css设置Overflow实现隐藏滚动条的同时又可以滚动

    .scroll-list ul{ white-space: nowrap; -webkit-overflow-scrolling: touch; overflow-x: auto; overflow- ...

  3. C++高精度加减乘除模板

    其中高精度乘法通过了POJ2389,其他没有测过,不过应该是没有问题的. 其中高精度除法返回一对string,分别表示商和余数. 代码: #include <bits/stdc++.h> ...

  4. CSS中的“>”是什么意思

    #quickSummary p{color:red;} #quickSummary >p+p{color:red;} #quickSummary>p+p+p{color:inherit;} ...

  5. hdu 1045 Fire Net(dfs)

    Fire Net Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  6. codeforces 1230 div2

    C 给一个图,并且在边上放上多米诺骨牌,使得每个多米诺骨牌指向的顶点的数字是一致的,并且每种骨牌只能用一种.问最多能够覆盖多少条边. 先生成每一个点指向的数字,然后判断就好了. #include< ...

  7. Python--day63---出版社增删查改开发流程回顾

    1,第一步:对应url 2,第二步:views.py 3,第三步:views.py中的函数中利用ORM去数据库中操纵数据 4,第四步:Django模板语言实现字符串替换 5,第五步:取出publish ...

  8. 4-4 Selector有一个方法可以获取Selector中的文本内容---extract()

    ####### 例如: response.xpath('//div[@class ="entry-header"]/h1/text()').extract()

  9. H3C 不适当的VLAN间路由方式

  10. git如何移除某文件的版本控制

    1:还没有加到版本控制中 (1)还没有git  add 在   .gitignore中添加 (2)已经git add 先   git  rm  -r  --cached   文件 在   .gitig ...