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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

前情提要

在这里插入图片描述
一个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协议默认的端口号是443http协议默认端口号是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网站吧

最后

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginxvue