一:安装
Nginx可以做什么就不再赘述,给大家推荐的安装方式肯定是通过源码编译安装。接下来将会详细讲解安装过程
1.1 源码下载
官网地址进去后会有如下三个分支:
- Mainline:研发版本,不稳定的新特性都会在里面不推荐生产使用(版本号都是奇数)
- Stable:现有稳定最新版本,一般都会使用这个(版本号都是偶数,如1.16、1.18)
- Legacy:历史版本
1.2 文件目录
序号 | 目录/文件名称 | 作用 |
---|---|---|
1 | auto | 编译时自动去适配一些系统内容,不用管 |
2 | CHANGES/CHANGES.ru | 版本变更信息文件/俄罗斯文说明 |
3 | conf | 也是一些配置,安装阶段不用关心 |
4 | configure | 编译执行脚本,可以设置Nginx一些安装参数,如安装位置/模块增减等 |
5 | man | 把里面的nginx文件拷贝到用户目录的.vim下,这样后续配置nginx.conf目录会有高亮提示 |
6 | src | nginx源码目录 |
1.3 nginx配置
执行./configure --help
查看可以添加的配置,主要关注配置如下:
序号 | 配置项 | 作用 |
---|---|---|
1 | –prefix | 指定nginx安装目录位置 |
2 | –with开头 | 表示增加一些nginx模块 |
3 | –without开头 | 表示祛除一些nginx默认的模块 |
比如需要将nginx安装到/home/nginx下执行命令:./configure --prefix=/home/nginx
完成配置。这时候查看目录会发现多了一个objs的目录,里面的nginx脚本文件就是很重要的东西
1.4 源码编译安装
- 编译:安装unix系统源码编译安装的习惯来讲接着执行
make
即可 - 安装:如果是首次安装直接执行
make install
后去前面配置的安装目录即可看结果,如果是热部署进行版本升级这里一定不能直接执行这个命令
1.5 安装异常
因为nginx需要依赖一些其它的模块,安装过程中可能会有依赖的异常,解决方案就是缺什么依赖安装即可。依赖如下所示:
yum install gcc-c++
yum install pcre-devel
yum install zlib-devel
二:常用命令
如果想在任何位置执行nginx命令不用通过./sbin/nginx脚本执行的话需要在/etc/profile
中增加以下内容后执行source /etc/profile
即可
PATH=$PATH:/home/nginx/sbin
export PATH
序号 | 命令 | 作用 |
---|---|---|
1 | nginx -c 配置文件位置 | 默认读取nginx安装目录下conf/nginx.conf文件吗,启动Nginx项目 |
2 | nginx -v | 查看nginx版本信息 |
3 | ngixn -V | 除了版本还有./configure时的参数信息输出 |
4 | nginx -t | 检查nginx.conf文件正确性 |
5 | nginx -T | 输出完整nginx.conf文件内容 |
6 | nginx -s reload | 重新加载配置文件生效 |
7 | nginx -s stop/quit | stop粗鲁直接关闭、quit优雅处理完所有请求后关闭 |
三:全局变量
nginx中有许多比较常用的全局变量,下表根据自己学习总结
序号 | 变量名 | 变量值 |
---|---|---|
1 | $arg_name | 请求http://zsl.com?age=23配置参数$arg_age值为23 |
2 | $cookie_name | 请求中名称为name的cookie值 |
3 | $http_name | 请求头中名称为name的值,如$http_user_agent表示User-Agent字段 |
4 | $args | 请求http://zsl.com?age=23&name=zsl配置参数$args值为age=23&name=zsl |
5 | $uri | 请求http://zsl.com/name/age?name=zsl的$uri值为/name/age |
6 | $request_uri | 请求http://zsl.com/name/age?name=zsl的$uri值为/name/age?name=zsl |
7 | $request_method | 请求方法,GET、POST、DELETE、UPDATE等 |
8 | $scheme | 请求协议HTTP、HTTPS |
9 | $remote_addr | 客户端公网IP |
10 | $remote_port | 客户端端口 |
11 | $server_addr | 服务端公网IP |
12 | $server_port | 服务端端口 |