目的:小程序的变态要求,必须使用https安全协议
系统平台:CentOS 7.x。
gcc-c++开发类库、zlib库、openssl、PCRE库
1.gcc-c++,liunx环境中的c/c++编译器
2.zlib,zlib 适用于数据压缩的函式库
3.OpenSSL是一个开放源代码的软件库包,
可以实现:秘钥证书管理、对称加密和非对称加密。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输
4.pcre (Perl Compatible Regular Expressions) 是一个用C语言编写的正则表达式函数库。所属apache公司下的独立模块
有的已存在则根据自己的需求安装。-y(当安装过程提示选择全部为"yes")
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
使用命令时,根据自己下载的版本和文件夹名进行修改
1.下载 PCRE 安装包
手动下载地址:https://sourceforge.net/projects/pcre/files/pcre/ (下载完成后上传)
cd usr/local/webservice
wget https://sourceforge.net/projects/pcre/files/pcre/8.43/pcre-8.43.tar.gz
2、解压安装包
tar zxvf pcre-8.43.tar.gz
3、进入安装包目录
cd pcre-8.43
4、编译安装
./configure --prefix=/usr/local/webservice/pcre
make && make install
5、查看安装结果,pcre版本
pcre-config --version
安装成功
1、下载 Nginx,下载地址:http://nginx.org/download/nginx-1.6.2.tar.gz
cd /usr/local/webservice
wget http://nginx.org/download/nginx-1.6.2.tar.gz
2、解压安装包
tar zxvf nginx-1.6.2.tar.gz
3、进入安装包目录
cd nginx-1.6.2
4、编译安装
./configure --prefix=/usr/local/webservice/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.43
make
make install
报错如下:缺少OpenSSL,安装即可 .没报错继续下一步
yum -y install openssl openssl-devel
错误:
5、查看安装结果,nginx版本
cd /usr/local/webservice/nginx
sbin/nginx -v
6、启动nginx
cd /usr/local/webservice/nginx
sbin/nginx
域名绑定好对应的服务器ip后可通过域名访问。
修改html文件夹下的index.html 文件为项目的入口文件即可不使用端口访问网页
/usr/local/webservice/nginx/sbin/nginx -s reload # 重新载入配置文件,无需重新启动
/usr/local/webservice/nginx/sbin/nginx -s reopen # 重启 Nginx,新的配置生效
/usr/local/webservice/nginx/sbin/nginx -s stop # 停止 Nginx
打开conf/nginx.conf文件,添加配置
server {
listen 9988;
location / {
proxy_pass http://127.0.0.1:8887;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
http://test.com:9998,域名可改为服务器ip地址
上传nginx的ssl证书到 /usr/local/webservice/nginx/ssl 文件夹
打开conf/nginx.conf文件,添加配置
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /usr/local/webservice/nginx/ssl/server.pem;
ssl_certificate_key /usr/local/webservice/nginx/ssl/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 8443 ssl;
server_name localhost;
# 公共密匙
ssl_certificate /usr/local/webservice/nginx/ssl/server.pem;
# 私有密匙
ssl_certificate_key /usr/local/webservice/nginx/ssl/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
# 转发代理的ip或域名
proxy_pass http://127.0.0.1:8887;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
访问网址: https://test.com:8443
在https项目里面调用的接口必须也是https协议,http会报错
Linux(CentOS)下设置nginx开机自动启动(2个办法),添加为服务(第一种方法有问题)
1.开机自启
2.设置为Linux服务
3.配置文件设置
设为服务:设置为服务(亲测可用)
nginx编辑开机启动(/etc/init.d/nginx)(可以直接使用)