Linux(常用操作+服务器部署项目运行环境的过程记录)

news2025/1/16 19:04:43

Linux(常用操作+实例springboot项目(包含数据库)打包上传,配置到腾讯云轻量级服务器,中间一些错误也记录了解决方法和自己的理解)

Linux中一切皆文件【文件: 读写执行(查看、创建、删除、移动、复制、编辑),权限(用户、用户组)。系统: (磁盘、进程管理)】
用户、组权限的修改、查看、管理

useradd -m 用户名 创建一个用户,-m自动创建这个用户的主目录
userdel -r 用户名 删除此用户,-r自动删除此用户的目录页
usermod 修改内容 用户名,修改一个用户内容
su 用户名,切换操作的用户

chgrp [-R(递归更改该目录下所有)] 属组名 文件名>chown [-R] 属主名[: 属组名] 文件名
chmod 更改文件的9个属性(读r写w执行x,可简化成4+2+1为7)(owner/group/others)

root权限下,可以冻结别的账户,比如
passwd -l 用户名 锁定此用户
passwd -d 用户名 让他没密码,也登不上去了

文件查看、编辑之类的操作:

查看文件内容:
cat 文件名 正常显示文件内容
tac 文件名 倒着显示
nl 文件名 显示有行号
more 文件名 一页一页的展示内容,空格键翻页
less 文件名 可以翻页,n向下查,N向上查
head -n 文件名 看前面几行
tail -n 文件名 看后面几行

网络:

网络配置目录:cd /etc/sysconfig/network-scripts
ifconfig查看网络

文件相关:

rm -rf 文件名 删除一个文件
rm -rf / 删库跑路
vim 文件名
点击i,开始编辑模式
点击esc,退出 编辑模式 进去 阅读模式
一、
点击:, 开始底行输入模式
1、输入(wq)回车,保存并退出文件
2、输入大写(ZZ)回车,不做修改保存,直接退出
3、输入(w 文件名) 回车,另存为 文件名
4、输入set nu 回车,显示行号
5、输入set nonu 回车,取消行号
二、
点击/,输入一个单词,检索查找这个单词的位置(从光标往下开始)
点击?,输入一个单词,检索查找这个单词的位置(从光标往上寻找)

进程相关:

1、管道符号 | ,比如A | B,可以将A的结果传给B
2、grep,过滤,查找文件中符合条件的字符串
比如 ps -aux查看所有进程
ps -aux | grep mysql 查看mysql所有进程
3、ps, 查看当前系统中正在执行的进程的信息
ps -a 展示所有,all的意思
ps -u 以用户的信息展示进程
ps -x 展示后台运行进程的参数
ps -aux 联合上面3个
ps -aux | grep 条件,查找过滤出来的进程信息

pstree -pu,查看进程树(包含了父子进程结构)
kill -9 进程的id,强制杀死进程

打包上传项目,上线部署(包含防火墙):

安装jdk(可运行jar包,如果打包成war包得放在tomcat中运行【还得Linux安装tomcat】、数据库

把写好的springboot项目,用maven打包成jar,直接丢到linux自己的用户目录下,

开启项目需要的端口号,关闭防火墙对这个端口的阻塞
systemctl status firewall查看防火墙服务状态
firewall-cmd --list-all,查看全部信息
firewall-cmd --list-port,只查看当前防火墙对哪些端口开放
service firewall start,开启防火墙服务
systemctl restart firewalld.service重启防火墙
service firewall restart,重启防火墙服务
service firewall stop,关闭防火墙服务
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent,开启80端口(端口号/通讯协议)
开启之后记得重启防火墙服务

细节1–安装MySQL:

官网下载MySQL8-linux版本:https://dev.mysql.com/downloads/mysql/
腾讯云轻量级Linux服务器(白嫖),镜像选择CentOS 7.6:https://cloud.tencent.com/act/free
连接服务器的工具,使用Finalshell:http://www.hostbuf.com/

注意Finalshell有一个坑:就是将Windows下下载好的压缩的安装包,拖到下方Linux文件夹中上传,即便是没有上传完成,文件夹里也会出现这个压缩包(残缺的),然后离谱的是你也可以对之进行tar -xvf 文件名解压,但是解压后会在最后两行提示你Error(不要忽视,不然有可能误以为finalshell上传巨快,直接旧解压了,也不管报错了)。
正常解压,然后,一般解压到/usr/local下,解压后最好将这个文件夹改成mysql,比较方便,
然后在 usr/local/mysql 下,创建一个data文件夹,用来存放binlog之类的重要数据文件。
创建用户组、给这两个文件夹创建权限
然后配置etc/profile文件
然后配置etc/my.cnf
然后在mysql/bin目录下运行mysqld文件,进行数据库初始化【这时得到一个初始密码】
然后再修改user数据表,进行密码重置
开启MySQL远程登录的开放用户密码
开启MySQL服务开机自动启动
最后刷新,重启数据库服务。


然后考虑用navicat先连接一下试试,发现报了个2013开头的错误
这是因为DNS协议,网上有很多解决方案,我的方法:
添加规则(规则也就相当于防火墙对哪个端口开放):在这里插入图片描述
注意着两个地址【公 、 内】
在这里插入图片描述
分别对应:服务器------内网-----数据库
在这里插入图片描述
navicat--------公网-------服务器
在这里插入图片描述

细节2–安装JDK:

Oracle官网下载Linux版本的jdk:https://www.oracle.com/downloads/#category-java
在这里插入图片描述
然后解压到/usr/local,把解压后的文件夹重命名为/usr/local/jdk更方便
然后配置/etc/profile 如下:

#java environment
export JAVA_HOME=/usr/local/jdk1.8 #只改这里的你解压的地址,下边不用动
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

然后:java -version,看到Java信息就是配置好JDK了

下面由于配置的轻量级服务器,里面有公网、私网,就得很奇怪(图片中的更改,谁明白原理的,可以评论解释一下)地改一下你写好的springboot项目的配置文件(数据库的连接):
在这里插入图片描述
然后,其他的都不用改了,
直接maven:clear一下,再package一下,
将左侧target目录下的那个jar文件上传到:你准备好的专门用来放上传的项目文件的目录,我新设置的是在/dev/springboot/下。
然后,cd /dev/springboot,进入上传的这个jar文件所在的文件夹,
然后直接运行它:java -jar 文件名.jar
然后可以通过:服务器外网地址+项目的端口,直接访问到这个项目:
登录界面:
在这里插入图片描述


功能界面:
在这里插入图片描述

未完,待补充…,后续感觉还有可以加的东西了,再更新,博友们评论补充更好,欢迎评论❤❤❤

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

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

相关文章

java易错题锦集一

易错题 字符串 题一 原题链接 public class Example { String str new String("good"); char[] ch {a,b,c}; public static void main(String[] args) { Example ex new Example(); ex.change(ex.str, ex.ch); System.out.print(ex.str "and"); Syst…

Spring设计模式总结

Spring 框架用到了哪些设计模式? 代理模式 总述 所谓代理,是指它与被代理对象实现了相同的接口,客户端必须通过代理才能与被代理的目标类进行交互,而代理一般在交互的过程中(交互前后),进行某…

前端——周总结系列三

1 数组对象使用变量作为key加中括号 2 遍历数组异同 主要针对for…in, for…of ,map遍历方法 for…in和for…of都可以遍历数组,其中for…of可以获取数组的每一项,for…in不仅可以获取每一项,也可以获取索引值 for…o…

加油站会员管理小程序实战开发教程06-地图功能开发

上一篇我们主要是讲解了前端搭建的方法,本篇我们介绍一下地图功能的开发。 在我们的原型里在首页需要显示当前加油站距你的距离。计算距离需要我们引入地图的API,在微搭中先需要创建API。 登录控制台,点击APIs,点击新建APIs 选择腾讯地图 这里需要输入API KEY,微搭已经给…

LeetCode 刷题系列 -- 124. 二叉树中的最大路径和

路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root &…

跟着《代码随想录》刷题(一)——数组

1.1 数组基础理论 (1)定义:数组是存储在连续内存空间上相同类型数据的集合。 (2)注意: 数组下标是从0开始的;数组在内存空间的地址是连续的。 >删除或增添数组元素难免要移动其他元素的地…

DynaSLAM-11 DynaSLAM中RGB-D运行流程(Ⅰ):调用Mask 初始化R-CNN网络

目录 1.执行例程rgbd_tum 2.SegmentDynObject::SegmentDynObject方法 3. SegmentDynObject::GetSegmentation 4.初始化SLAM系统 1.执行例程rgbd_tum /home/lhwnb/Desktop/slam/DynaSLAM/Examples/RGB-D/rgbd_tum /home/lhwnb/Desktop/slam/DynaSLAM/Vocabulary/ORBvoc.txt …

多线程与线程池demo

第一步&#xff1a;切割数据的方法 public static List<List<Integer>> getProcessData(Integer batchSize) {List<Integer> originData new ArrayList<>();for (int i 0; i < 100; i) {originData.add(i);}List<List<Integer>> proc…

深度学习笔记:神经网络的学习(2)

本章上一篇可见链接 https://blog.csdn.net/Raine_Yang/article/details/128682091?spm1001.2014.3001.5501 梯度下降法&#xff08;gradient descend&#xff09; 神经网络学习的目标是找到使损失函数最小的参数&#xff08;权重和偏置&#xff09;。通过求得损失函数&#…

【JavaEE】快速了解什么是Maven?

✨哈喽&#xff0c;大家好&#xff0c;我是辰柒&#xff01;✨ &#x1f6f0;️&#x1f6f0;️系列专栏:【JavaEE】 ✈️✈️本篇内容:学习如何使用maven&#xff01; &#x1f680;&#x1f680;代码存放仓库github&#xff1a;JavaEE代码&#xff01; ⛵⛵作者简介&#xff…

C++STL——stack与queue

stack与queuestack与queuepriority_queue容器适配器vector与list的反向迭代器模拟实现仿函数deque(了解)stack与queue模拟实现priority_queue模拟实现stack与queue 这两个就是之前数据结构学过的栈和队列&#xff0c;只不过多了几个接口。 stack&#xff1a; queue&#xff…

【MySQL】MySQL 8 的 JSON 新特性详解(1)JSON 数据类型

目录一、概述二、MySQL 8 的环境搭建三、创建数据库、数据表并插入默认数据四、JSON格式数据的增加和查询1. 增加一条带JOSN格式的数据2.查询JSON内数据3.带筛选条件的查询五、总结一、概述 你好&#xff0c;我是小雨青年&#xff0c;一名使用MySQL 8 的程序员。 MySQL 8 引入…

Hadoop安装(二) --- Hadoop安装

目录 Hadoop安装&#xff08;一&#xff09;---JDK安装 修改hadoop313的权限 更改配置文件 配置core-site.xml 配置hadoop-env.sh 配置hdfs-site.xml 配置mapred-site.xml 配置yarn-site.xml 配置环境 刷新当前的shell环境 初始化 启动所有 SH 修改hadoop31…

Android Studio 从安装到第一个Android 应用Demo

安装Android Studio 安装需要 上网 &#xff0c;我这挺顺利的&#xff0c;就是在官网下载安装包&#xff0c;一路 Next&#xff0c;大概连下载总共半个小时。 第一个应用 参考官方教程&#xff1a;https://developer.android.com/codelabs/basic-android-kotlin-compose-firs…

Redis最佳实践

一、Redis键值设计 1.1、优雅的key结构 Redis的key&#xff0c;最佳实践约定&#xff1a; 遵循基本格式&#xff1a;【业务名称】:【数据名】:【id】长度不超过44字节不包含特殊字符 好处 可读性强避免key冲突方便管理更节省内存 1.2、拒绝BigKey BigKey通常以Key的大小和…

SOLIDWORKS PDM的智能报表自动生成工具

一、SOLIDWORKS企业高级报表软件介绍&#xff1a; SolidKits.Reports&#xff08;企业高级报表&#xff09;是一款无缝集成于SOLIDWORKS PDM的智能报表自动生成工具&#xff0c;可以自动生成企业所需的各类报表数据&#xff0c;涵盖结构数据报表、离散数据报表、变更数据报表、…

rocketmq源码-consumer负载均衡逻辑

前言 这篇笔记主要记录consumer在启动过程中&#xff0c;负载均衡的逻辑&#xff0c;多个消费者组成一个消费者组&#xff0c;对于集群模式&#xff0c;同一个消费者组中的多个消费者共同消费一个topic下的所有消息&#xff0c;所以每个consumer可能会处理N个messageQueue&…

【4】KVM管理 | 虚拟机的管理 | 克隆 | 快照

目录 1、虚机基本管理 2、虚机的克隆 3、增量镜像 4、虚机快照 1、虚机基本管理 查看正在运行的虚机 [rootlocalhost ~]# virsh list Id Name State ----------------------------------------------------查看所有的虚机 [rootlocalhost ~…

Apache Oozie(1):Apache Oozie简介

1 Oozie 概述 Oozie 是一个用来管理 Hadoop 生态圈 job 的工作流调度系统。由Cloudera 公司贡献给 Apache。Oozie 是运行于 Java servlet 容器上的一个 java web 应用。Oozie 的目的是按照 DAG&#xff08;有向无环图&#xff09;调度一系列的 Map/Reduce或者Hive 等任务。Ooz…

Java SE 进阶(二)之 HashSet底层原理

文章目录前言HashSet底层原理1.哈希表2.哈希值3.底层原理4.回答三个问题前言 关于Set和HashSet的API使用可参见 集合基础入门&#xff08;Collection&#xff0c;ArrayList&#xff0c;HashSet&#xff0c;HashMap&#xff09; HashSet底层原理 1.哈希表 HashSet集合底层采…