为什么选择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. [AI/GPT/综述] AI Agent的设计模式综述

    序:文由 其一,随着大模型的发展,通用智能不断迭代升级,应用模式也不断创新,从简单的Prompt应用.RAG(搜索增强生成).再到AI Agent(人工智能代理). 其中AI Agent一直是个火热的 ...

  2. gazebo小车模型(附带仿真环境)

    博客地址:https://www.cnblogs.com/zylyehuo/ 参考链接 1.(https://blog.csdn.net/qq_43406338/article/details/109 ...

  3. .NET中的线程本地存储(TLS)与AsyncLocal(一)

    一.TLS 线程本地存储(Thread Local Storage),字面意思就是专属某个线程的存储空间.变量大体上分为全局变量和局部变量,一个进程中的所有线程共享地址空间,这个地址空间被划分为几个固 ...

  4. (原创)[开源][.Net Framework 4.5] SimpleMVVM(极简MVVM框架)更新 v1.1,增加NuGet包

    一.前言 意料之外,也情理之中的,在主业是传统行业的本人,技术的选型还是落后于时代. 这不,因现实需要,得将大库中的 WPF MVVM 相关部分功能拆分出来独立使用,想着来都来了,就直接开源得了,顺便 ...

  5. day12“函数”进阶学习让你更上一层楼

    函数进阶 多函数程序执⾏流程 拆包 递归 可变和不可变类型 多函数程序执⾏流程 共用全局变量 # 1. 定义全局变量 num = 0 def test1(): global num # 修改全局变量 ...

  6. eolinker响应预处理:传参解决方法(响应数据截取后设置为变量)

    特别注意:需要使用全局变量或者预处理前务必阅读本链接https://www.cnblogs.com/becks/p/13713278.html 一.案例1 1.场景描述: 后一个请求需要前一个请求提供 ...

  7. 1703. 得到连续 K 个 1 的最少相邻交换次数

    1703. 得到连续 K 个 1 的最少相邻交换次数 class Solution { public int minMoves(int[] nums, int k) { List<Integer ...

  8. win自带的远程桌面内网也能用简直太香了,mstsc配置方法以及解决由于没有远程桌面授权服务器可以提供许可证

    以前都是用mstsc命令远程连接控制有公网ip的服务器,最近内网设置了下也能用简直太香了,终于不用担心某desk限时长限次数了: 配置方法: 右键 计算机 选择属性,点击远程设置,在远程协助框中勾选 ...

  9. Hadoop和Spark大数据挖掘与实战

    1.概述 本节将系统讲解大数据分析的完整流程,包括数据采集.预处理.存储管理.分析挖掘与结果可视化等核心环节.与此同时,我们还将对主流数据分析工具进行横向对比,帮助读者根据实际需求选用最合适的工具,提 ...

  10. Spring基于注解的事务管理

    Spring基于注解的事务管理 源码 代码测试 pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...