vue3 项目部署,Nginx配置https,重定向,详细流程

news2024/11/23 11:26:27

文章目录

  • 前情提要
  • 应用场景
    • 安装
    • 使用
  • 实战解析
  • 最后

前情提要

在这里插入图片描述
一个web项目完成后,我们需要打包部署上线,关于打包的实战在我的vite专栏里已经有过一些实践,今天我们来实践一些部署的过程,当然部署也可以由后端来完成;


应用场景

前端的部署,我们利用Nginx
❓什么是nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13] ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

简单了解过后,我们就来利用它的稳定性简单的配置文件特性来进行使用;

安装

在这里插入图片描述
如果你们也喜欢用宝塔,去里面的软件商店安装即可;

使用

在这里插入图片描述
此时,nginx就已经安装好了,我们只需要点击nginx图标,点击配置文件选项即可使用ngnix了;

在这里插入图片描述

新手打开配置文件会发现里面的东西几乎不懂,那也没关系,看完这篇文章后你就具备了使用的能力,至于更好的使用,我推荐直接进入官方文档去学习:英文文档、中文文档

那接下来我通过分享配置文件,来解释一些点;


实战解析

刚刚安装完成后,你的内容肯定是非常简洁的,你只需要配置对相应的参数,并可以通过保存按钮,基本是没有问题的

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
		#include luawaf.conf;

		include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
		fastcgi_intercept_errors on;

        gzip on;   //gzip 压缩开启
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
		limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;


server{
        listen 80; //监听默认80端口
        server_name xxxx.com; //你的网址
        rewrite ^(.*)$  https://xxx.com permanent;  #http转https
}
server
    {
        listen 443 ssl; //监听443端口
        server_name xxx.com; //你的服务器地址
        ssl_certificate /www/server/nginx/cert/server.crt; //数字字安全证书位置
    
        ssl_certificate_key /www/server/nginx/cert/server.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 /neimenmenhuan {
          proxy_pass http://localhost:8080; //后端api地址
        }
        location / {
                  root  /www/server/phpmyadmin; //默认访问位置
            location ~ /tmp/ {
                return 403;
            }
           index index.html index.htm index.php; //启动主页,它会依次匹配
           try_files $uri $uri /index.html;  
        }
      
        access_log  /www/wwwlogs/access.log;
    } 
    
include /www/server/panel/vhost/nginx/*.conf;
}




以上是我的配置内容,配置时间:2022/11/14,因为如果时间点不同,随着软件更新,配置内容也会不同,如果你可以尝试按我的配置完成,那么你已经可以从浏览器访问了,但是如果是初学者,我还是希望知晓如下知识:

❓什么是https,为什么监听443端口

https协议默认的端口号是443,http协议默认端口号是80。http协议是明文传输协议,无法防止中间人盗取、篡改信息等,所以http网站存在众多安全风险隐患。而https存在不同于http的默认端口及一个SSL加密/身份验证层(在http与tcp之间),将能有效地进行身份验证和加密传输,保护网站安全。


❓什么是.crt文件

.crt文件名扩展名主要属于X.509数字安全证书(.crt)文件类型。数字安全证书是按照X.509 v3证书标准(IETF的RFC 5280),用于认证、连接和文件保护、加密和身份验证的唯一字节序列。证书文件使用以下扩展名:.crt、.cer、.der、.pem。


❓什么是.key文件

KEY文件通常被各种软件用于保存许可证密钥文件。KEY文件属于授权文件一种,可以以纯文本格式保存,但通常包含某种形式的加密密钥字符串,用于验证购买信息并注册软件。


❓这俩个文件如何获得

笔者这里是使用的华为云服务器,通过申请获得证书文件夹,过程这里不再赘述,相关过程中会有详细指导,解压后你会得到一个这样的文件夹:

在这里插入图片描述
我们把里面的 .crt, .key 文件复制到服务器里,在配置处配置路径即可,ngnix里的文件路径我们自定义即可,不必模仿,例如笔者的/www/server/phpmyadmin目录里面是这样的;

在这里插入图片描述

完成后,记得要重启服务器!
在这里插入图片描述

好了,快去访问你的https网站吧

最后

📚 服务器专栏
☃️ 个人简介:一个喜爱技术的人。
🌞 励志格言: 脚踏实地,虚心学习。
❗如果文章还可以,记得用你可爱的小手点赞👍关注✅,我会在第一时间回、回访,欢迎进一步交流。

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

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

相关文章

去面腾讯了(社招两年面试经验)

之前很多同学嚷嚷有没有社招经验,正好,我有个朋友去腾讯社招面试了。 他的面的是全栈开发岗位,工作两年,后端是Go,前端是 JavaScript Vue。 因为工作也没多久,就两年时间,所以大概率可能还是…

Linux:用户和用户组

Linux系统中可以: 配置多个用户配置多个用户组用户可以加入多个用户组 Linux系统关于权限的管控级别有两个,即: 针对用户的权限控制针对用户组的权限控制 1、用户组管理 创建用户组,语法: groupadd 用户组名 删除用户组…

NLP——Summarization

文章目录 Extractive summarisationSingle-documentcontent selectionTFIDF MethodLog Likelihood Ratio Method对数似然比Sentence Centrality Method 句子中心法 RST Parsing Multi-documentContent selectionMaximum Marginal Relevance 最大边际相关性Information Ordering…

详细介绍ROS中通过shell文件依次启动多个launch文件

本文主要介绍如何在ROS中通过shell文件依次启动多个launch文件,并介绍如何在同一个窗口的不同选项卡中依次启动多个launch文件。 一、先来看一个简单的示例: #!/bin/bashgnome-terminal -- bash -c "roslaunch bringup racecar_gazebo_rviz_znc.la…

Word控件Spire.Doc 【其他】教程(9):从 Word 文档中提取 OLE 对象

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

NestJs 管道(Pipe)

🎄Hi~ 大家好,我是小鑫同学,资深 IT 从业者,InfoQ 的签约作者,擅长前端开发并在这一领域有多年的经验,致力于分享我在技术方面的见解和心得 🚀技术&代码分享 我在 94Code 总结技术学习&…

Windows下安装运行Kafka(最底下有遇到的坑与解决方法)

注:安装kafka需要提前安装Zookeeper 一、Zookeeper安装 1. 下载安装包 https://zookeeper.apache.org/releases.html 注意:要下载带bin的安装包 2. 解压并进入ZooKeeper目录,如:D:\onworking\apache-zookeeper-3.7.0-bin&…

ansible剧本模式特殊模块使用

Nginx安装剧本 ansible-playbook test1.yaml //补充参数 -k(-ask-pass):用来交互输入ssh密码 -K(-ask-become-pass):用来交互输入sudo密码 -u:指定用户 -e:命令行指定变量 --syntax-check…

【服务器数据恢复】HP LeftHand存储raid5不可用的数据恢复案例

HP LeftHand存储简介: HP LeftHand存储支持搭建RAID5、RAID6、RAID10磁盘阵列,支持卷快照,卷动态扩容等。服务端和客户端分别如下: LeftHand存储共有三个级别:物理磁盘、基于多个物理磁盘组成的逻辑磁盘(ra…

广东电信突发故障,手机没信号,对讲机的重要性再次凸显

当我们常用的通信网络出现故障时,就会面临全网瘫痪的情况,这个时候无线电通信就显得尤为重要了! 在6月8日下午两点左右,有多位广东电信的用户发现,自己的手机突然出现了打不出去电话,及上不了网的情况&…

Unity编辑器扩展-第四集-获取物体的方法

第三集链接:Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件_菌菌巧乐兹的博客-CSDN博客 一、本节目标效果展示 1.改选中单个物体的名字 2.改选中所有物体的名字 3.选中了所有的物体,但只改第一层物体的名称 4.来个有用的(选中的所有…

Python进阶语法之列表推导式

Python进阶语法之列表推导式 Python列表推导式是Python中最有魅力的特性之一,它提供了一种优雅、简洁的方式来创建列表。这种语法不仅使得代码更加简洁,易读,而且在某些情况下还可以提高代码的执行效率。接下来,我们将一起深入探…

SpringBoot中@ControllerAdvice的三种使用场景

一、全局异常处理 代码示例如下: /*** author qinxun* date 2023-06-14* Descripion: 业务层异常枚举*/ public enum ServiceExceptionEnum {SUCCESS(0, "成功"),ERROR(1, "失败"),SYS_ERROR(1000, "服务端发生异常"),MISSING_REQUEST_PARAM_E…

使用同步信号量和互斥信号量解决生产者和消费者问题

生产者和消费者问题 生产者和消费者问题是一个经典的进程同步问题。在这个问题中,生产者不断地向缓冲区中写入数据,而消费者则从缓冲区中读取数据。生产者进程和消费者进程对缓冲区的操作是互斥的,即任意时刻只能有一个进程对这个缓冲区进行…

RTU电流采集上传

RTU电流采集上传 案例说明器件 物联网平台开发代码修改三元组 测试 案例说明 本案例使用HD1(RTU)检测外部电流,并将电流上传阿里云端。 压力传感器输出电流信号,读取压力传感器数值时需要检测电流大小。haasHD1(RTU)有两路ADC—…

深度学习应用篇-元学习[16]:基于模型的元学习-Learning to Learn优化策略、Meta-Learner LSTM

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

[C语言实现]数据结构堆之《害怕二叉树所以天赋全点到堆上了》

🥰作者: FlashRider 🌏专栏: 数据结构 🍖知识概要:详解堆的概念、小根堆与大根堆的区别、以及代码实现。 目录 什么是堆? 如何实现堆? 代码实现堆(小根堆) 定义堆以及堆的初始化和销毁。 堆的插入 堆…

LeetCode·每日一题·1177. 构建回文串检测·前缀和

作者:小迅 链接:https://leetcode.cn/problems/can-make-palindrome-from-substring/solutions/2309940/qian-zhui-he-zhu-shi-chao-ji-xiang-xi-by-n3ps/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获…

最新水文水动力模型在城市内涝、城市排水、海绵城市规划设计中深度应用

随着计算机的广泛应用和各类模型软件的发展,将排水系统模型作为城市洪灾评价与防治的技术手段已经成为防洪防灾的重要技术途径。本次培训将聚焦于综合利用GIS及CAD等工具高效地进行大规模城市排水系统水力模型的建立,利用SWMM实现排水系统水力模拟。讲解…

【RH850/U2A】:GreenHills编译配置

GreenHills编译配置 GreenHills语法.gpj文件.opt文件示例GreenHills编译器在编译我们的文件时涉及它需要哪些文件及相关配置呢?带着疑问我们开始来梳理。 我们还是以具体示例来展开(硬件平台:RH850 U2A8) GreenHills语法 一般我们是需要查看它的帮助文档的,文档在哪里呢?…