小猪站长干货:Nginx从入门到上线
发表于 2019-07-29 21:57
因为微信小程序使用Https,所以它不能修改现有线上的配置。最简单的方法是使用nginx转发,在nginx上使用https,然后转发到内部服务器。Nginx由于其出色的性能。一个4核16GB内存可以完全支持每天数百万个pv级访问。
基础知识
由于epoll模型,Nginx要求linux内核高于2.6。要理解epoll模型,请阅读本文:IO多路复用和选择、poll和epoll。
使用 uname -a 查看Linux 内核版本,如下是Centos 6.5的显示:
下载
Nginx 的官网的下载地址:http://nginx.org/en/download.html。
Nginx官网提供了三个类型的版本:
Mainline version:Mainline Nginx目前正在开发的版本。可以说是开发版。
Stable version:最新的稳定版本,生产环境上推荐的版本
Legacy versions:遗留版本的稳定版本
编译与安装
nginx依赖以下模块:
gzip模块需要 zlib 库 及其开发环境
rewrite模块需要 pcre 库及开发环境
ssl 功能需要openssl库及开发环境以及 yum install -y gcc-c++ 环境。
以gzip模块为例,检查是否安装了以下模块:
如果没有安装,那么就 yum install zlib zlib-devel。
Make用于编译,它从Makefile中读取指令,然后编译。Make install用于安装,它还从Makefile读取指令并将它们安装到指定的位置。
最简单的编译安装 Nginx
tar zxvf nginx-1.10.2.tar.gz
解压以后进入到
./configure 是用来检查本机的的安装环境。在configure阶段结束以后,将会出现如下信息:
可以看到默认的安装目录以及一些基本的配置。
启动
Nginx默认使用端口80。在直接启动nginx之前,检查端口80是否被占用。使用fuser -n tcp 80或netstat -pan | grep:80检查端口80是否被占用。这假设它没有被占用,然后输入/usr/local/nginx(上面提到的默认安装目录)目录:
访问:http://ip:80/就可以看到nginx的欢迎页面。
nginx配置
在/usr/local/nginx/conf(默认配置)中,有一个nginx.conf文件。nginx.conf的代码如下:
删除不必要的文件,基本文件类型如下:
注意到顶部日志配置了吗?顶部的配置集全局生效。但是子模块可以覆盖它。顶日志配置:
假设开发人员更改nginx.conf配置并测试nginx.conf是否合法:
nginx配置文件架构的图
以下是详细的配置:http://www.cszhi.com/20120513/nginx_nginx- con.html
###https
ssl模块需要在compile阶段编译:./configure——with-http_ssl_module
限流
http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
注意在Http中配置以后需要在server中引入。
burst一秒钟内可访问的数据量。burst等价于授权令牌,每秒钟查询一次,当前burst1-1,查询结束,突发burst+1
可以看到,基本上是1秒返回一次了。
实例配置
评论 (0人参与)
最新评论