[nginx安装及nginx配置https(超详细),linux安装nginx,nginx编译安装]
以前都是安装一个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.tar.gz
进入目录:
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
make
make install - 启动nginx:
cd /usr/local/nginx
启动:
./sbin/nginx
这个时候通过ip访问应该能显示:Welcome to nginx!
如果没有的话,应该是80端口没有开放,nginx默认监听80端口。
查看nginx版本:
./sbin/nginx -v
--------如果不需要配置https的话,到这里nginx就安装完成了。
4、nginx配置https
首先准备好网站域名对应的ssl证书,一般是.pem和.key结尾的两个证书文件,后面配置的时候要用到。
- 配置https:
进入nginx安装目录:
cd /usr/local/nginx/conf
创建存放https证书的文件夹:
mkdir cert
进入文件夹并上传证书:
cd cert
rz
然后将https证书上传到cert文件里面,后面要用到,分别命名为:
www.123.com.pem和www.123.com.key,rz是文件上传的命令,需要安装,如果没有安装,可以参考: linux安装rzsz命令
2.编辑nginx配置文件:
cd /usr/local/nginx/conf
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 对应刚刚上传的证书的文件路径。
3. 检查配置文件是否正确,进入安装目录:
cd /usr/local/nginx
执行下面命令,提示success即可
./sbin/nginx -t
重启nginx:
./sbin/nginx -s reload
这样nginx配置https就完成了!现在就可以使用https访问自己的网站了(注意:域名需要解析到当前这台服务器ip才行!不然会找不到服务器ip)。
转载请注明出处。