部署 --- Nginx
Posted tmmm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署 --- Nginx相关的知识,希望对你有一定的参考价值。
-
- 路由处理功能,动态资源处理
-
- 如果是在debug模式的话,提供了静态资源处理功能
-
-
Apache
-
Nginx
-
HTTP服务器:直接处理静态资源
-
反向代理:uWSGI(HTTP服务器)、gunicorn(HTTP服务器)
-
邮件服务器
-
-
-
Nginx简介:
Nginx是由伊戈尔.塞索耶夫开发的,于2004年10月4日公开源码,以类BSD许可证形式发布,因它的稳定性,丰富的功能,示例配置文件和低系统资源的消耗而闻名。
Nginx是一款高性能的HTTP和反向代理服务器,一个IMAP/POP3/SMTP服务器,也是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,
- 特点:占用内存少,并发能力强,在同类型的网页服务器中表现优秀。反向代理、负载均衡。默认单台连接数5万
- 官网:http://nginx.org/
- 中文:http://www.nginx.cn/doc/index.html、http://tengine.taobao.org/book/
- 优点
- 作为We服务器:相比Apache,Nginx使用资源更少,支持更多的并发连接,体现更高的效率,使Nginx倍受欢迎,能够支持高达50000个并发连接数的响应
- 作为负载均衡服务器:Nginx既可以在内部直接支持Redis和php,也可以支持作为HTTP代理服务器对外进行服务,
- Nginx使用C编写,不论是系统资源开销还是CPU使用效率都处理的非常优秀
- Nginx安装非常简单,配置文件非常简洁,Bug非常少:Nginx启动非常容易,并且几乎可以做到7 * 24小时不间断运行,即使运行数个月也不需要重新启动
Ngins安装:Nginx安装主要有两种方式。Ubuntu环境下
- 源码安装
- 下载源码压缩包
- 安装源码编译依赖包 gcc,zlib,make...
- 配置编译模块
- make && make test
- make install
- 包管理工具安装
- 去官网将所使用依赖添加到包管理工具中
- 更新包管理工具资源
- 安装步骤:http://www.nginx.cn/doc/index.html参考
- 下载公钥:
- mkdir pgp_key
- wget http://nginx.org/keys/nginx_signing.key
- 添加元信息
- sudo vim /etc/apt/sources.list 中末行添加如下两行信息
- deb http://nginx.org/packages/ubuntu/ xenial nginx # (xenial对应系统版本号)
- deb-src http://nginx.org/packages/ubuntu/ xenial nginx
- 更新缓存
- sudo apt update
- 添加钥匙信息
- sudo apt-key add nginx_signing_key
- 安装nginx
- sudo apt install nginx
- 下载公钥:
控制Nginx:
- 启动nginx:
- sudo nginx
- nginx启动后,会有两个进程:master process(主进程) 和 worker process(工作从进程)
- 杀死从进程后,主进程会自动分配一个新的从进程。
- 杀死主进程后,如果从进程没有工作任务,会和主进程一起杀死
- 查看nginx信息:
- ps -ef | grep nginx (查看nginx进程状态)
- nginx -v (显示nginx的版本信息)
- nginx -V (显示nginx构建过程中的所有参数配置)
- 控制nginx:nginx -s signal
- sudo nginx -s stop:快速关闭
- sudo nginx -s quit:优雅关闭[推荐使用]
- sudo nginx -s reload:重新加载配置
- 通过系统命令控制nginx
- systemctl status nginx:查看nginx状态
- systemctl start nginx:启动nginx服务
- systemctl stop nginx:关闭nginx服务
- systemctl enable nginx:设置开机自启
- systemctl disable nginx:禁止开机自启
- 不建议使用,nginx会加载配置文件,这种方式不能控制配置文件,容易出现未知错误
Nginx配置文件
Nginx配置文件包含指定指令控制的模块。指令分为简单指令和块指令。
一个简单指令由名称和参数组成,以空格分隔,并以分号结尾
一个块指令和简单指令具有相同的结构,但不是以分号结束,而是以一个大括号包围的一堆附 加指令结束。
如果一个大括号内可以有其他的指令,它就被称为一个上下文,比如(events,http,server,location)
- 指令
- nginx -t:不运行,仅测试配置文件
- nginx -c configpath 从指定路径加载配置文件
- nginx -t -c configpath 测试指定配置文件
以上是关于部署 --- Nginx的主要内容,如果未能解决你的问题,请参考以下文章