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 ...
随机推荐
- svn拉取出现目标机器积极拒绝,无法连接
问题如图: 前言 这边服务器环境上的SVN仓库地址不能连接,不能提交代码和下载代码了,错误内容就是"由于目标计算机积极拒绝,无法连接.." 出错的原因 询问了相关的事项,知道了这次 ...
- react 02 组件state click
一,组件 import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; // 函数式组件 ret ...
- 【剑指Offer】【字符串】字符串的排列
题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入一个字符串,长 ...
- VUE学习-列表渲染
列表渲染 v-for <!-- v-for="(v,k,i) in arr/obj" --> <ul id="app"> <li ...
- pgsql判断字符串是否为数字
利用正则表达式来对字符串进行匹配 因为工作遇到了一个问题需要对字符串是否可以转换为数值进行判断.今天关于这个问题进行一个分享,流程如下 数字的正则表达式 ^([0-9]+.?[0-9]*|.[0-9] ...
- 发誓要学会wepack
9.9 学习资料: http://webpack.wuhaolin.cn/ <深入浅出Webpack> https://github.com/zshno1/wepack-study w ...
- MTSC2021上海站PPT 分享
- 前端实现电子签名(web、移动端)通用组件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- git commit提交代码时跳过 eslint校验
在使用命令 git commit -m '提交信息' 将本地代码提交到远程仓库时候, 如果项目安装了 per-commit,则会在Git键入提交信息前进行代码风格检查,如果代码不符合相应规则,则报错. ...
- jquery 去除兄弟节点的class
function chooseCategory(dicCode,obj){ $(obj).siblings('a').removeClass("active"); $(obj).a ...