目录
tengine这么香,你还在安装nginx吗?
1.下载tengine2.3.2
2.相关准备
3.升级openssl的版本为openssl-1.1.0l
4. 注意:这个tengine-2.3.3是安装的文件夹,tengine-2.3.2是原始文件夹,不能随意修改
5.执行安装
6.域名申请
7.ssl证书签发
8.重启tengine
因为Tengine所基于开发的Nginx的意思是Engine-X。Tengine在淘宝开发,所以我们把Engine-X中的X替换成Taobao。Tengine即Taobao-Engine,再进一步简写,就是Tengine。它可以念成tee-engine,或者ten-gine。
http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
yum install gcc openssl-devel pcre-devel zlib-devel
发现openssl报错,原因为centos内置的版本过低,需调整
# openssl-1.1.0l版本的编译
cd /usr/local/src
wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0l.tar.gz
tar -zxvf openssl-1.1.0l.tar.gz
mkdir /usr/local/lib/openssl-1.1.0l
./config --prefix=/usr/local/lib/openssl-1.1.0l
make && make install
mkdir /usr/local/tengine-2.3.3
在tengine-2.3.2文件夹中执行如下命令
./configure --prefix=/usr/local/tengine-2.3.3 --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-openssl=/usr/local/lib/openssl-1.1.0l
make && make install
发现make出错,原因为指定路径找不到文件,需修改安装文件
到tengine安装目录下
tengine-2.3.3/auto/lib/openssl/conf文件:
找到这么一段代码:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
修改成以下代码,即去掉 /.openssl 即可
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
./configure --prefix=/usr/local/tengine-2.3.3 --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-openssl=/usr/local/lib/openssl-1.1.0l
make && make install
这个可以咋阿里云里面申请,具体操作可以百度查一下
一.个人/企业:先领取20个免费证书(0元购买)
证书服务_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云
二.创建证书,一步步往下
审核通过之后,可以下在并且部署,下载你需要的类型的文件
正常如果用nginx的话,就下载nginx的加密pem与key
下载之后,将文件上传到nginx的 cert目录中(没有就自行创建)
然后在nginx配置中指向cert文件夹的下载的文件
具体如下
server {
listen 80;
listen 443 ssl;
server_name www.xxx.com;
ssl_certificate /usr/local/tengine-2.3.2/cert/5864909_xxx.com.pem;
ssl_certificate_key /usr/local/tengine-2.3.2/cert/5864909_xxx.com.key;
ssl_session_timeout 1d;
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;
#网站80端口重定向至443端口,即http自行转为https
if ($server_port = 80){
return 301 https://$server_name;}
if ($scheme = http){
return 301 https://$server_name;}
gzip on;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
}
在重启tengine之前需要先执行下test命令,检查下nginx.conf是否出现问题
cd /usr/local/tengine2.3.3/sbin/
./nginx -t
如果出现问题,可以进入nginx.conf中执行
:set nu
查看具体行数,然后根据具体问题进行修改,最后执行重启命令
./nginx -s reload