Nginx编译安装
Posted WebArtisan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx编译安装相关的知识,希望对你有一定的参考价值。
编译安装
nginx编译还是非常简单的,首先保证机器具备编译环境安装好了gcc
,make
,automake
等工具。CentOS可以用如下命令,一键安装。
yum group install "Development Tools"
然后安装相关依赖库,这点要夸夸nginx了,读文档提到nginx源码里面几乎已经包含了相关依赖代码,数据结构大部分自己实现不依赖系统C库,所以依赖非常少。但是还是依赖zlib、pcre、openssl开发库,文档里面说因为license原因不能放到源码包中,所要自己装。
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
然后是编译安装,configure阶段主要有三个参数:--prefix
指定安装目录,这个目录之后也会是服务放置配置等文件的前缀目录、--with-<module-name>
指定编译添加模块、--without-<module-name
指定不编译模块。
nginx的模块是提前编译进去的,所以如果需要或者不需要某模块都要在编译阶段指定好,官方默认配置模块已经覆盖大部分场景了,显示的--with
和--without
也很友好。
新版本nginx在逐渐支持动态链接库,所以以后添加模块也许不需要重新编译了。
# 进入源码目录
./configure --prefix=/tmp/nginx \
--with-http_ssl_module \
--with-http_v2_module
make && make install
tree -d /tmp/nginx
├── conf
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── html
│ ├── 50x.html
│ └── index.html
├── logs
└── sbin
└── nginx
命令参数
nginx version: nginx/1.20.1
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
[-e filename] [-c filename] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /tmp/nginx/)
-e filename : set error log file (default: logs/error.log)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file
常用参数:
-
-v
显示版本 -
-V
显示版本和编译时参数,需要查已经支持的module可以用这个参数 -
-t
-T
测试配置文件可用 -
-p
这个参数需要留意,设置工作目录前缀,配置文件里面写没有/
的相对路径,会从这个目录开始如logs/error.log
,这个参数的默认参数和我们编译时的--prefix
一致 -
-c
指定配置文件,如果仅指定文件名如-c nginx.conf
,那么需要的路径就是从-p
参数开始 -
-s
发送信号,操作服务,stop停止服务,reopen重新打开日志,reload重新加载配置。
启动服务
编译安装好后使用默认配置文件启动
sudo /tmp/nginx/sbin/nginx -c conf/nginx.conf
测试
curl http://127.0.0.1
停止
sudo /tmp/nginx/sbin/nginx -c conf/nginx.conf -s stop
以上是关于Nginx编译安装的主要内容,如果未能解决你的问题,请参考以下文章