linux部署带ssl的nginx
1.前期准备
1.1:下载nginx-1.18.0版本 http://nginx.org/download/nginx-1.18.0.tar.gz 然后上传到服 务器 /usr/local/src 目录下
1.2:安装编译工具及库文件
- //一键安装四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
1.3:安装 PCRE PCRE 作用是让 Nginx 支持 Rewrite 功能
- 进入到安装目录
- cd /usr/local
- 下载pcre-8.35
- wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
- 解压安装包:
- tar zxvf pcre-8.35.tar.gz
- 进入安装包目录
- cd pcre-8.35
- 编译安装
- ./configure
- make && make install
- 查看pcre版本
- pcre-config --version
- 查看pcre版本
- rpm -qa pcre
2.nginx安装
2.1:进入到nginx文件目录
cd /usr/local/src/
2.2:解压安装包
tar -zxvf nginx-1.18.0.tar.gz
2.3:进入安装包目录
cd nginx-1.18.0
2.4:编译安装
- 将nginx编译安装到/usr/local/nginx下
- ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
- make
- make install
2.5:查看nginx版本
/usr/local/nginx/sbin/nginx -v
2.6:nginx常见命令
/usr/local/nginx/sbin/nginx 启动
/usr/local/nginx/sbin/nginx -s stop 关闭
/usr/local/nginx/sbin/nginx -s reload 重启
3.SSL配置
3.1:如果我们使用SSL证书需要引用到nginx的中SSL这个模块
上述nginx安装的时候加了./configure --prefix=/usr/local/nginx --with- http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35 其中 --with-http_ssl_module就是添加ssl模块 如果没有加ssl模块可以添加这个模块就好了
3.2:要有SSL对应的 公钥和自私 放到指定文件夹下 /usr/ssl
service.crt # 公钥
service.key # 私钥
3.3:修改nginx配置文件
- cd /usr/local/nginx/conf
- vi nginx.conf
- //修改443端口文件
http{ #http节点中可以添加多个server节点 server{ #监听443端口 listen 443; #对应的域名,把domain.com改成你们自己的域名就可以了 server_name domain.com; ssl on; #公钥路径 ssl_certificate /usr/ssl/service.crt; #私钥路径 ssl_certificate_key /usr/ssl/service.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root /usr/local/service/ROOT; index index.html; } } server{ listen 80; server_name domain.com; rewrite ^/(.*)$ https://domain.com:443/$1 permanent; } }
3.4:重启nginx就可以了
一.错误
configure: error: You need a C++ compiler for C++ support.
安装c++ compiler
[root@localhost]# yum install -y gcc gcc-c++
-bash: wget: command not found 错误
yum -y install wget
启动报错 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
解决方法: [root@localhost nginx]/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
报错
make: *** No targets specified and no makefile found. Stop. 解决方法
yum install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel (安装依赖zlib、openssl和pcre)
然后再走

linux部署带ssl的nginx的更多相关文章
- Linux 部署vue项目(使用nginx)
1.部署Nginx 请参考Linux下部署nginx,此处不再重复 2.Vue项目打包 # 打包正式环境 npm run build:prod # 打包预发布环境 npm run build:stag ...
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- linux 部署
一.d2 安装之后的配置 centos系统安装后的基本配置: .常用软件安装: yum install -y bash-completion vim lrzsz wget expect net-too ...
- Linux自带神器logrotate详解
Linux自带神器logrotate详解 散尽浮华 运维 3天前 作者:散尽浮华 链接:https://www.cnblogs.com/kevingrace/p/6307298.html 对于 L ...
- Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...
- Linux部署ASP.NET 5 (vNext)
原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署 引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...
- NetCore1.1+Linux部署初体验
1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.Net Core 3.Centaos安装netco ...
- Ubuntu 18.04 安装部署Net Core、Nginx全过程
Ubuntu 18.04 安装部署Net Core.Nginx全过程 环境配置 Ubuntu 18.04 ,Nginx,.Net Core 2.1, Let's Encrypt 更新系统 sudo a ...
- 部署Asp.net core & Nginx,通过nginx转发
部署Asp.net core & Nginx,通过nginx转发 CentOS 7 x64 1.vs2017 建立Asp.net core项目,并发布到目录 2.通过FTP工具,将程序copy ...
随机推荐
- (五)REDIS-哨兵与集群
概念介绍: Sentinel(哨兵)是Redis的高可用性解决方案,主要是通过一个或多个Sentinel实例组成的Sentinel系统对任意多个主服务器以及这些主服务器的所有从服务器进行监视,当某个主 ...
- Vue2安装less版本过高问题,需要降级
安装指定less版本解决: -D: 本地安装 -g: 全局安装 npm install less@3.9.0 less-loader@5.0.0 -D
- pdf.js 跨域完美解决!
在网上查看很多方法去解决此类跨域问题,及如何动态加载pdf文件.看来看去 请求的由后台处理加header头的 pdf.js 自带的 获取地址栏param参数值的 都是很麻烦的步骤并且有时不能有效解决 ...
- K8s存储之Volume、PV、PVC、SC
Volume Volume(存储卷)是Pod中能够被多个容器访问的共享目录.Kubernetes的Volume概念.用途和目的与Docker的Volume比较类似,但两者不能等价.首先,Kuberne ...
- $forceUpdate和this.$set('userInfo',name,'小红');
在Vue官方文档中指出,$forceUpdate具有强制刷新的作用. 那在vue框架中,如果data中有一个变量:age,修改他,页面会自动更新. 但如果data中的变量为数组或对象,我们直接去给某个 ...
- 网络储存服务ip-san搭建
简单的介绍一下SAN(存储区域网络存储区域网络和SAN协议,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输.常见的分类是FC-SAN和IP-SAN两种.FC-SAN通过光纤通道协议转 ...
- CF14D题解
CF14D Two Paths题解 题目链接 传送门 题意简述 给定一棵树,找出两条不经过相同点的最长路径,使得他们的长度乘积最大. 题目分析 首先,如果在一棵树上,两条路径没有共同的点,那么这两条路 ...
- 在pycharm中安装虚拟环境
1.安装python解释器 2.安装pytorch (1)查看当前虚拟环境 conda env list (2)进入自己的虚拟环境 source activate SCI(自己的虚拟环境名字) (3) ...
- 【Go】类型转换
字符串转int32 package main import ( "fmt" "strconv" ) func main() { str := "123 ...
- 【面试】TCP-IP经典
整理之前的笔记,发现网络通信通俗易懂的解释. 搞清这15个问题,那你就精通了TCP! 网络协议那么多, 为什么面试喜欢问TCP? 原因无外乎两个: TCP协议直接与进程打交道,写网络程序要用: TCP ...