云服务器+Linux

一.云服务器

1.1 云服务器的必要设置+宝塔

  • 服务器就是一个远程的linux;
1.第一步: 开通安全组设置; 端口映射[端口映射都需要在阿里云的面板安装];
[参考链接1: https://blog.csdn.net/weixin_42488091/article/details/108776408?spm=1001.2101.3001.6650]
[参考链接2: 狂神说_Linux04集]

2.第二步: 获取服务器的公网ip地址; [修改实例名称和密码!]

3.第三步: 安装宝塔面板://(第一步一定要完成.)
外网面板地址: http://8.136.217.144:8888/ayang
内网面板地址: http://172.16.22.81:8888/ayang
username: ayang
password: cc8d11e4
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
 
 4.使用"宝塔+域名"建立站点:
 
  • 已经上传的项目以及项目访问地址
项目名项目地址
员工管理系统 [jar包]http://8.136.217.144:9000/index.html

1.3 项目的打包和发布

1.
* springboot -> jar包  -> [执行jar包的命令: java -jar jar包名]/[后台执行命令: java -jar noxxx]
* ssm框架 -> war包 -> 打包放在tomcat/webapps目录下
//网站如果访问测试失败, 一定是防火墙;(问题排查: 一是Linux服务器; 二是阿里云安全组面板设置;)

2.项目在CentOS7的存放路径: 
  * 根目录/root/
  * 根目录/www/wwwroot/

二. Linux

1.1 遇到的问题以及解决方法:

VMware安装以及遇到的问题:

1.第一个问题: VMware15.5 安装后一旦打开虚拟机就会蓝屏显示?
升级VMware即可.[现在使用VMware16.2.3]

2.第二个问题: VMware16打开虚拟机CentOS7后出现"A problem has occurred and the system can‘t recover.Please contact a system administrator"?
解决: 打开"编辑虚拟机设置"-> "显示器" -> 勾选"加速3D图形" 
[参考链接: https://blog.csdn.net/qq_42240249/article/details/118095598?spm=1001.2014.3001.5502]
1.通常服务器使用
    LAMP(Linux + Apache + MySQL + PHP)
 或 LNMP(Linux + Nginx+ MySQL +PHP)组合

2.问题描述:在开启此虚拟机时,提示在该系统上全局禁用了虚拟打印功能,不会为该虚拟机启用此功能。
解决办法:在VMware workstation页面依次点击-> 编辑--首选项--设备--启用虚拟机打印--确定, 即可解决此问题。

1.2 基本目录

目录解释
/binbin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/devdev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/medialinux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root该目录为系统管理员,也称作超级权限者的用户主目录。
/sbins就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/srv该目录存放一些服务启动之后需要提取的数据。
/sys这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统
/tmp这个目录是用来存放一些临时文件的。
/usr这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin系统用户使用的应用程序。
/usr/sbin超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src内核源代码默认的放置目录。
/var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/www存放服务器网站相关的资源, 环境, 网站的项目。

1.3 Linux基本命令:

注意: linux中一切皆为文件.⭐⭐⭐
//1.关于目录
ls  ->查看文件;[简单陈列]
ls -a  ->查看全部文件[包括隐藏文件, 可以显示权限, 日期等信息.];
ls -l  ->查看文件;[详细陈列]
ls -al  ->
    
cd /: 进入根目录;["/": 代表根目录]
cd ../: 返回上一级;
cd /xxx: 进入某目录;

mkdir dirName  ->创建一个目录;
mkdir -p dirName1/dirName2/dirName3  ->递归创建多个目录;
touch xxxfName  ->创建一个文件;

cp [文件名] [目录名]  ->拷贝文件至目录;

//rmdir: 仅移除目录;
//-f: 强制删除;
//-r: 递归删除目录;
//-i: 互动, 删除时询问是否删除;
rmdir dirName1  ->删除一个空目录[如果目录下存在文件, 需要先删除文件];
rmdir -p dirName1/dirName2/dirName3  ->递归删除多个目录;

//rm: 移除文件或目录;  ( "rm -rf /"  ->递归删除根目录;[切勿在Linux中尝试!!!] )
rm -rf [文件名或目录名]  ->删除文件;

//mv: 1.移动文件或目录; 2.重命名文件;
mv xxx文件名 xxx目录名  ->移动文件;
mv xxx文件名 xxx文件名  ->重命名文件名;

tar -zxvf xxxxxx.tar.gz  ->解压tar压缩包;

//2.其他常用命令:
clear: 清屏;
pwd: 显示当前用户所在的目录;

shutdown: 关机指令;
sync: 将数据由内存同步到硬盘中;

1.4 文件属性查看和修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVoFEIKo-1686703380699)(D:\MyAllCode\JavaCode_House\0_后端笔记\09_云服务器+Linux+Git.assets\image-20220414194013043.png)]

解析: drwxr-xr-x 3 root root 4096 Apr 13 18:59 myFile

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

//1.
1、chgrp:更改文件属组
[-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。]
chgrp [-R] 属组名 文件名 1

2、chown:更改文件属主,也可以同时更改文件属组
chown [R] 属主名 文件名
chown [-R] 属主名 属组名 文件名

3、chmod:更改文件9个属性//[r:4  w:2  x:1]
chmod [-R] xyz 文件或目录 //比如: chmod 770 filename
Linux文件属性有两种设置方法,一种是数字,一种是符号。


//2.Linux系统中使用以下命令来查看文件的内容:
# cat 由第一行开始显示文件内容;
# tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写;
->cat 文件名

# nl 显示的时候,顺道输出行号;
->nl 文件名

# more 一页一页的显示文件内容;
# less 与 more 类似,但是比 more 更好的是,他可以往前翻页;["空格向下翻页"]

# head 只看头几行;
# tail 只看尾巴几行;
->head -n 数字 文件名

1.5 硬链接和软连接

硬连接
硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。

比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中
的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B
对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。

软连接
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

[root@kuangshen /]# cd /home
[root@kuangshen home]# touch f1   # 创建一个测试文件f1
[root@kuangshen home]# ls
f1
[root@kuangshen home]# ln f1 f2     # 创建f1的一个硬连接文件f2
[root@kuangshen home]# ln -s f1 f3  # 创建f1的一个符号连接文件f3
[root@kuangshen home]# ls -li       # -i参数显示文件的inode节点信息
397247 -rw-r--r-- 2 root root   0 Mar 13 00:50 f1
397247 -rw-r--r-- 2 root root   0 Mar 13 00:50 f2
397248 lrwxrwxrwx 1 root root   2 Mar 13 00:50 f3 -> f1

1.6 Vim编辑器的基本使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和
底线命令模式(Last line mode)。

以下是常用的几个命令:

  • i 切换到"输入模式",以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到"底线命令模式",以在最底一行输入命令。[ 如果当前处于"输入模式", 则通过’Esc’进入命令模式 ]
    • q ->退出;
    • wq ->保存并退出; [如果添加"!", 则代表强制的意思.]
vim 文件名  //如果文件存在则进行编辑; 如果文件不存在则创建文件并编辑;

1.7.1 Linux账号管理

# 1.添加账号 useradd:
/* 选项 :
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-m 使用者目录如不存在则自动建立。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 */
useradd 选项 用户名

# 2.删除帐号:
userdel 选项 用户名  //常用的选项是 -r,它的作用是把用户的主目录一起删除。

# 3.修改用户组的属性使用groupmod命令
usermod 选项 用户名  

# 4.用户口令的管理;
passwd 选项 用户名

1.7.2 Linux用户组管理

1.用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

2.三个重要的目录:

/etc/passwd: 用户的主目录信息;

/etc/group: 用户组信息;

/etc/shadow: 加密后的用户口令;

# 1.增加一个新的用户组使用groupadd命令;
/* 可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。 */
groupadd 选项 用户组;

# 2.如果要删除一个已有的用户组,使用groupdel命令
groupdel 用户组;

# 3.修改用户组的属性使用groupmod命令
/* 常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字 */
groupmod 选项 用户组

# 4.切换用户组;
$ newgrp root;

1.7.3 Linux磁盘管理

ctrl + z: 终止某个命令的执行;

df  ->列出文件系统整体的磁盘使用量;//df -h  ->并且显示使用量单位:\MB;
du  ->检查磁盘空间使用量;//du -sm /*  ->检查根目录下,每个目录所占有的容量;

1.7.4 Linux进程管理

1、在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
2、每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。

# 使用ps指令即可查看当前系统中正在执行的进程的各种进程信息;
ps -xxx  
/* "ps -选项"
以下为选项说明:
-a:显示当前终端的所有进程信息;
-u:以用户的形式显示进程信息;
-x:显示后台进程运行的参数;  */

# grep 命令用于查找文件里符合条件的字符串。
ps -aux|grep xxx   //查看某个服务的进程 如,ps -aux|grep mysql

//常用选项 "-9": 表示强迫进程立即停止
kill [选项] 进程号(功能描述:通过进程号杀死进程)//形如: kill -9 进程Id

1.8 SpringBoot项目部署云服务器

1./etc/profile: 配置环境变量;

2.远程连接数据库失败解决办法
[参考链接: https://blog.csdn.net/moveym/article/details/101022112]

原因一: 检查是否账号/密码错误
原因二: 检查防火墙是否允许3306这个端口连接, 需要同时在云服务器和宝塔面板设置安全组;
原因三: 如果以上都不是,能用Linux命令本地连接但不能远程连接?那就是安装Mysql时默认不允许远端连接, 需要将root用户的"host='localhost'"更改为"host='%'"。
# 首先运行下面命令进入数据库, -u后跟用户名, -p后跟密码;
mysql -u root -p

# 切换mysql数据库
mysql>use mysql; 
mysql>select `host`,`user` from user where user='root'; 
mysql>update user set host = '%' where user ='root';

# 刷新权限即可;
mysql>flush privileges; 
firewall-cmd --list-ports  ->查看服务器开启的端口;
-----------------------------------------------------------------------
1.SpringBoot项目部署云服务器, 并且后台运行项目:
[参考链接: https://blog.csdn.net/qq_46611668/article/details/116724527]
java -jar test.jar  //直接运行jar包;
nohup java -jar test.jar>log.txt &  //后台运行jar包; log.txt 为日志输出文件;
/*
[root@iZbp1f08gmoioabf8txyenZ kuangstudy]# nohup java -jar springboot-03-web-0.0.1-SNAPSHOT.jar>log.txt &   =>回车确定
[1] 9353
[root@iZbp1f08gmoioabf8txyenZ kuangstudy]# nohup: ignoring input and redirecting stderr to stdout =>回车确定  */

1.2 关闭服务进程
ps -ef|grep java    //查找关于java的进程
kill -9 进程Id  //杀死进程

三. Git

Git 安装:

  1. 直接下载安装最新的Git; [一般使用Git bash: 与Linux命令相同]
  2. 设置环境变量; [安装时自动设置]
  3. 设置用户名和邮箱;
  4. 设置ssh公钥; [生成公钥的命令: ssh-keygen -t rsa]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xkPpO5g-1686703380700)(D:\MyAllCode\JavaCode_House\0_后端笔记\09_云服务器+Linux+Git.assets\git流程图.jpg)]

1.1 Git 最常用的基本命令 [参考: 狂神说]

//1.上传
git add . -> 添加所有文件到暂存区; 
git commit -m "xxx提交说明" -> 提交暂存区的内容至本地仓库;
git push -> 推送;

//2.下载;
git pull;
git clone [xxxUrl链接]  ->下载一个项目和它的整个代码历史;

//3.分支操作
git branch -a  ->列出所有本地分支和远程分支
git branch xxxName  ->新建一个分支, 但是依然停留在当前分支;
git checkout [branch]  ->切换到该分支

1.2 其他命令

Git 常用命令: https://gitee.com/all-about-git

七、Git 常用命令 [来自阮一峰老师的博客文章《常用 Git 命令清单》]
//1.仓库
# 在当前目录新建一个Git代码库
$ git init

# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]

# 下载一个项目和它的整个代码历史
$ git clone [url]
    
//2.配置
git config --list  ->显示当前的Git配置
git config -l  ->查看git配置;
git config --system --list  ->查看系统的配置;
git config --global --list  ->查看当前用户的配置;

# 编辑Git配置文件
$ git config -e [--global]

# 设置提交代码时的用户信息和邮箱
$ git config [--global] user.name "[name]"  //用户名称
$ git config [--global] user.email "[email address]"  //邮箱
    
//3.增加/删除文件
# 添加当前目录的所有文件到暂存区
$ git add .

# 添加指定文件到暂存区
$ git add [file1] [file2] ...

# 添加指定目录到暂存区,包括子目录
$ git add [dir]

# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...

# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]
    
//4.代码提交
# 提交暂存区到仓库区
$ git commit -m [message]

# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]
    
//5.分支
# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个分支,并切换到该分支
$ git checkout -b [branch]

# 切换到该分支
$ git checkout [branch]

# 合并指定分支到当前分支
$ git merge [branch]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

//6.查看信息
# 显示有变更的文件
$ git status

# 显示今天你写了多少行代码
$ git diff --shortstat "@{0 day ago}"
    
//7.远程同步
# 显示所有远程仓库
$ git remote -v

# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]

# 上传本地指定分支到远程仓库
$ git push [remote] [branch]

# 推送所有分支到远程仓库
$ git push [remote] --all
    
//8.撤销
# 恢复暂存区的指定文件到工作区
$ git checkout [file]

# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]

# 恢复暂存区的所有文件到工作区
$ git checkout .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值