ubantu下的前后端部署

news2024/11/26 3:51:50

ubantu


远程ssh连接

通过ssh远程连接服务器,传输文件和执行命令

首先更新软件包保证版本最新

sudo apt update

安装ssh

sudo apt install openssh-server

安装完成后默认开启,也可输入命令查看ssh状态

sudo systemctl status ssh

如果输入为下图,则开启成功(按q 或ctrl + c返回命令行提示符)
在这里插入图片描述

ubuntu附带一个名为 UFW 的防火墙配置工具,如果系统启用了防火墙,请确保打开ssh端口

sudo ufw allow ssh

ssh开启后可通过APP进行连接,如xshell、xftp,连接后使用用户名密码登录即可进行远程连接使用终端和传输文件。


项目部署

nginx

首先需要使用nginx搭建服务

  1. 在安装nginx之前,需要安装一下需要的工具
sudo apt-get install libpcre3-dev
sudo apt-get install ruby
sudo apt-get install zlib1g-dev
  1. 安装完成后下载nginx stable
    在这里插入图片描述

  2. 下载完成后将压缩文件移动到 usr/local 文件夹下开始解压 (注意:nginx可能版本更新,1.24.0为当前最新稳定版本,解压时需注意当前下载的压缩包名称)

tar -zxvf nginx-1.24.0.tar.gz

:如果因为权限问题无法移动文件夹,则使用sudo nautilus命令打开一个有权限的文件管理器,就可以操作了,注意移动结束前不要关闭执行该命令的终端。

  1. 解压完成后开始编译(注意1.24.0为解压后的压缩包名称 注意nginx版本更新后会变化)
cd /usr/local/nginx-1.24.0/

./configure  --with-http_ssl_module

./configure

make && make install
  1. 请必须下完工具后再进行编译,否则需要卸载nginx后重新安装,检查是否安装成功(显示版本号则安装成功)
/usr/local/nginx/sbin/nginx -v

完成后会在usr/local目录下生成nginx文件夹, 修改配置需要在/usr/local/nginx/conf/nginx.conf下修改。


mongoDB

  1. 直接运行命令安装即可
sudo apt-get install mongodb
  1. 安装完成后会自动运行,通过命令查看进程是否已经启动(显示 xxxxx mongod即成功)
pgrep mongo -l
  1. 连接mongodb
mongo mongodb://127.0.0.1:27017
  1. 命令

关闭mongodb

sudo service mongodb stop 

开启mongodb

sudo service mongodb start

管理服务状态

sudo systemctl status mongodb

修改 mongodb 是否自动随系统启动(默认:启用)

sudo systemctl disable mongodb
 
sudo systemctl enable mongodb
  1. 卸载mongodb
    如果需要 从 Ubuntu 仓库安装 mongodb 并想要卸载它(可能要使用官方支持的方式安装),可以输入:
sudo systemctl stop mongodb
 
sudo apt purge mongodb
 
sudo apt autoremove

默认情况下,包管理器将创建 /var/lib/mongodb/var/log/mongodb,配置文件目录为 /etc/mongodb.conf


nodejs

  1. 先下载nvm(由于直接下载的node版本较低,直接使用nvm还可以切换版本),先下载需要使用的curl
sudo apt install curl
  1. 开始下载
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  1. 获取.bashrc文件
source ~/.bashrc

4.确认是否安装成功

command -v nvm

5.查询可用版本

nvm list-remote

然后下载并切换node版本即可,如果切换版本后使用node时出现

node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28’ not found (required by node)

是由于node版本过高,使用nvm切换16.15.1即可。


pm2

在安装后端运行的监控环境,可以方便的在web端管理服务的启停。

npm install pm2 -g

启动命令start后面的JS换成你实际存放的JS位置

pm2 start dist/index.js

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

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

相关文章

warning: ignoring JAVA_HOME=D:\JDK; using bundled JDK报错解决

warning: ignoring JAVA_HOMED:\JDK; using bundled JDK报错原因是因为你JDK版本太低或者你的ElasticSearch版本太高降低版本即可、 我的是JDK1.8我下载的是elasticsearch-8.7.0改成elasticsearch-7.6.1就可以了 elasticsearch-7.6.1地址:弹性搜索 7.6.1 |弹性的 …

【动手学深度学习】--13.使用块的网络 VGG

文章目录 使用块的网络 VGG1.VGG块2.VGG网络3.训练模型 使用块的网络 VGG 学习视频:使用块的网络 VGG【动手学深度学习v2】 官方笔记:使用块的网络(VGG) 1.VGG块 经典卷积神经网络的基本组成部分是下面的这个序列:…

软件测试转车载测试应该怎么做?

1、你要是零基础小白,做车载测试零基础没有经验,可以找到工作吗?没有汽车软件测试经验零基础小白能找到汽车测试的工作吗?对于企业而言,企业比较倾向于录用,就能给公司带来利益的员工来了就能直接上岗&…

公开讲座笔记 | 雷达学报 雷达系统微课 - 第一讲 雷达系统 与 “1+1=2“

原笔记链接:https://mp.weixin.qq.com/s?__bizMzg4MjgxMjgyMg&mid2247486333&idx1&sn05397073a1e645d68e2611c9f9f3aeef&chksmcf51b984f8263092dd4ac6c6fd76817ae022ec8f0cda9a915245156cb4c3eb849091da06fdd1#rd 公开讲座笔记 | 雷达学报 雷达系统…

vue3 和vue2 的插槽写法区别

目录 1. vue2 2. vue3 注意的点: 1. vue2 2. vue3 注意的点: 在data里面定的初值,最好不要直接赋给表格数据。如下: data里面 editRow初始化 给表格tableData 赋值

Spring Boot学习

Spring Boot 配置 同一目录下配置文件优先级:.properties > .yml > .yaml 错误:org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1 Caused by: java.nio.charset.MalformedInputException: Inp…

将网页数据读入数据库+将数据库数据读出到网页——基于python flask实现网页与数据库的交互连接【全网最全】

本篇博客的目标是:在网页端输入数据,然后将数据存入数据库。但仅仅“存放”还不满能足需求,因此我们还需要能够取出数据,进行数据的比对分析。 我们将任务分解为4步:第1步用python连接到数据库,第2步用pyt…

ubuntu20.04部署Nessus_pro2023年6月30日版本

这里写目录标题 1. 前期准备2. nessus前期安装2.1. 下载nessus2.2. 安装nessus2.3. 运行nessus 3. 设置nessus3.1. 初始化设置3.2. 无插件3.3. 获取更新插件3.4. 设置目录权限及插件信息3.4.1. 设置plugins目录权限3.4.2. 设置plugin_feed_info.inc权限3.4.3. 查看插件信息3.4.…

如何成为网络安全大牛(黑客)?

网安专业从始至终都是需要学习的,大学是无法培养出合格的网安人才的。这就是为啥每年网安专业毕业生并不少,而真正从事网安岗位的人,寥寥无几的根本原因。 如果将来打算从事网安岗位,那么不断学习是你唯一的途径。 网络安全为什…

C语言 register关键字与“傲娇的编译器”

1.作用: “建议”编译器把变量放到寄存器内,编译器不一定听你的(傲娇)!! 2.速度:寄存器>高速缓存>内存,寄存器空间很宝贵(非常非常少) 3.寄存器不支持取…

JavaScript基础篇(11-20题)

此文章,来源于印客学院的资料【第一部分:基础篇(105题)】,也有一些从网上查找的补充。 这里只是分享,便于学习。 诸君可以根据自己实际情况,自行衡量,看看哪里需要加强。 概述如下: 模块化开…

React和Vue生命周期、渲染顺序

主要就是命名不同 目录 React 组件挂载 挂载前constructor() 挂载时render() 挂载后componentDidMount():初始化节点 更新 更新时render():prop/state改变 更新后componentDidUpdate() 卸载 卸载前componentWillUnmount():清理 V…

利用数据与分析,推动企业数字化发展的路线图

导读 如今,保持数据与分析(D&A)战略与业务发展的统一同步,是助力企业机构成功和推进数字化项目的关键。敏捷的数据与分析能力对于培养感知-响应能力至关重要,可帮助企业机构满足全新的需求,进入前所未…

git页面管理用户账号和密码(新建用户和初始化密码)

本文章适用:没有固定的用户认证(AD域或者LDAP等),git私有仓库单独管理用户(新建用户和初始化密码)。 1.创建新用户 以管理员的身份登录,进入git的管理模式,点击“New user”&…

copilot使用初体验(一)

写函数 1、写一个注释,按下回车,会自动生成函数(函数名函数体),然后按下 tab,接受建议。 // 找出一个数组中houseId等于3的那项 findHouseIdIs3(arr) {return arr.find(item > item.houseId 3) },快捷…

UDP-组播,广播

转自:https://www.cnblogs.com/wangzhilei-src/p/15314315.html UDP是面向非连接的协议,它不与对方建立连接,而是直接把数据报发给对方。UDP无需建立类如三次握手的连接,使得通信效率很高。因此UDP适用于一次传输数据量很少、对可…

python 100以内的质数

可以使用for循环 # 求100以内的质数 i 2 for j in range(1, 101): #如果100以内的数字除以2的余数等于0if (j % i 0): #如果是就跳过,继续下一个循环continueprint(j) 要找出从1到100之间的质数,你可以使用嵌套循环和判断条件来实现。 print("…

硬中断、软中断详解

文章目录 什么是中断? 什么是计算机的中断? 什么叫硬中断、什么叫软中断? 怎么查看硬中断、软中断 查看硬中断的运行情况 cat /proc/interrupts 查看软中断的运行情况 cat /proc/softirqs 怎么排查软中断过高的问题? 软中断注意事…

win11 win+e 打开我的电脑

在打开的【文件资源管理器】中,找到【选项】菜单,并点击该菜单 在打开的弹框中,将选项卡切换到【常规】,将【打开文件资源管理器时打开】后的下拉框,选择为【此电脑】,然后,点击保存即可。到此&…

8.1Java EE——Spring AOP

Spring的AOP模块是Spring框架体系中十分重要的内容,该模块一般适用于具有横切逻辑的场景,如访问控制、事务管理和性能监控等 一、AOP概述 AOP的全称是Aspect Oriented Programming,即面向切面编程。和OOP不同,AOP主张将程序中相同…