1、到 官网 下载 Nginx 包,我这边下载 nginx-1.16.1
版本并上传到 Linux 系统;
2、安装依赖环境:
- 安装 gcc 环境:
yum install gcc-c++
- 安装PCRE库,用于解析正则表达式:
yum install -y pcre pcre-devel
- zlib压缩和解压缩依赖:
yum install -y zlib zlib-devel
- SSL安全的加密的套接字协议层,用于HTTP安全协议传输,也就是https
yum install -y openssl openssl-devel
3、解压缩 Nginx 包:
tar -zxvf nginx-1.16.1.tar.gz
4、编译之前需要创建 Nginx 临时目录,否则在启动的时候会报错:
mkdir /var/temp/ngnix -p
5、在解压缩的文件目录下,执行以下命令,为安装 Nginx 做配置,配置成功后会生成一个 Makefile
文件用以后续安装:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_ssl_module
命令 | 解析 |
---|---|
--prefix | 指定Nignx安装目录 |
--pid-path | 指向Nignx的pid |
--lock-path | 锁定安装文件,防止被恶意篡改及误操作 |
--error-log-path | 错误日志 |
--http-log-path | http 日志 |
--with-http_gzip_static_module | 启动gzip模块,在线实时压缩数据输出流 |
--http-client-body-temp-path | 设定客户端请求的临时目录 |
--http-proxy-temp-path | 设计 http 代理临时目录 |
--http-fastcgi-temp-path | 设计 fastcgi 代理临时目录 |
--http-uwsgi-temp-path | 设计 uwsgi 代理临时目录 |
--http-scgi-temp-path | 设计 scgi 代理临时目录 |
6、在解压缩的命令下,make
编译
make
7、安装
make install
8、进入 /usr/local/nginx/sbin
,启动 Nginx
./nginx
- 立即停止:
./nginx -s stop
- 等待所有http通信都断开后才停止:
./nginx -s quit
- 检查配置文件语法是否有误:
./nginx -t
- 重新指向主配置文件:
./nginx -c filename
- 重新加载:
./nginx -s reload
- 查看Nginx配置信息:
./nginx -V
注意打开相应的防火墙;
nginx 会莫名其妙报错说找不到nginx.pid
,此时只需创建显示找不到nginx.pid
的目录就行了;
同时,nginx 还可能会报错如:[error] invalid PID number "" in "/usr/local/nginx/nginx.pid"
,此时需要重新定义一下 nginx 的主配置文件,如nginx -c /usr/local/nginx/conf/nginx.conf
Nginx 添加新模块
Nginx 在安装完成之后需要添加新的模块,就需要回到 Nginx 的源文件目录(即解压缩的文件目录),重新的使用 configure
命令(注意要带上之前配置),然后输入 make
重新编译,最后把编译好的文件(./objs/nginx
)替代掉当前安装好的 nginx
文件(/usr/local/nginx/sbin/nginx
)即可。
输入 ./nginx -V
查看最新的配置信息。