[nginx安装及配置https(超详细)]
以前都是安装一个nginx简单配置一下,前段时间开发微信小程序,里面必须使用https,就研究了一下nginx如果使用https,也参考了一些资料,和大家一起分享一下。
1、首先安装gcc、g++
- 首先安装gcc、g++ , gcc是Linux 下默认的 C/C++ 编译器,而nginx是C语言编写的
- 安装gcc:
yum -y install gcc automake autoconf libtool make - 安装g++:
yum install gcc gcc-c++
2、安装nginx需要的依赖模块pcre、zlib、openssl
-
pcre作用是让nginx支持 rewrite 功能,gzip模块需要zlib库,ssl 功能需要openssl库
-
安装pcre库:
下载:
cd /usr/local/src
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
解压:
tar -zxvf pcre-8.40.tar.gz
进入目录:
cd pcre-8.40
编译:
./configure
安装 :
make && make install
安装完成查看版本:
pcre-config --version -
安装zlib库:
cd /usr/local/src
下载:
wget http://zlib.net/zlib-1.2.11.tar.gz
解压:
tar -zxvf zlib-1.2.11.tar.gz
进入目录:
cd zlib-1.2.11
编译:
./configure
安装:
make && make install -
安装openssl:
cd /usr/local/src
下载:
wget https://www.openssl.org/source/openssl-fips-2.0.16.tar.gz
解压:
tar -zxvf openssl-fips-2.0.16
进入目录:
cd openssl-fips-2.0.16
编译:
./config
安装:
make && make install
生成动态链接库:
./config shared
make clean
make && make install
查看版本:
openssl version -a
3、安装nginx
- 安装nginx:
cd /usr/local/src
下载:
wget http://nginx.org/download/nginx-1.9.9.tar.gz
解压:
tar -zxvf nginx-1.9.9.tar.gz
进入目录:
cd nginx-1.9.9
编译(nginx默认不支持https,安装时需要加载Https模块,–prefix:指定安装目录,–with-http_ssl_module支持HTTPS):
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
安装:
make
make install
备注:#如果./configure 报错 OpenSSL library not found,说明缺失OpenSSL库( crypto是OpenSSL 加密库(lib), 这个库需要openssl-devel包 ,在ubuntu中就是 libssl-dev )
执行下面命令:
yum -y install openssl-devel ll
然后重新执行
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module - 启动nginx:
cd /usr/local/nginx
启动:
./sbin/nginx
这个时候通过ip访问应该能显示:Welcome to nginx!
如果没有的话,应该是80端口没有开放,nginx默认监听80端口。
查看nginx版本:
./sbin/nginx -v
如果不需要配置https的话,到这里nginx就安装完成了。
4、nginx配置https
- 配置https:
进入nginx安装目录:
cd /usr/local/nginx/conf
创建存放https证书的文件夹:
mkdir cert
然后将https证书上传到cert文件里面,后面要用到,分别命名为:
www.123.com.pem和www.123.com.key
编辑nginx配置文件:
vi nginx.conf
找到# HTTPS server模块,配置如下:
#HTTPS server
server {
listen 443;
server_name www.123.com;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/www.123.com.pem;
ssl_certificate_key cert/www.123.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
add_header Access-Control-Allow-Credentials true;
location / {
root html;
index index.html index.htm;
}
}
然后保存退出。
备注:ssl_certificate 和ssl_certificate_key 对应刚刚上传的证书的文件。 - 检查配置文件是否正确,进入安装目录:
cd /usr/local/nginx
执行下面命令,提示success即可
./sbin/nginx -t
重启nginx:
./sbin/nginx -s reload
这样nginx配置https就完成了!现在就可以使用https访问自己的网站了(注意:域名需要解析到当前这台服务器ip才行!不然会找不到服务器ip)。
标签:ssl,make,cd,nginx,https,安装 来源: https://blog.csdn.net/wang_o_yi/article/details/106711934
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。