通过配置 Nginx 配置文件,实现正向代理、反向代理、负载均衡、Nginx 缓存、动静分离和高可用 Nginx 6种功能
Nginx高可用通过在两台服务器安装keepalived,配置、检测状态(监控脚本),Nginx提供一个虚拟ip给客户端访问
Nginx 特点如下:
反向代理,负载均衡器
高可靠性、单 Master 多 Worker 模式
高可扩展性、高度模块化
非阻塞
事件驱动
低内存消耗
热部署
Master-Worker工作模式
Master进程负责管理,读取并验证配置文件nginx.conf
Worker进程独立工作,维护一个线程
Nginx热部署
nginx -s reload重新加载
nginx -t 检查配置
nginx -s stop 停止
sudo service nginx start 启动nginx
sudo service nginx status 查看nginx状态
nginx -V 2>&1 |sed 's/ /\n/g' 查看nginx版本和配置文件
/etc/nginx/nginx.conf配置文件路径 |grep -vE "#|^$" 去掉注释和空白行
为了方便维护我们 server 相关配置,不会让某一个配置文件过于庞大。通常是将所有的虚拟主机配置文件(也就是 server 配置块的内容)存放在 /etc/nginx/conf.d/ 或者 /etc/nginx/sites-enabled/ 目录中,在主配置文件中已经默认声明了会读取这两个文件夹下所有 *.conf 文件。
location配置模块用户匹配请求的URI
https://www.baidu.com/liuwen/nginx
https://是协议
www.baidu.com是域名
/liuwen/mginx是URI
location 匹配方式
=:用于精准匹配,想请求的 URI 与 pattern 表达式完全匹配的时候才会执行 location 中的操作
~:用于区分大小写的正则匹配;
~*:用于不区分大小写的正则匹配;
^~:用于匹配 URI 的前半部分;
配置文件内容
server 监听端口 服务
root web文件路径
index html文件
location 匹配 动作
主流Web架构
LAMP Linux+Apache+Mysql+PHP
LNMP Linux+Nginx+Mysql+PHP