项目上线,部署到服务器(腾讯服务器),http协议及https协议(微信小程序必须https协议才可发布)

一、准备服务器:

1.选择自己的服务器,这里有很多服务器比如,阿里服务器,腾讯服务器等,这里我选择腾讯服务器做测试,其官网:https://cloud.tencent.com/,微信扫码登录后如下进入首页:
在这里插入图片描述
2.鼠标移到右上角点击进入实名认证界面,如:
在这里插入图片描述
3.点击后进入如下界面,根据个人情况选择进行实名认证,我这里进行个人实名认证,如:
在这里插入图片描述
4.填写用户信息,如:

在这里插入图片描述
5.填写用户信息完成后,再次扫码进行校验,如:
在这里插入图片描述
6.完成实名认证后可继续补充资料,也可忽略,如:在这里插入图片描述
7.选择服务器,新用户可领取免费产品中的进行体验,试用期过后需要续费,我先选择试用版,如下
在这里插入图片描述
8.选择轻量服务器,如图:

在这里插入图片描述
由于今天免费服务器名额已用完,这里我就不过多的介绍了,不太会的可以百度一下即可解决。

二、安装服务软件:

1、安装Nginx:

Nginx 是一个HTTP和反向代理web服务器,服务器这里有很多种,例如Apache等,这里我使用Nginx进行测试,如:

1.进入购买的服务器,找到自己电脑上的远程链接,如:
在这里插入图片描述
2.输入服务器IP地址、用户名、密码,如:
在这里插入图片描述
3.进入服务器可以看到此服务器为windos操作系统,很多公司可能回用Linux,做测试用都是无关紧要的,下面简单介绍一下它们的不同之处:

Windows是一种计算机操作系统(OS),操作系统都带有桌面的图形用户界面(GUI),它设计为在x86硬件(例如AMD,Intel处理器)上运行。因此,几乎所有制造PC或笔记本电脑的公司都附带Windows OS

Linux是基于UNIX的开源操作系统,它是位于计算机上所有其他软件之下的软件,Linux主要用作服务器-Internet上的大多数网页都是从Linux服务器生成

Linux是开源操作系统,而Windows OS是商业操作系统

Linux有权访问源代码并根据用户需要更改代码,而Windows则无权访问源代码

Linux的运行速度也比Windows最新版本快

Linux比Windows更可靠

Linux支持比Windows更多的自由软件

Linux中,软件成本几乎是免费的

Linux具有很高的安全性

Linux被企业组织用作服务器和操作系统,以实现Google,Facebook,Twitter等的安全目的,而Windows则主要由游戏玩家和商业用户使用
在这里插入图片描述
4.知道自己服务器是什么操作系统后,进入Nginx官网:http://nginx.org/en/download.html,安装匹配自己系统的Nginx服务软件,注意:带windows字符串的表示windows版,中间为Linux版,最前面则为文档,这里我选对应自己服务器系统的windows版本,且为稳定版,如:
在这里插入图片描述
5.将下载的压缩包解压到C盘根目录下后,双击图中绿色nginx程序启动(也可在当前目录下进入命令行,输入命令:start nginx.exe ,我当时是在命令行启动的,遇到一个很奇怪的问题:nginx.conf配置文件更改后不能及时生效或不生效或程序是否启动,启动后是否能停止,导致前端访问后端接口时一直报404问题,首选配置都是没有问题的,最后通过大佬调试,将进程中的Nginx杀掉,双击程序启动后 nginx.conf配置文件才生效的,很诡异,当时有四个人调试过),如:
在这里插入图片描述
在这里插入图片描述

6.双击Nginx程序后,可进入本服务器浏览器输入localhost回车检查是否启动成功,如:
在这里插入图片描述
7.此时还可以更进一步的测试,此服务在外部是否可以访问的到,在测试之前可以将自己项目的前端静态资源放到如下图指定的文件夹中,这里就用简单的index.html代替前端项目,之后建议重启Nginx(双击或命令行键入命令:nginx.exe -s reload)如
在这里插入图片描述
8.重启Nginx后在自己的电脑(非服务器)浏览器输入服务器IP地址回车即可看到自己的项目,如:
在这里插入图片描述
9.最后特别强调,请确保项目中用到的端口在云平台已开通,如数据库3306、后端程序我开3000等,例 如下:
在这里插入图片描述
提示:Linux命令和windows命令有区别,使用Linux的朋友可以百度相关命令即可

2、安装MySQL:

mysql的安装我之前有总结过笔记,且笔记目前还是比较新的,可以正常使用,其地址为:https://blog.csdn.net/weixin_46758988/article/details/116368575
提示:装完MySQL后应将项目的基础数据导入到数据库,这里可以通过sqlyog数据库管理工具,将SQL文本直接导入,不了解sqlyog的可以百度。

3、安装node环境:

node的安装我之前也是总结过笔记的,唯一的区别就是目前服务端安装node更简单,和安装Nginx一样,拿到压缩包解压后双击最显眼的程序即可,安装完成后应进行查看是否安装成功,相关笔记总结:https://blog.csdn.net/weixin_46758988/article/details/117109297

三、上线项目:

项目部署模式分为:前后端不分离和前后端分离两种模式,在这里两种模式我都会介绍,但是即使是前后端分离的项目,我这里还是用同一台服务器做测试,如果想要真正的将前端项目和后端项目放到不同的服务器去,那么只需要修改后端监听的服务器地址即可,在这里我只是用端口做区分;另外需注意的是,文件上传到服务器可通过FTP等上传工具,这里我不做过多介绍,我是通过复制的方式放到服务器的;如果是部署到Linux服务器,大同小异,不同的部分只需百度即可

前后端分离模式:

1.拿到前端项目后先进行打包,将打包后生成的dist目录下的所有文件丢进服务器Nginx中html目录下,如:
在这里插入图片描述
2.将后端项目丢在服务器任意一个文件夹中,这里方便起见我丢在C盘根目录下,如:
在这里插入图片描述
3.将项目放到某文件夹后进入项目,并打开命令行键入:pm2 start pm2config.json 回车启动项目即可

4.配置Nginx服务软件中nginx-1.20.2\conf下的nginx.conf配置文件,如下:

worker_processes  2;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  127.0.0.1;location / {root   html;index  index.html index.htm;try_files $uri $uri/ /index.html;}location /api {proxy_pass  http://127.0.0.1:3000; #设置接口代理服务器}location /spublic {proxy_pass  http://127.0.0.1:3000; #设置图片资源代理服务器}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

5.重启Nginx服务后到自己电脑浏览器输入服务器IP地址回车,见如下则部署前后端分离项目成功,如:
在这里插入图片描述
前后端不分离模式:

1.拿到后端项目后丢到Nginx服务软件html文件夹中,并将前端打包后的dist文件页丢到Nginx下html目录下,注意,后端项目这里我没有进行打包,可忽略,如:
在这里插入图片描述
2.找到后端项目文件夹下index.js,用编辑器打开,滑到到最下面,修改端口号3000为80,如:
在这里插入图片描述
3.找到js文件夹下bodyparses.js,用编辑器打开,开放dist静态文件目录,需要添加如下方框中的代码即可,如:
在这里插入图片描述
4.配置Nginx服务软件中nginx-1.20.2\conf下的nginx.conf配置文件,如下:


#user  nobody;
worker_processes  2;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen 80;server_name  127.0.0.1;error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

5.重启Nginx服务后到自己电脑浏览器输入服务器IP地址回车,见如下则部署前后端不分离项目成功,如:
在这里插入图片描述

**补充:**有的时候我们可能会用到https协议,比如微信小程序中必须使用https协议进行数据传输,此时我们可以配置https服务,其步骤主要如下:
1.准备服务器和域名,且域名要备案并绑定服务器ip
2.申请SSL证书,Nginx版解压为后缀key和pem的文件
3.配置nginx.conf文件,如下:

   # HTTPS serverserver {listen       443 ssl; // 这里端口号是监听域名解析的ip地址的端口号,https默认端口号是443,这里可以使用自己指定的端口号,但是一定要和域名中开通的一致。server_name  127.0.0.1; // 监听的服务器ssl_certificate      cert/yj.com.pem; // ssl证书解压后其中一个文件,这里是路径,这里表示nginx.config文件存在的文件夹下cert文件夹中的yj.com.pem文件,下面.key文件和这里一样ssl_certificate_key  cert/yj.com.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://127.0.0.1:3001; // 指向反向代理后端项目主机及端口号}}

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

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

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

相关文章

队列的基本操作_算法与数据结构(五) 栈和队列

? 工欲善其事,必先利其器。栈和队列 - Stack And Queue栈如何理解栈呢?后进者先出,先进者后出,这就是典型的 "栈" 结构。04_栈和队列-栈结构从栈的操作特性上来看,栈是一种“操作受限”的线性表&#xff0c…

八邻域轮廓跟踪算法_结合mRMR选择和IFCM聚类的遥感影像分类算法

随着遥感成像技术的发展,高分遥感影像空间分辨率逐年提高,已经成为获取地物信息的主要数据来源之一。高分影像分类作为遥感影像处理的重要任务之一,在地理国情普查与监测、数字城市建设、城市规划等领域具有广阔的应用前景。高分影像具有纹理…

node.js中net模块、node实现tcp通信

node.js中net 一、net模块感知: net模块用于创建基于TCP(或IPC)通信的服务器或客户端,它是nodejs内置模块,直接使用require(‘net’)的方式引入,类似http模块。 二、创建一个tcp服务器: //1…

struts2--文件上传大小

struts2--文件上传大小 Struts2文件上传的大小限制问题 问题&#xff1a;上传大文件报错……解决&#xff1a;修改struts.xml文件中的参数如下<constant name"struts.multipart.maxSize" value"55000000"/><action name"UploadFile" cl…

element-plus中导航高亮不自动刷新问题

解决使用element-plus el-submenu时页面被this.$router.push(“xxx”)跳转后&#xff0c;导航菜单高亮不能自动刷新问题&#xff0c;需要注意以下几点&#xff1a; 在el-menu加上routerindex必须绑定路由的path,参考上面的例子&#xff0c;/不能少default-active设为当前路由&…

计算机二级考试python怎么报名_计算机二级报名流程和条件

对于第一次参加全国计算机二级考试的考生来说&#xff0c;他们对于计算机二级报名流程和条件不是清楚&#xff0c;小编这就来给大家梳理一下。计算机二级报名流程 一、报名 分为网上报名和现场报名。 网上报名&#xff1a;考生在规定时间内登录本省计算机资格网站&#xff0c;按…

操作对象_DOM进阶——HTML属性操作(对象属性)

上一节我们在“DOM基础”学习了对元素节点的操作&#xff0c;这两节介绍对属性节点的操作。属性节点操作有两种方式&#xff0c;一种是使用“对象属性”&#xff0c;另一种是“对象方法”。本节主要介绍“对象属性”的方式。对属性节点的操作涉及两种操作&#xff0c;分别是获取…

三级菜单数据实现,实现嵌套三级菜单数据

//将数据库中通过关联&#xff08;inner join&#xff09;查询多张表没有嵌套但有嵌套关系的数据进行处理&#xff0c;得到具有嵌套层级且嵌套的父级二级属性不可重复出现&#xff0c;具体实现如下&#xff1a;// 通过关联查询到数据库的数据&#xff08;格式&#xff09;&…

sap相关性不能被编译_经典综述编译丨生物硝化抑制丨NAT PLANTS:现代农业中的氮转化和生物硝化抑制作用...

点击蓝字↑↑↑“农作未来(FarmingFuture)”&#xff0c;轻松关注&#xff0c;农作制度研究与您同行&#xff01;编译&#xff1a;贾蓉 排版&#xff1a;王上原创微文&#xff0c;欢迎转发转载。文章信息原名&#xff1a;Nitrogen transformations in modern agriculture and …

Hadoop学习笔记(一)从官网下载安装包

Hadoop是一个分布式系统基础架构&#xff0c;由Apache基金会所开发。用户能够在不了解分布式底层细节的情况下&#xff0c;开发分布式程序。充分利用集群的威力进行快速运算和存储。要学习Hadoop从下载安装包開始打开Hadoop的官方站点&#xff0c;点击Download Hadoop或点击“G…

版本之间如何兼容_Spring Boot 2.4 版本的系统运行要求

名字Servlet 版本Tomcat 9.04.0Jetty 9.43.1Undertow 2.04.0Spring Boot 2.4.2-SNAPSHOT 版本要求至少 Java 8 及其以上版本&#xff0c;目前最高能够支持到 Java 15 &#xff08;包含 15&#xff09;的版本。 Spring 框架&#xff08;Framework&#xff09; 5.3.2 的版本或者以…

JavaScript异步处理问题,循环处理异步任务,并拿到数据,Nodejs循环异步任务接口处理

一、问题描述及解答&#xff1a; 在Promise(异步事件)中&#xff0c;通过遍历的方式处理数据&#xff0c;最后将带有数据的Promise通过return返回&#xff0c;在async/await处理机制中的到的数据是一个空数据组[]或不完整的数据&#xff0c;如下&#xff1a; 使用定时器后数据…

tomcat lifecyclelistener_大公司程序员带你死磕Tomcat系列(五)——容器

死磕Tomcat系列(5)——容器回顾在死磕Tomcat系列(1)——整体架构中我们简单介绍了容器的概念&#xff0c;并且说了在容器中所有子容器的父接口是Container。在死磕Tomcat系列(2)——EndPoint源码解析中&#xff0c;我们知道了连接器将请求过来的数据解析成Tomcat需要的ServletR…

获取当前周一日期_Excel工作表中最全的时间和日期函数,效率、办公必备

在Excel工作表中&#xff0c;函数也可以分为好几类&#xff0c;今天&#xff0c;小编带大家学习时间和日期函数。一、Excel工作表日期函数&#xff1a;Date。功能&#xff1a;返回特定日期的序列号。语法结构&#xff1a;Date(年,月,日)。目的&#xff1a;将制定的“年”、“月…

这样就算会了PHP么?-11

PHP中关于类的基本内容练习&#xff1a; <?phpclass SportObject{public $name;public $height;public $avirdupois;public function __construct($name, $height,$avirdupois) {$this->name $name;$this->height $height;$this->avirdupois $avirdupois;}func…

一个黑色全屏的计时器_我入手了一个1000多的智能手环,值吗?|Fitbit Charge 4测评...

入手Fitbit Charge 4了。作为一个喜欢晚上做运动的Boy&#xff0c;每次运动带着手机确实有够累赘&#xff0c;比如跑步的时候&#xff0c;掏手机看真的很麻烦&#xff0c;但手环只需抬手即可看时间、心率、步数这些&#xff0c;确实很方便。而且&#xff0c;有了手环之后&#…

python没有用_你可能没有在Python3中使用但却应该使用的东西

Python部落(python.freelycode.com)组织翻译&#xff0c;禁止转载&#xff0c;欢迎转发。 由于Python EOL的发布&#xff0c;许多人开始将他们的Python版本从2切换到3。不幸的是&#xff0c;我发现大多数Python3看起来仍然像Python2&#xff0c;但是要加括号(尽管在我之前的文章…

boost库 bind/function的使用

Boost::Function 是对函数指针的对象化封装&#xff0c;在概念上与广义上的回调函数类似。相对于函数指针&#xff0c;function除了使用自由函数&#xff0c;还可以使用函数对象&#xff0c;甚至是类的成员函数&#xff0c;这个就很强大了哈 #include <boost/function.hpp&g…

10恢复出厂设置_Mac系统如何恢复出厂设置

苹果Mac电脑在什么情况下需要恢复出厂设置呢&#xff1f;例如系统数据损坏、遇到无法卸载的恶意软件、错误更新导致、或者你只是想要闲鱼出售你的Mac电脑&#xff0c;这里系统派教你Mac如何恢复出厂设置。我们先简单将恢复出厂分成两步&#xff0c;一是擦除硬盘数据&#xff0c…

依赖注入的三种方式_Java核心知识 Spring原理十 Spring 依赖注入四种方式

构造器注入/*带参数&#xff0c;方便利用构造器进行注入*/ public CatDaoImpl(String message){ this. message message; } setter 方法注入public class Id { private int id; public int getId() { return id; } public void setId(int id) { this.id id; } } 静态工厂注入…