nginx必会知识点
以下内容输出来源:拉勾教育-Java高薪训练营
nginx必知必会
一、介绍
nginx是一个轻量级http服务器和反向代理服务器,它通过优化web服务器软件来支持大规模客户端连接的并发处理,基于C语言编写,大量采用多路复用,事件通知,所以效率非常之高。
Nginx的第一个版本发布之后,一般被用来同Apache/Tomcat一同部署,html/css/jss和图片等静态内容由nginx处理,来降低Apache应用服务器的并发和延时。
1、nginx的三个主要应用场景
- 静态资源服务(通过本地文件系统提供服务)
- 反向代理服务(缓存+负载均衡)
- API服务(OpenResty+Lua)
2、主要优点
随着并发连接数的上升,tomcat/apache等服务器的rts会急剧的衰减,而nginx可以保证如下特点:
- 高并发高性能
- 可扩展性好
- 高可靠性(持续数年不宕机)
- 热部署(在不停用的基础上升级nginx)
3、nginx4大模块
- nginx二进制文件
- nginx.conf(控制nginx的行为)
- access.log(记录每一条http请求信息)
- error.log(定位问题)
二、下载安装
1、下载安装包
www.nginx.org/download
wget http://nginx.org/download/nginx-1.18.0.tar.gz
2、使用nginx的必备软件
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
3、执行命令安装
./configure
make && make install
默认安装在/usr/local/nginx下,如果想指定安装目录, 可以通过来指定
./configure --prefix=your_target_path
4、此时已安装完成,默认目录/usr/local/nginx
启动脚本在sbin目录下
./nginx //启动服务
./nginx -s quit //优雅停止服务
./nginx -s stop|reload|quit| //常用命令,-s是指signal
5、访问测试 curl localhost:80
6、高亮命令
contrib文件夹包含vim命令,打开conf/nginx.conf文件,可以看到有些命令默认黑色,执行以下命令可以高亮关键字
cp -r contrib/vim/* /usr/share/vim/vimfiles/
三、nginx核心配置文件解读
nginx.conf包括三块内容:全局块、events块、http块
1)全局块从配置文件开始到events之间的内容,配置worker进程的数量、错误日志的位置等,影响nginx服务器整体的运行;
2)events块主要影响nginx服务器与用户的网络连接,如work_connnections(单个worker进程的最大并发连接数)
3)http块,是配置修改最频繁的部分,包括虚拟主机的配置、监听端口的配置,请求转发、反向代理、负载均衡等,都在这里。
四、Nginx配置语法
- 配置文件由指令和指令快组成
- 每条指令以;结尾,指令与参数间用空格分隔
- include语句允许组合多个配置文件,以提升可维护性
- #添加注释
- $表示变量
1、时间单位
ms | 毫秒 | s | 秒 |
---|---|---|---|
m | 分钟 | h | 小时 |
d | 天 | w | 周 |
M | 月 | y | 年 |
2、空间单位
空 | bytes | k/K | 千字节 |
---|---|---|---|
m/M | g/G |
3、常用http配置的指令快
- upstream
- http
- server
- location
- alias
- autoindex
- proxy_pass
- proxy_cache 缓存
五、location路径配置
1、规则
//在nginx配置文件中,location主要有这几种形式:
1)正则匹配 location ~ /api { }
2)不区分大小写的正则匹配 location ~* /api { }
3)匹配路径的前缀 location ^~ /api { } //较为常用
4)精确匹配 location = /api { }
5)普通路径前缀匹配 location /api { }
//以上优先级
4 > 3 > 2 > 1 > 5
2、静态资源web服务示例
location / {
#root与alias,更推荐使用后者
alias staticData;
#查看静态资源目录
autoindex on;
}
本文地址:https://blog.csdn.net/chang_li/article/details/109644395
推荐阅读
-
nginx学习笔记
-
php入门学习知识点七 PHP函数的基本应用_PHP教程
-
ubuntu编译安装php5 mysql nginx_MySQL
-
Centos 6.5 搭建php环境(nginx+mariadb+php7),centosnginx
-
lnmp一键安装环境中nginx开启pathinfo,lnmpnginx_PHP教程
-
网站安全配置Nginx防止网站被攻击(包括使用了CDN加速之后的配置方法)
-
svn使用钩子文件将文件更新到web目录,提示'Skipped /var/www/nginx/html'
-
令PHP初学者的困惑的10个知识点(1)
-
nginx 404页面处理以及pathInfo和隐藏index.php总述
-
nginx url自动加斜杠及301重定向的问题