# Linux 中编译安装和配置 Nginx
注意:本示例在 Centos 6.5 、Centos 7.3 中运行。
# 下载安装包并解压
# 进入约定的安装包目录
cd /约定目录/src/
# 下载nginx安装文件,这里以 nginx-1.11.1 为例,其他的nginx包可以去官网查找
wget http://nginx.org/download/nginx-1.11.1.tar.gz
# 把安装包解压,会自动解压到 /约定目/src/nginx-1.11.1/ 文件夹里
tar xzf nginx-1.11.1.tar.gz
# nginx的配置文件
其实完全可以使用 Nginx 的默认配置文件,默认配置文件编译后的地址在 程序目录/conf/nginx.conf
,但如果你会频繁的更新 Nginx 版本的话配置文件最后"分离",类似前后端分离一样,这样可以少"吵架"(解耦合),我们单独的把 Nginx 的所有配置,包括所有站点的配置、SSL 证书都放在 /约定目录/nginx-conf/
目录里,如:
/约定目录/nginx-conf/
# nginx配置文件
./nginx.conf
# nginx的其他配置
./mime.types
# 站点配置
./conf/
# 各个子站点目录
./www.xxoo.com.conf
./www.a.com.conf
...
/约定目录/nginx-conf/conf/
目录里存放以网站为单位的配置文件,文件名以网站域名命名,这样可以配置分离,互不影响,而且好定位问题。
# 配置nginx安装参数
# 创建对应版本的程序目录,这个目录用来存放编译后的文件
mkdir -p /约定目录/local/nginx-1.11.1/
# 进入安装包解压后的目录
cd /约定目录/src/nginx-1.11.1/
# 开始配置
./configure --prefix=/home/local/nginx-1.11.1 --conf-path=/home/local/nginx-conf/vhost/nginx.conf --with-http_ssl_module --with-http_realip_module --with-http_dav_module --with-http_gzip_static_module --with-http_v2_module
其他的安装编译配置可点击:Nginx 编译参数
# 编译nginx
# 开始编译并安装,可能需要sudo权限
make
[sudo] make install
# 验证是否安装成功
# 进入nginx执行目录
cd /约定目录/local/nginx-1.11.1/sbin/
运行 ./nginx -v
查看版本,结果如:
nginx version: nginx/1.11.1
如果你有开启 http_ssl_module
,可运行:./nginx -V
查看是否支持,结果如:
nginx version: nginx/1.11.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
...
# 重新编译安装
是指已经安装成功, 但想对 Nginx 添加个模块或者修改配置时需要重新编译。
# 1. 下载对应版本 (如果不想更新版本可以忽略)
可以使用 nginx -V
查看当前程序的编译参数
# 下载
wget http://nginx.org/download/nginx-1.11.13.tar.gz
# 解压
tar xzf nginx-1.11.13.tar.gz
# 2. 重新编译
# 配置
./configure --prefix=xxx 你的新参数
# 编译
[sudo] make
这时侯切记不要make install, 因为make install就会把文件复制到安装目录
# 3. 复制程序
# 新复制老版本, 以防出错
cp /path/nginx /path/nginx.back
# 停止服务
/path/nginx -s stop
# 复制新版本到安装目录
cp objs/nginx /path/nginx
# 查看新版本
/path/nginx -t
# 启动新版本
/path/nginx
注意:如果在运行中直接覆盖 Nginx 会报: cp: 无法创建普通文件"nginx": 文本文件忙
。
← Nginx 目录建议 Nginx 编译参数 →