当前位置: 首页 > 科技观察

十分钟学会技术系列-Nginx从入门到上线

时间:2023-03-13 20:34:50 科技观察

前言由于微信小程序使用了Https,但是现有的上线配置无法修改。所以最简单的方法就是使用nginx转发,在nginx上使用https,然后转发到内部服务器。Nginx由于其出色的性能。4核16GB内存,完全可以支撑百万PV级的日常访问。基础知识由于Nginx采用epoll模型,因此要求Linux内核必须在2.6以上。了解epoll模型可以看知乎上这篇文章:IO多路复用与select、poll、epoll的关系。使用uname-a查看Linux内核版本,以下是Centos6.5的显示:下载Nginx官网下载地址:http://nginx.org/en/download.html。Nginx官网提供了三种版本:Mainline版本:Mainline是Nginx目前正在做的版本,可以说是开发版本。稳定版:***稳定版,生产环境推荐使用的版本。编译安装稳定版nginx依赖于以下模块:gzip模块需要zlib库及其开发环境。重写模块需要pcre库及其开发环境。ssl功能需要openssl库及其开发环境和yuminstall-ygcc-c++环境。以gzip模块为例,查看是否安装了以下模块:如果没有,则yuminstallzlibzlib-devel。make是用来编译的,它从Makefile中读取指令,然后编译。makeinstall用于安装,它也会从Makefile中读取指令并安装到指定位置。最简单的Nginxtar编译安装方法zxvfnginx-1.10.2.tar.gz解压后进入./configure查看本机安装环境。配置阶段结束后,会出现如下信息:可以看到默认的安装目录和一些基本的配置。默认端口80用于启动nginx。直接启动nginx前先检查一下80端口是否被占用。使用fuser-ntcp80或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-conf.html###https在编译阶段需要和ssl模块一起编译:./configure--with-http_ssl_modulecurrentlimithttp://nginx.org/en/docs/http/ngx_http_limit_req_module.html注意在Http中配置好后,需要在server中配置。一秒内burst访问的数据量。burst相当于一个authorizationtoken,每秒每查询一次,当前burst-1,查询结束,burst+1;如果burst为0,则无法访问。如您所见,它基本上每秒返回一次。实例配置