本文基于版本pcre-8.4.4和nginx-1.18.0安装。
一、安装pcre
1.到官网下载安装包pcre-8.4.4.tar.gz 注意不是pcre2,是pcre!
2.在/usr/local目录创建abc目录,用于存放下载的安装包
3.上传安装包pcre-8.4.4.tar.gz到目录/usr/local/abc
4.解压pcre-8.4.4.tar.gz
5.在/usr/local/include目录创建pcre目录,作为pcre的安装路径
6.配置pcre cd到目录/usr/local/abc/pcre-8.4.4,将目录/usr/local/include/pcre设置为安装目录。网上有些教程直接将其安装在/usr/local/,这样如果安装失败不好删除pcre,还是安装在独立的目录是比较好
sudo ./configure --prefix=/usr/local/include/pcre
7.编译安装
sudo make
sudo make install
安装成功后,就可以在/usr/local/include/pcre看到有文件了。
二、安装nginx
1.下载安装包nginx-1.18.0.tar.gz 到官网下载页面点击红框里的安装包即可。
2.将nginx-1.18.0.tar.gz安装包上传到目录/usr/local/abc
3.解压安装包nginx-1.18.0.tar.gz
4.在/usr/local目录创建nginx目录,作为nginx的安装路径
5.配置nginx cd到目录/usr/local/abc/pcre-1.18.0,将目录/usr/local/nginx设置为安装目录
sudo sudo ./configure --with-pcre=/usr/local/abc/pcre-8.44 --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt="-Wno-deprecated-declarations" --with-openssl=/private/etc/ssl/
注意
1.这里的参数 --with-pcre 要设置为pcre的源码文件目录,而不是pcre的实际安装目录,不然就会报错
make[1]: *** [/usr/local/include/pcre//Makefile] Error 127
2.上面我们给nginx配置的openssl是Mac自带的,所以会报错
[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127
因此我们还需要安装自定义的openssl。
三、安装openssl
我们使用源码来安装openssl。
1.GitHub官网下载源码
2.解压源码,并上传到目录/usr/local/abc
3.在/usr/local目录创建openssl目录,作为openssl的安装路径
4.配置openssl cd到目录/usr/local/abc/openssl-master,将目录/usr/local/openssl设置为安装目录
sudo ./config --prefix=/usr/local/openssl
5.编译并安装
sudo make
sudo make install
四、继续配置nginx
1.配置 nginx
sudo ./configure --with-pcre=/usr/local/abc/pcre-8.44 --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt="-Wno-deprecated-declarations" --with-openssl=/usr/local/openssl/
注意
但是还是报错
[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127
根据报错信息我们知道,出错是因为Nginx在编译时并不能在/usr/local/openssl/.openssl/ 这个目录找到对应的文件,其实我们打开/usr/local/openssl/这个目录可以发现这个目录下是没有.openssl目录的,因此我们修改Nginx编译时对openssl的路径选择就可以解决这个问题了.
a.打开nginx源文件下的/usr/local/abc/nginx-1.18.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"
这样继续配置nginx,不出意外就可以配置成功了。
5.编译、安装 nginx
sudo. make
sudo make install
6.启动 nginx cd到/usr/local/nginx/sbin,输入命令启动nginx
sudo ./nginx
启动成功后,在浏览器输入localhost,就可以访问nginx。
五、关于nginx的一些常用命令
a.查看nginx是否启动成功
ps -ef|grep nginx
如图表示启动成功。
image.png
b.停止nginx
cd到nginx的安装目录/usr/local/nginx下的sbin目录,输入如下命令。
nginx -s stop
六、配置环境变量
在全局配置文件/etc/profile中配置系统环境变量。
1.编辑/etc/profile
sudo vim /etc/profile
2.在文件末尾添加以下内容,将nginx的安装路径加入到系统环境变量
export PATH=/usr/local/nginx/sbin:$PATH
3.使配置文件生效
source /etc/profile
4.重新打开客户端,输入以下命令验证是否配置成功
nginx -V
网友评论