为什么选择Nginx
  • 更快
  • 高扩展性
  • 高可靠性
  • 低内存消耗
  • 单机支持10万以上的并发连接
  • 热部署
  • 最自由的BSD许可协议

Nginx先天的事件驱动型设计、全异步的网络I/O处理机制、极少的进程间切换以及许多优化设计,都似的Nginx天生善于处理高并发压力下的互联网请求,同时Nginx降低了资源消耗,可以把服务器硬件资源“压榨”到极致。


apt-get报错
# E:无法获得锁/var/lib/dpkg/lock - open(11:资源暂时不可用)...
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock # 无法获得锁/var/lib/apt/lists/lock...
sudo rm /var/lib/apt/lists/lock

shell中cmd 2 > /dev/null

# 文件描述符
0 —— 标准输入(stdin)
1 —— 标准输出(stdout)
2 —— 标准错误(stderr) # 分别单独定向stderr和stdout到文件
cmd 2 > stderr.txt 1 > stdout.txt # stderr和stdout重定向到同一个文件
cmd > output.txt 2 > &1
cmd & > output.txt
cmd > & output.txt # Linux特殊文件/dev/null
/dev/null是一个特殊设备文件,这个文件接收的任何数据都会被丢弃。因此,null这个设备通常被称为位桶(bit bucket)或黑洞。
所以,2 > /dev/null是将错误stderr删掉

nginx安装和启停
# 安装nginx前提
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
apt-get install openssl openssl-dev # 官网[下载](http://nginx.org/en/download.html)source code
tar -zxvf nginx..
cd nginx..
./configure
make
make install # 默认方式启动
/usr/local/nginx/sbin/nginx
# 访问127.0.0.1:80看到nginx欢迎界面
# (1)默认使用/usr/local/nginx/conf/nginx.conf配置文件,可在configure加参数--conf-pat=PATH指定配置文件安装位置
# (2)启动命令加参数-c abspath指定启动使用的配置文件路径
# (3)启动命令加参数-p abspath指定nginx的安装目录
# (4)启动命令加参数-g临时指定一些全局配置参数,以使新的配置生效。新配置不能存在于nginx.conf中,否则会冲突。若叫-g参数,在启动会停止时也需将-g参数加上
# (5)测试配置信息是否正确
/usr/local/nginx/sbin/nginx -t
# (6)测试配置阶段不输出信息
/usr/local/nginx/sbin/nginx -t -q
# (7)显示版本信息
/usr/local/nginx/sbin/nginx -v
# (8)快速停止服务
/usr/local/nginx/sbin/nginx -s stop # s告诉nginx程序向正在运行的nginx服务发送信号量
# (9)显示编译阶段的参数
/usr/local/nginx/sbin/nginx -V
# (10)优雅的停止服务
/usr/local/nginx/sbin/nginx -s quit
sudo kill -s SIGQUIT nginx_pid
# (11)重新加载nginx.conf
/usr/local/nginx/sbin/nginx -s reload
sudo kill -s SIGHUP nginx_pid
# (12)日志文件回滚
/usr/local/nginx/sbin/nginx -s reopen
sudo kill -s SIGUSR1 nginx_pid
# (13)平滑升级nginx
替换原有nginx二进制文件,nginx支持不重启平滑升级。包括以下步骤:
# 1)向master发送USER2信号量,告知运行的旧版nginx准备升级
sudo kill -s SIGUSR2 nginx_master_pid # 会将pid文件重命名
# 2)启动新版nginx
# 3)kill发送SIGQUIT优雅关闭旧版nginx,随后将新版本nginx服务运行
# (14)使用-h或-?显示支持的所有参数

深入理解Nginx-模块开发与架构解析(第2版)第一章的更多相关文章

  1. Nginx模块开发与架构解析(nginx安装、配置说明)

    第一章 研究nginx前的准备工作 Linux操作系统需要2.6及其以上的内核(支持epoll) 使用nginx的必备软件 Linux内核参数优化方案 安装nginx 控制nginx 第二章 ngin ...

  2. 《深入理解Nginx:模块开发与架构解析》读书笔记

    1.nginx的特点:快.扩展性强.可靠性强.内存低消耗.支持高并发.热部署.开源免费 2.nginx由master进程来管理多个(CPU数)worker进程 3.配置按功能分,有4类: 1)用于调试 ...

  3. 《深入理解Nginx:模块开发与架构解析》(一)

    第1章 研究 Nginx 前的准备工作 1.1 Nginx 是什么 Web 服务器的基本功能:基于 REST 架构风格,以统一资源描述符(URI)或者统一资源定位符(URL),作为沟通依据,通过 HT ...

  4. 【转】Nginx模块开发入门

    转自: http://kb.cnblogs.com/page/98352/ 结论:对Nginx模块开发入门做了一个helloworld的示例,简单易懂.也有一定的深度.值得一看. Nginx模块开发入 ...

  5. Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  6. [转] Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  7. Nginx模块开发入门(转)

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  8. Nginx模块开发入门(转)

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  9. 解剖Nginx·模块开发篇(1)跑起你的 Hello World 模块!

    1 学习 Nginx 模块开发需要有哪些准备? 需要的预备知识不多,有如下几点: 有过一些 C 语言的编程经历: 知道 Nginx 是干嘛的,并有过编写或改写 Nginx 的配置文件的经历. OK,就 ...

  10. FW: Nginx模块开发入门

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

随机推荐

  1. windows mysql8安装zip

    MySQL 是一种广泛使用的关系数据库管理系统,MySQL 8 是其最新的主要版本,结合了出色的性能和丰富的功能. 一.准备工作 1. 下载MySQL 8 zip包 首先,你需要获取MySQL 8的压 ...

  2. 万字长文手把手教你实现MicroPython/Python发布第三方库

    MicroPython/Python 发布第三方库 原文链接: FreakStudio的博客 摘要 文章讲解内容包括第三方库文件说明和组织.开源许可协议选择.通过black模块.Flake8模块和预提 ...

  3. Redis压测脚本及持久化机制

    Redis压测脚本及持久化机制 Redis性能压测脚本 Redis的所有数据是保存在内存当中的,得益于内存高效的读写性能,Redis的性能是非常强悍的.但是,内存的缺点是断电即丢失,所以,在实际项目中 ...

  4. FastAPI 自定义参数验证器完全指南:从基础到高级实战

    title: FastAPI 自定义参数验证器完全指南:从基础到高级实战 date: 2025/3/11 updated: 2025/3/11 author: cmdragon excerpt: 本教 ...

  5. JMeter 获取 response body 的数据

    JMeter 获取 response body 的数据 位置:右键(HTTP Request) - Add - Post Processors - BeanShell PostProcessor im ...

  6. k8s Pod状态详解

    k8s Pod状态详解 在 Kubernetes 中,Pod 是最小的可部署的计算单元,它是一组容器的集合,共享同一个网络命名空间.存储卷等资源. Kubernetes 中的 Pod 有以下几种状态: ...

  7. oracle修改用户密码的方法

    Oracle用户名及默认密码 修改oracle用户的密码有以下方法: 普通用户 (1)通过alter user语法来进行修改 ,这也是最常见的方式: (2) 第二种方式,是通过password命令来修 ...

  8. Draw.io:你可能不知道的「白嫖级」图表绘制神器

    介绍 draw.io 是一个在 GitHub 上开源且拥有近十年发展历史的成熟项目,它是一款用于绘制 UML 图表的工具. 如果你曾经为流程图的绘制而流泪,又或是在夜里和UML大战到失眠, 不妨试试它 ...

  9. 项目实战 TS

    项目实战 TS 通用技巧 新手先 any 再填坑,老手先定义数据结构写逻辑 遇到新场景,没把握快速,先用 any 再填坑,填坑的过程也是 TS 技能满满提升的过程. TS 发现潜在问题 1)复杂逻辑, ...

  10. SpringSecurity5(10-动态权限管理)

    授权流程 SpringSecurity 的授权流程如下: 拦截请求,已认证用户访问受保护的 web 资源将被 SecurityFilterChain 中的 FilterSecurityIntercep ...