nginx入门

能干嘛?

反向代理、静态Web服务器(动静分离场景)、http/tcp负载均衡、伪静态

nginx安装

//TODO,与keeplived结合做高可用,扩展组件安装

nginx常用命令(linux)

--启动

./nginx

--查看版本信息

./nginx -V

[root@dzzw-app-38 nginx]# ./nginx -V 
nginx version: nginx/1.6.0 built by gcc 4.1.2 20080704 (Red Hat 4.1.2-44) TLS SNI support enabled configure arguments: --sbin-path=/hnisi/local/nginx/nginx --conf-path=/hnisi/local/nginx/nginx.conf --pid-path=/hnisi/local/nginx/nginx.pid --with-pcre=/hnisi/install_source/pcre-8.21 --with-openssl=/hnisi/install_source/openssl-1.0.0a --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module

--重启,秒开秒关

./nginx -s reload

--nginx会产生多个进程,所以要同时杀死,用以下命令

pkill -9 nginx

nginx应用实例(我的历史项目)

1.反向代理

网厅项目,用rewrite指令

2.动静分离

网厅项目,办事指南重定向

3.负载均衡

随机算法,保持会话粘连

nginx+lua

理论上可以使用ngx_lua开发各种复杂的web应用,不过Lua是一种脚本/动态语言,不适合业务逻辑比较重的场景,适合小巧的应用场景,代码行数保持在几十行到几千行。目前见到的一些应用场景: web应用:会进行一些业务逻辑处理,甚至进行耗CPU的模板渲染,一般流程:mysql/redis/http获取数据、业务处理、产生JSON/XML/模板渲染内容,比如京东的列表页/商品详情页; 接入网关:实现如数据校验前置、缓存前置、数据过滤、API请求聚合、AB测试、灰度发布、降级、监控等功能,比如京东的交易大Nginx节点、无线部门正在开发的无线网关、单品页统一服务、实时价格、动态服务; Web防火墙:可以进行IP/URL/UserAgent/Referer黑名单、限流等功能; 缓存服务器:可以对响应内容进行缓存,减少到后端的请求,从而提升性能; 其他:如静态资源服务器、消息推送服务、缩略图裁剪等。

原文地址:https://www.cnblogs.com/liluredhat/p/6723795.html