Nginx
文章目录
一、选择哪个版本的Nginx
开源版:http:/nginx.org/
商业版:https:/www.nginx.com/
淘宝版:https:/tengine.taobao.org/
开源版OpenResty:https:/openresty.org/
商业版OpenResty:https:/openresty.com.cn/
一般情况下,使用开源版的就可以。
二、编译Nginx
2.1 下载,解压
下载:
wget http:/nginx.org/download/nginx-1.18.0.tar.gz
解压压缩包:
tar -zxvf nginx-1.18.0.tar.gz
2.2 目录分析
-
auto目录cc子目录,编译用的;os子目录,对操作系统的判断; -
CHANGES 文件
该版本中的变化
-
configure 文件
用于生成中间文件,编译前的必备动作。
-
man
是一个帮助文件
-
src
ngix 的源代码
2.3 查看nginx支持哪些参数
./configure --help | more
第一类参数:Nginx在执行中会去找哪些辅助的文件;
第二类参数:确定使用哪些模块,和不使用哪些模块
前缀通常是with和without
第三类参数:指定nginx编译过程中,使用的特殊参数;
2.4 编译nginx
./configure --prefix=/Users/dev/servers/nginx
macbook 下需要先:
brew install pcre
编译成功后,所有nginx的编译特性,以及nginx的运行时的目录都会列到下方
nginx path prefix: "/Users/dev/servers/nginx"
nginx binary file: "/Users/dev/servers/nginx/sbin/nginx"
nginx modules path: "/Users/dev/servers/nginx/modules"
nginx configuration prefix: "/Users/dev/servers/nginx/conf"
nginx configuration file: "/Users/dev/servers/nginx/conf/nginx.conf"
nginx pid file: "/Users/dev/servers/nginx/logs/nginx.pid"
nginx error log file: "/Users/dev/servers/nginx/logs/error.log"
nginx http access log file: "/Users//dev/servers/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
编译完成之后,会生成中间文件,放到objs文件夹下:
该文件夹下的ngx_modules.c 决定了编译的时候哪些模块会被编译进nginx
2.5 执行make编译
make
编译成功后,生成大量的中间文件,及运行时的二进制文件。
C语言编译生成的所有中间文件,都会放到src目录。
2.6 首次安装,执行make intall
安装完成之后,去--prefix 参数执行的目录下,可以看到:一些目录
其中nginx的二进制文件就在sbin目录下,决定nginx功能的在conf目录下
三、nginx的配置语法
-
配置是由指令和指令块构成;
指令可以有名字,也可以没有名字
-
每条指令是以
;分号结尾,指令与参数间以空格符号分割; -
指令块以
{}将多条指令组织在一起; -
include语句允许组合多个配置文件以提升可维护性;
-
使用
#符号添加注释,提高可读性; -
使用
$符号使用变量; -
部分指令的参数是支持正则表达式的;
-
配置参数的时间单位:
ms:millisecondss:secondsm:minutesh:hoursd:daysw:weeksM:months,30daysy:years,365days -
配置参数——空间的单位
默认为
bytes;k/Kkilobytes;m/Mmegabytes;g/Ggigabytes -
http的配置指令块
-
http
-
server
对应一个或一组域名
-
upstream
标示上游服务。当需要与tomcat、企业内网等通信时,定义upstream
-
location
一个url表达式
-
本文详细介绍了Nginx的版本选择、编译流程及配置语法。从下载源码到编译安装,再到理解配置文件的结构与语法,为读者提供了全面的Nginx入门指南。
1861

被折叠的 条评论
为什么被折叠?



