本文更新于2020-07-03,使用nginx 1.16。
安装
各系统的安装包可于官网http://nginx.org/en/download.html下载。
Windows下安装
从http://nginx.org/download/nginx-1.16.1.zip下载安装包,并解压,解压目录即为安装目录。
Linux下安装
-
安装依赖库(按需选择版本),用于编译时指定依赖库的源代码目录:
-
CentOS(7.5)下安装依赖库:
yum install pcre-devel yum install zlib-devel yum install openssl-devel
-
Debian(8.9)下安装依赖库(CentOS下也可使用):
cd /usr/local/src wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz wget http://www.zlib.net/zlib-1.2.11.tar.gz wget https://www.openssl.org/source/openssl-1.1.1f.tar.gz tar -xvz -f pcre-8.44.tar.gz tar -xvz -f zlib-1.2.11.tar.gz tar -xvz -f openssl-1.1.1f.tar.gz
可删除.tar.gz文件。
-
-
创建用户:
groupadd nginxd useradd -g nginxd nginxd
-
创建安装目录:
cd /usr/local mkdir nginx chown nginxd:nginxd nginx
-
安装nginx:
-
CentOS下安装:
wget http://nginx.org/download/nginx-1.16.1.tar.gz tar -xvz -f nginx-1.16.1.tar.gz cd nginx-1.16.1 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre make make install
-
Debian下安装(CentOS下也可使用):
wget http://nginx.org/download/nginx-1.16.1.tar.gz tar -xvz -f nginx-1.16.1.tar.gz cd nginx-1.16.1 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.1.1f --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.44 make make install
./configure
参数含义如下:- --prefix:安装目录。
- --with-http_ssl_module:SSL模块,用于支持SSL,需要安装依赖。
- --with-http_stub_status_module:监控模块,用于监控nginx状态。
- --with-pcre:PCRE模块,用于支持正则表达式,需要安装依赖。
- --with-zlib:ZLIB模块,用于支持压缩算法,需安装依赖。
注意
make install
会覆盖此前安装的所有文件,包括配置文件。 -
-
权限配置
chown -R nginxd:nginxd /usr/local/nginx vi /usr/local/nginx/nginx.conf
修改/usr/local/nginx/nginx.conf的user为nginxd。
运行
需先进入安装目录。
运行nginx时不使用参数,会启动nginx服务,包含主进程和工作进程两个nginx进程。
运行nginx时也可使用以下参数:
- -?, -h:查看帮助。
- -c filename:设置配置文件名(默认为conf/nginx.conf)。
- -g directives:设置配置文件之外的全局指令。
- -p prefix:设置路径前缀(默认无)。
- -q:检查配置期间禁止打印非错误消息。
- -s signal:发送信号至主进程,signal可为:
- stop:强制停止服务。
- quit:优雅退出服务。
- reopen:打开新的日志文件。
- reload:重新加载配置文件,服务不会中止。
- -t:检查配置后退出。
- -T:检查配置,转储后退出。
- -v:打印版本后退出。
- -V:打印版本和配置参数后退出。
配置
大写字母需使用实际的配置值。
字段名 | 说明 | 备注 |
---|---|---|
http {} | HTTP | |
http.server {} | HTTP服务 | 可指定多个 |
http.server.listen PORT | 监听的端口 | |
http.server.server_name HOST | 分发的域名,Host首部匹配该值时分发 | |
http.server.location PATH {} | 反向代理,URL路径前缀匹配该值时分发 | |
http.server.location.proxy_pass SCHEME://HOST:PORT | 反向代理转向的服务 | |
http.server_names_hash_bucket_size N | 出现类似“nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32”的错误时,加大该值 | |
user USER | 运行工作进程的系统用户 |