Centos7下安装Nginx及配置SSL

news2025/7/7 4:56:09

文章目录

      • 1.官网下载Nginx
      • 2.安装依赖包
      • 3.安装Nginx
      • 4.启动Nginx
      • 5.防火墙放开端口
      • 6.Nginx的SSL模块安装
      • 7.SSL证书准备
      • 8.Nginx配置SSL

1.官网下载Nginx

​ 去官网下载需要的nginx压缩包,地址:http://nginx.org/en/download.html,此处下载最新稳定版nginx-1.22.1。
在这里插入图片描述

2.安装依赖包

​ 使用linux连接工具例Xshell连接登录到服务器,在centos7命令模式下输入需要安装的依赖包命令。

 yum install gcc-c++
 yum install -y pcre pcre-devel
 yum install -y zlib zlib-devel
 yum install -y openssl openssl-devel

​ 需要从服务器上传递、下载文件,还可以安装上文件传输依赖:

yum install lrzsz -y

​ 安装好后,可以使用rz命令调起本地上传文件到目标服务器的弹出框,把下载的nginx压缩包传到linux服务器上:
在这里插入图片描述
​ 使用sz+文件名,从linux服务器下载文件到本地:
在这里插入图片描述

3.安装Nginx

(1)解压nginx压缩包,输入解压命令:

tar -zxvf nginx-1.22.1.tar.gz

(2)把解压后的nginx文件移动到安装目录下,先进入到安装目录下:

cd /usr/local

​ 执行移动文件命令,把解压后nginx目录下的所有文件移动到当前目录下:

mv /home/zhanglizeng/nginx-1.22.1/ .

(3)进入到nginx目录下,编译和安装,先进入目录:

cd /usr/local/nginx-1.22.1

执行配置命令:

./configure

​ 执行编译命令:

make

​ 执行安装命令:

make install

​ 执行完上述命令后,会在nginx-1.22.1安装包的同目录下生成一个nginx目录:
在这里插入图片描述

4.启动Nginx

​ 进入到nginx启动目录下:

 cd /usr/local/nginx/sbin

第一次启动nginx执行命令:

 ./nginx

其他nginx命令(都在nginx/sbin目录下执行):

# 强制停止nginx命令
./nginx -s stop
# 优雅停止命令,等最后一次交互执行完毕再停止
./nginx -s quit
# 重启命令
./nginx -s reload
# 检查配置文件是否有问题
./nginx -t
# 查看nginx版本信息
./nginx -v
# 查看nginx详细版本信息
./nginx -V

5.防火墙放开端口

查看防火墙是否开启:

systemctl status firewalld

当状态为active(running)时,表示开启;为inactive(dead)时,表示关闭:
在这里插入图片描述
当防火墙为关闭时,执行开启防火墙命令:

systemctl start firewalld

把要对外开放的端口号添加到防火墙,例如放开nginx默认的80端口:

firewall-cmd --permanent --zone=public --add-port=80/tcp

需要重启防火墙,加入的端口才能生效,执行重启命令:

systemctl reload firewalld

输入命令查看当前防火墙放开的端口号集合:

firewall-cmd --list-ports

在这里插入图片描述
​ 此时通过ip+80默认端口即可访问到nginx,出现此默认页面,表示nginx安装成功:
在这里插入图片描述

6.Nginx的SSL模块安装

输入命令查看nginx是否已经安装了ssl模块,需要到nginx安装目录的sbin文件夹下执行:

./nginx -v

在这里插入图片描述
当configure arguments:包含–with-http_ssl_module时,说明已经安装,直接跳过此步骤,若是不包含则进行安装。

进入到源nginx安装包的目录下,注意是安装包,不是安装后的文件,即nginx-1.22.1目录下:

cd /usr/local/nginx-1.22.1

在这里插入图片描述
执行configure配置命令:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

然后执行编译命令:

make

执行完编译命令就行,此处不需要执行make install安装命令,否则nginx会重新安装。

执行完成后,会在nginx-1.22.1目录下生成一个目录objs:
在这里插入图片描述
此objs目录内包含一个可执行文件nginx:
在这里插入图片描述
把生成的objs目录内的nginx执行文件替代安装好的nginx执行文件,先停止当前运行的nginx服务,进入目录:

cd /usr/local/nginx/sbin

执行停止nginx命令:

./nginx -s stop

执行nginx执行文件的替代:

cp /usr/local/nginx-1.22.1/objs/nginx /usr/local/nginx/sbin

此时再查看ssl的包含情况,显示已包含:
在这里插入图片描述

7.SSL证书准备

​ SSL证书包含:证书文件.crt、私钥文件.key。证书是跟域名绑定的,在申请证书时需要提供绑定的域名。网上也有免费的证书申请,此处不在过多赘述。
在这里插入图片描述

8.Nginx配置SSL

​ 把证书、私钥文件上传到linux服务器上,在nginx的conf目录下创建一个ssl目录,存放这两个文件:
在这里插入图片描述
​ 配置nginx.conf文件,完整目录为/usr/local/nginx/conf/nginx.conf:

user  nobody;
worker_processes  4;

error_log  logs/error.log warn;
pid        logs/nginx.pid;
worker_rlimit_nofile 102400;

events {
    use epoll;
    worker_connections  102400;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    autoindex off;

    sendfile        on;
    tcp_nopush     on;

    fastcgi_buffers 32 8k;
    
    keepalive_timeout  120;
    tcp_nodelay on;

    # 上传大文件时,使用nginx代理服务,需要配置文件缓存区,去对应目录下创建上client_body_temp_path配置的目录
    client_body_buffer_size 10m;
    client_max_body_size 100m;
    client_body_temp_path temp/;
    proxy_connect_timeout 5;
    proxy_read_timeout 120;
    proxy_send_timeout 5;
    proxy_buffer_size 1024k;
    proxy_buffers 128 64k;
    proxy_busy_buffers_size 1024k;
    proxy_temp_file_write_size 1024k;
    proxy_ignore_client_abort on;

    proxy_redirect off;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;

    log_format main '$remote_addr - $upstream_addr [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for" $request_time $upstream_response_time "$upstream_cache_status"';

    proxy_hide_header "X-Frame-Options";

    # nginx反向代理的配置文件,使用引入文件的方式加入,这样便于扩展
    include vhosts/xxx-master.conf;
    include vhosts/xxx-gateway.conf;
    #gzip  on;
}

在conf目录下创建一个vhosts目录,存放需要引入的配置文件,目录/usr/local/nginx/conf/vhosts:
在这里插入图片描述
xxx-master.conf配置ssl证书相关信息:

server {
    #ssl默认访问443端口,开启ssl
    listen 443 ssl;
    charset UTF-8;
    #服务域名
    server_name api.xxx.cn;
    #ssl证书文件地址
    ssl_certificate /usr/local/nginx/conf/ssl/xxx_bundle.crt;
    #ssl私钥文件地址
    ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.cn.key;
    ssl_session_cache shared:SSL:1m;
    #缓存有效期
    ssl_session_timeout 5m;
    #加密算法
    ssl_ciphers HIGH:!aNULL:!MD5;
    #使用服务器端的首选算法
    ssl_prefer_server_ciphers on;

    location / {
        #反向代理到的服务
        proxy_pass http://xxx-gateway;
        proxy_redirect     default;
        proxy_set_header   Host             $host:$server_port;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header X-Forwarded-Host $host:$server_port;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen       80;
    server_name  api.xxx.cn;
    # 把http请求重定向到https
    rewrite ^(.*)$ https://${server_name}$1 permanent;  
}

xxx-gateway.conf配置网关信息:

upstream xxx-gateway {
    server 10.xx.9.xx:1234;
	server 10.xx.10.xx:2345;
	server 10.xx.6.xx:5678;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/109186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DFS——剪枝

文章目录概述优化搜索顺序排除等效冗余可行性剪枝最优性剪枝例题小猫爬山木棒总结概述 优化搜索顺序 不同的搜索顺序会产生不同的搜索树形态,与可行性剪枝结合,去除非法状态,按照一定顺序可使规模大幅度减小。 例: 给定一个无重复…

JavaSE第6篇:面向对象上

一、面向对象 1、面向对象:人关注对象、人关注具体事物信息 2、对象: 只要是客观存在的事物皆为对象 面向对象程序设计的重点是类的设计 设计类就是设计类的成员 思考:人把大象装进冰箱 ? 面向过程POP思想:强调的是过程(动…

Web前端开发入门学习分享

Web前端开发入门学习分享 1&#xff1a;如何开始学习Web前端 首先你需要学习html的各个标签&#xff0c;掌握其用法和规范&#xff0c;明白其作用。 开始学习css的使用&#xff0c;你先学习在html页面中为标签增加css样式&#xff0c;其次是将css写在网页的<head></…

【记录】chmod修改组属性失效问题

记录一次chmod命令修改文件夹失效问题。 1.问题描述 有一个普通用户的目录test权限是750&#xff0c;使用chmod将文件权限修改成770发现同组的其他用户无法在该目录创建文件。 2.问题原因 给目录设置acl权限导致chmod在修改文件权限时失效【其实不是失效了】 调研发现&#…

超1.58亿人将“血拼”,超级星期六购物节即将到来

超1.58亿人将“血拼”&#xff01;美国超级星期六购物节即将到来&#xff01;亚马逊出手整治“远仓近送”&#xff01;据美国零售联合会的年度消费者调查结果显示&#xff0c;在今年圣诞节前的最后一个星期六&#xff08;即超级星期六&#xff09;&#xff0c;将有1.58亿人发生…

集成滤波器的5G大规模天线的S参数测试方法

【摘 要】集成滤波器的5G大规模天线由于每个通道包含了一组滤波器,使得5G大规模天线的通道之间的幅度和相位一致性指标变得很差,进一步地,使得获取除滤波器以外的纯通道之间的幅度和相位的一致性指标变得非常困难。对集成滤波器的5G大规模天线的测试方法进行了原理分析和实…

postgresql及wal2json插件安装

1、安装postgres 安装文档见&#xff1a;https://www.postgresql.org/download/linux/redhat/ 我这里是centos7系统&#xff0c;选择安装postgresql11 # Install the repository RPM: sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_…

有什么办法把录音转成文字?这几种方法一看就会

大家在平时工作中是否经常会遇到录音转文字的时候&#xff0c;如果我们一边听一边记的话&#xff0c;有可能会漏掉一些内容&#xff0c;然后就需要暂停或者重听&#xff0c;这样既费时费力还会降低我们的工作效率。这个时候我想应该会有小伙伴觉得&#xff0c;要是录音能直接变…

高通 OpenXR SDK 使用指南(1)

高通 OpenXR SDK 使用指南&#xff08;1&#xff09;1 OpenXR 概述1.1 加载器1.2 运行时1.3 API层1.4 合成器1 OpenXR 概述 OpenXR 是一个免版税的框架&#xff0c;可以访问 AR、VR 和 MR 平台和设备。 在 OpenXR 之前&#xff0c;不同的供应商构建了自己的专有 SDK 来支持 XR…

四、Jetson Xavier Nx内置16G emmc刷机、CUDA、SSD启动

1 刷机 注意JETSON Xavier NX DEV KIT 搭配的是官方16eMMC版本的Jetson Xavier NX 16GB/8GB 核心板&#xff0c;不带SD卡卡槽。因此烧录系统需要用到ubuntu 18.04主机&#xff0c;使用SDK Manager工具烧录。 烧录环境&#xff1a; Ubuntu18.04 主机 &#xff08;虚拟机也可以&…

CS5518芯片规格书|CS5518设计参数|MIPI转LVDS转换方案芯片设计规格书

CS5518是一个MIPI DSI输入、LVDS输出转换芯片。MIPI DSI支持多达4个局域网&#xff0c;每个通道以1Gbps的速率运行。LVDS支持18位或24位像素&#xff0c;通过VESA或JEIDA格式。它只能使用单个1.8V电源&#xff0c;以节省成本并优化电路板空间。 CS5518适用于多个细分市场和显…

TCP半关闭状态分析和skynet对半关闭状态的支持

TCP半关闭状态分析一、背景二、TCP四次挥手流程三、发送FIN包的场景四、skynet 网络封装支持半关闭状态4.1、连接的建立4.2、连接断开4.3、消息到达4.4、消息发送完毕五、测试skynet对半关闭的支持5.1、测试直接关闭进程5.2、测试关闭读端5.2、测试关闭写端总结后言一、背景 T…

经典设计模式总则

Design pattern 设计模式背景-概念、面向对象六大原则、设计模式分类、二十三中常用设计模式即创建型模式、结构型模式、行为型模式 1、设计模式的背景、概念及其必要性 1.1、设计模式的背景 设计模式最初并不是应用于软件设计领域&#xff0c;而是被用于建筑领域的设计中。 …

圣诞节送哪款电容笔合适?平价电容笔排行

随着技术的发展&#xff0c;各种品牌的电容笔也随之出现。一款出色的电容笔可以极大地提升我们的工作效率&#xff0c;并改善我们的学习方式。就目前的技术而言&#xff0c;平替电容笔无论从质量还是性能上都是物有所值的&#xff0c;其表现与苹果的原装电容笔相差无几。下面就…

谈谈vue的路由守卫和keep-alive后生命周期

目录 &#x1f53d; Vue-Router的懒加载如何实现 1、方案一&#xff1a;箭头函数import 2、方案二&#xff1a;箭头函数require 3、方案三&#xff1a;箭头函数require.ensure &#x1f53d; 如何定义动态路由 param方式 query方式 &#x1f53d; Vue-Router导航守卫 …

美颜sdk背景扭曲修复算法的实现流程

目前&#xff0c;美颜sdk在对人像进行美型美体等编辑处理的时候&#xff0c;想要保证背景不受影响&#xff0c;是比较困难的&#xff0c;如果需要在手机端上进行处理&#xff0c;难度更大&#xff0c;主要有以下几点&#xff1a; 一、难点分析 1、拍摄背景多变&#xff0c;背景…

反向迭代器reverse_iterator模拟实现

准备工作 相同的命名空间可以分割在不同的文件中,编译器最后都会合成在同一个命名空间下。我们的reverse_iterator是个适配器&#xff0c;为什么叫适配器&#xff0c;是因为它需用正向迭代器做适配。简言之&#xff0c;反向迭代器通过正向迭代器做实例化会减少很多冗余且方便很…

基于Fragstats的土地利用景观格局分析

景观格局及相关软件介绍 Fragstats界面与数据格式 数据准备&#xff1a;ArcGIS软件操作 数据准备&#xff1a;数据结构及变换 数据准备&#xff1a;数据投影及变换 数据准备&#xff1a;数据采集与编辑 数据准备&#xff1a;数据获取及处理 土地利用统计分析 Fragstats…

微服务(一) —— 概念

目录1. 什么是微服务2. springcloud3. 服务提供者、服务消费者1. 什么是微服务 微服务&#xff1a; 分布式架构的一种。 服务集群&#xff1a;将一个功能复杂的项目拆分成许多个独立的项目&#xff08;称为服务&#xff0c;每部分完成一定的功能&#xff09;&#xff0c;并进…

继承、多态、组合(Java系列5)

目录 前言&#xff1a; 1.继承 1.1继承的概念 1.2继承的语法 1.3父类成员访问 1.4super关键字 1.5super和this 1.6继承关系的执行顺序 1.7继承方式 1.8final关键字 2.继承与组合 3.多态 3.1多态的概念 3.2多态实现的条件 4.重写 4.1重写的概念 4.2方法重写的规…