安装nginx,并了解nginx基本的配置语法

本文详细介绍了Nginx的版本选择、编译流程及配置语法。从下载源码到编译安装,再到理解配置文件的结构与语法,为读者提供了全面的Nginx入门指南。

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:milliseconds

    s:seconds

    m:minutes

    h:hours

    d:days

    w:weeks

    M:months,30days

    y:years,365days

  • 配置参数——空间的单位

    默认为bytesk/K kilobytes;m/M megabytes;g/G gigabytes

  • http的配置指令块

    • http

    • server

      对应一个或一组域名

    • upstream

      标示上游服务。当需要与tomcat、企业内网等通信时,定义upstream

    • location

      一个url表达式

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值