Nginx安装
编辑Nginx安装
准备
- 服务器: 152.136.30.196
- 安装环境:
# nginx 编译时依赖 gcc 环境
$ sudo yum -y install gcc gcc-c++
# zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
$ sudo yum -y install zlib zlib-devel
#下载并安装LuaJIT
wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar -zxvf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make && sudo make install
安装
1、下载源码包最新
2、将准备好的 nginx-1.24.0.tar.gz
包,拷贝至 /usr/local/nginx
目录下(一般习惯在此目录下进行安装)进行解压缩
3、在完成解压缩后,进入 nginx-1.24.0
目录进行源码编译安装。
4、如果前面的依赖库都安装成功后,执行 ./configure --prefix=/usr/local/nginx
命令会显示一些环境信息。如果出现错误,一般是依赖库没有安装完成,可按照错误提示信息进行所缺的依赖库安装
- tar -zxvf nginx-1.24.0.tar.gz
- cd nginx-1.24.0
- ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-openssl=/root/tools/nginx/openssl-1.1.1q --with-http_ssl_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre=/root/tools/nginx/pcre-8.42 --with-http_realip_module --add-module=/root/tools/nginx/nginx_upstream_check_module-master --add-module=/root/tools/nginx/ngx_devel_kit-0.3.0 --add-module=/root/tools/nginx/lua-nginx-module-0.10.13 --add-module=/root/tools/nginx/ngx_dynamic_upstream-master --http-client-body-temp-path=/usr/local/nginx/temp/client_body_temp --http-proxy-temp-path=/usr/local/nginx/temp/proxy_temp --http-fastcgi-temp-path=/usr/local/nginx/temp/fastcgi_temp --http-uwsgi-temp-path=/usr/local/nginx/temp/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/temp/scgi_temp --with-stream #检查平台安装环境已经需要安装那些模块
- make #编译
- sudo make install #安装
5、# --prefix=/usr/local/nginx 是 nginx 编译安装的目录(推荐),安装完后会在此目录下生成相关文件
6、模块描述
--prefix=/usr/local/nginx
--with-openssl=/root/tools/nginx/openssl-1.1.1q
--with-http_ssl_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_stub_status_module
--with-pcre=/root/tools/nginx/pcre-8.42
--with-http_realip_module
--with-ld-opt=-Wl,-rpath,/usr/local/nginx/lua/luajit/lib
--add-module=/root/tools/nginx/nginx_upstream_check_module-master
--add-module=/root/tools/nginx/ngx_devel_kit-0.3.0
--add-module=/root/tools/nginx/lua-nginx-module-0.10.13
--add-module=/root/tools/nginx/ngx_dynamic_upstream-master
--http-client-body-temp-path=/usr/local/nginx/temp/client_body_temp
--http-proxy-temp-path=/usr/local/nginx/temp/proxy_temp
--http-fastcgi-temp-path=/usr/local/nginx/temp/fastcgi_temp
--http-uwsgi-temp-path=/usr/local/nginx/temp/uwsgi_temp
--http-scgi-temp-path=/usr/local/nginx/temp/scgi_temp
--with-stream
--with-http_flv_module
--with-http_mp4_module
--with-file-aio
--with-ipv6
--with-http_v2_module
--with-http_auth_request_module
--with-http_addition_module配置启用了以下模块:
1、openssl:启用了SSL加密功能,路径指向了/root/tools/nginx/openssl-1.1.1q。
2、http_ssl_module:启用了HTTPS模块,支持SSL协议。
3、http_gunzip_module:启用了GUNZIP模块,这个模块可以在返回浏览器之前解压由gzip模块压缩的结果。
4、http_gzip_static_module:启用了GZIP静态文件压缩模块。
5、http_stub_status_module:启用了HTTP状态模块,可以获取Nginx的运行状态信息。
6、pcre:使用PCRE库来处理正则表达式,路径指向了/root/tools/nginx/pcre-8.42。
7、http_realip_module:启用了处理X-Real-IP和X-Forwarded-For头部的模块。
8、ld-opt:用于指定链接器选项,这里用来指定luajit的库路径。
9、nginx_upstream_check_module-master:添加了一个用于检查HTTP和TCP上游服务器健康状况的第三方模块。
10、ngx_devel_kit-0.3.0:添加了一个用于开发Nginx模块的开发工具包。
11、lua-nginx-module-0.10.13:添加了一个使Nginx支持Lua脚本的模块。
12、ngx_dynamic_upstream-master:添加了一个用于动态更改上游配置的模块。
13、http-client-body-temp-path:指定了客户端请求体的临时文件路径。
14、http-proxy-temp-path:指定了代理请求的临时文件路径。
15、http-fastcgi-temp-path:指定了FastCGI请求的临时文件路径。
16、http-uwsgi-temp-path:指定了uWSGI请求的临时文件路径。
17、http-scgi-temp-path:指定了SCGI请求的临时文件路径。
18、with-stream:启用了TCP/UDP代理模块。
19、http_flv_module:这个模块提供了对Flash Video (FLV)流媒体文件的支持。
20、http_mp4_module:这个模块提供了对MP4流媒体文件的支持。
21、file_aio:这个模块启用了异步I/O支持。
22、ipv6:这个模块启用了IPv6支持。
23、http_v2_module:这个模块启用了HTTP/2支持。
24、http_auth_request_module:这个模块实现了客户端授权请求的处理。
25、http_addition_module:这个模块允许添加文本到响应的头部或者尾部。
7、启用某些模块或者自定义安装 可能需要安装额外的依赖库
以--with-openssl=/root/tools/nginx/openssl-1.1.1q 为示例
- 通过wget从OpenSSL官方网站下载所需版本的源代码。例如,你可以运行以下命令来下载OpenSSL 1.1.1q版本:
wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz
- 下载完成后,你会看到一个名为openssl-1.1.1q.tar.gz的文件。运行以下命令解压这个文件:
tar -zxvf openssl-1.1.1q.tar.gz
- 解压后,你会看到一个openssl-1.1.1q的目录,这个目录就包含了OpenSSL的源代码。你可以将这个目录移动到你想要的位置。例如,你可以将其移动到/root/tools/nginx/目录下:
mv openssl-1.1.1q /root/tools/nginx/
- 完成以上步骤后,你就可以在Nginx的编译配置中通过--with-openssl选项指定OpenSSL的位置了。例如:
./configure --with-openssl=/root/tools/nginx/openssl-1.1.1q
注意这只是一个例子,你需要根据你自己的环境调整这些命令。例如,你可能需要使用sudo命令获取root权限
- 2
-
分享