下载Nginx:https://nginx.org/en/download.html
1、首先安装ngnix所需的依赖的文件
yum install -y gcc gcc-c++
yum install -y gcc automake autoconf libtool make
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2、下载nginx压缩包nginx-1.22.0.tar.gz
下载:wget http://nginx.org/download/nginx-1.22.0.tar.gz
展开压缩包:tar -zxvf nginx-1.22.0.tar.gz -C .
3、创建nginx worker线程用户
adduser nginx
passwd nginx
cmen@2023
4、进入解压后的nginx文件夹中
cd nginx-1.22.0
- 配置安装编译选项
./configure --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module --user=nginx
-
--with-http_stub_status_module
:nginx的监控模块 -
--with-http_ssl_module
:nginx的ssl加密模块 -
--user=nginx
:为nginx分配一个nginx的用户 -
执行编译&安装
make
make install
指定openssl版本时修正编译错误
指定openssl版本:--with-openssl=/usr/local/openssl/
=后的路径为openssl的版本地址,提示错误:找不到/usr/local/openssl/.openssl这个目录
排查可以发现这个目录下是没有.openssl目录的,可以用以下的方式解决:
- 打开nginx源文件下的/usr/local/src/nginx-1.22.0/auto/lib/openssl/conf文件,找到这么一段代码:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
- 修改成以下代码:
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
- 再次安装:
make install
5、执行nginx 并验证
/usr/local/nginx/sbin/nginx &
默认加载的配置文件为 {prefix}/conf/nginx.conf
6、创建nginx便捷启动链接
ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
加载自定义配置文件:
nginx -c /etc/nginx/nginx.conf &