一、准备工作
进入安装目录
cd /usr/local
下载nginx(官网选择版本稳定版即可:http://nginx.org/en/download.html):
wget http://nginx.org/download/nginx-1.16.1.tar.gz
下载openssl :
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2j.tar.gz
下载zlib :
wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
下载pcre(官网版本:https://sourceforge.net/projects/pcre/files/pcre/) :
wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
如果没有安装c++编译环境,还得安装c++
apt-get install build-essential
二、安装
编译安装openssl :
tar zxvf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j
./config && make && make install
cd ..
安装pcre:
tar zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure && make && make install
cd ..
安装zlib:
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure && make && make install
cd ..
最后安装nginx并支持https
tar zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --with-http_ssl_module
如果出现错误,查看下面【配置ssl】说明
make && make install
启动nginx
/usr/local/nginx/sbin/nginx
打开网站安装成功显示Welcome to nginx!页面
相关操作
启动
/usr/local/nginx/sbin/nginx
重启
/usr/local/nginx/sbin/nginx -s reload
停止
/usr/local/nginx/sbin/nginx -s stop
Nginx和Openssl升级参考:Ubuntu 升级安装Nginx 与 OpenSSL - w3ctech
配置文件路径
/usr/local/nginx/conf/nginx.conf
如果出现错误提示
[root@localhost lib]# error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
原因 在RedHat 64位机器上nginx读取的pcre文件为/lib64/libpcre.so.1文件,默认安装pcre时libpcre.so文件安装在/usr/local/lib/目录下,所以输入/opt/nginx/sbin/nginx -V 找不到文件路径!!
1.首先确定安装了pcre.
2.切换路径: cd /usr/local/lib 执行 ln -s /usr/local/lib/libpcre.so.1 /lib64/
3.root权限下添加软链接 /usr/local/lib/libpcre.so.1 到 /lib64/ : ln -s /usr/local/lib/libpcre.so.1 /lib64/
三、配置https
到解压的nginx目录下
cd nginx-1.8.0
./configure --with-http_ssl_module
当执行上面语句,出现./configure: error: SSL modules require the OpenSSL library.
更新源: apt-get update
sudo apt-get install openssl
sudo apt-get install libssl-dev
重新执行
./configure --with-http_ssl_module
make
切记不能make install 会覆盖。
把原来nginx备份
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
把新的nginx覆盖旧的
cp -rfp objs/nginx /usr/local/nginx/sbin/nginx
解决
测试nginx是否正确
/usr/local/nginx/sbin/nginx -t
(nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful)
配置好ssl后一定要先停止再启动,不能直接重启命令
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
三、Nginx及openssl升级
下载openssl :
wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2j.tar.gz
编译安装openssl :
tar zxvf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j
./config shared zlib
make && make install
替换旧版本
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
ln -s /usr/local/ssl/lib/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
ln -s /usr/local/ssl/lib/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
验证
openssl version
下载nginx:
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --with-http_ssl_module --with-openssl=/usr/local/openssl-1.0.2j
如果不需要旧的直接删除
rm -rf /usr/local/nginx
make && make install
/usr/local/nginx/sbin/nginx -V
看到下面输出,则成功了
nginx version: nginx/1.16.1
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
built with OpenSSL 1.0.2j 26 Sep 2016
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-openssl=/usr/local/openssl-1.0.2j
启动
/usr/local/nginx/sbin/nginx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)