阿里云Linux Ubentu16.04 安装 Nginx 并配置 https,后续升级openssl和Nginx

一、准备工作


进入安装目录

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


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值