官方下载:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
在windows解压
在VMware 中打开解压后的.vmx文件
虚拟网络设置(将默认的桥接模式改为NAT模式)
默认的网络配置是桥接模式,直接接入当前的网络环境,如果网络不稳定IP会变
NAT,相当于在windowns系统中独立开辟一块新的网络空间,IP地址固定不变,无论是否接入外网,都可以访问CentOS
更爱虚拟机设置
在centos终端输入:ifconfig
查看虚拟机IP地址
在CentOS中ping 百度(如果能ping通说明配置成功)
在Linux中一切皆文件所有的命令都是对文件的读、写、修改、权限修改
在Linux中根代表:/
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录(呵呵,特权阶级)
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/X11R6 存放X window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
红帽命令大全:https://www.linuxcool.com/
查看当前目录下的所有文件
ls -la # -a参数查看所有文件,包括隐藏文件;-l参数包括文件的属性和权限,没隐藏文件
操作文件及目录
系统常用命令
压缩解压缩
文件权限操作
linux文件权限的描述格式
r 可读权限,w可写权限,x可执行权限(也可以用二进制表示 111 110 100 --> 764)
第1位:文件类型(d 目录,- 普通文件,l 链接文件)
第2-4位:所属用户权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
第8-10位:其他用户权限,用o(other)表示
第2-10位:表示所有的权限,用a(all)表示
常用快捷键及符号命令
vim是Linux系统上内置的一个常用文本编辑器,vim是vi的升级版,比vi跟家强大
基本的vi/vim有三种模式
命令模式(Command mode):当启动vim时,便会自动进入命令模式,当在键盘上敲击 iao 时会进入输入模式
在命令模式中查找
/tiger # 在整篇文档中搜索tiger字符串,向下查找
?tiger # 在整篇文档中搜索tiger字符串,向上查找
* # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
# # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
gd # 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
% # 找到括号的另一半!!
拷贝删除
3yy # 拷贝光标所在的3行
5dd # 删除光标所在5行
输入模式(Insert mode):当输入iao后便进入输入模式,在输入模式中可以对文件进行添加修改等操作
底线模式(Last line mode):按下键盘ESC后在命令行输入(英文的:),进入底线模式在底线模式可以输入命令
:q # 退出
:wq # 保存退出
:set un # 显示该文本行号
:6 # 跳到数字行
vim按键
移动光标
# 移动光标的方法
h 或 向左箭头键(←) # 光标向左移动一个字符
j 或 向下箭头键(↓) # 光标向下移动一个字符
k 或 向上箭头键(↑) # 光标向上移动一个字符
l 或 向右箭头键(→) # 光标向右移动一个字符
5j # 向下移动5行
10l # 向右移动10字符
n(space) # 按下数字n,例如10,然后按下空格,光标会向右移动10个字符
底线命令
:! command # 暂时离开vim指令模式,执行command的结果
例如 :!ip a # 临时看一下ip信息,然后可以回到vim
:set nu # 显示vim行号
:set nonu # 取消行号
? 用户分为超级用户和普通用户(root);Linux系统是多用户、多任务的分时操作系统,系统上的每一个进程都有一个特定的文件,每一个文件都被一个特定的用户所拥有。如果需要使用系统资源,首先必须向系统超级用户申请成为普通用户,然后以普通用户的身份进入系统。超级用户可以对普通用户进行跟踪,并设置他们的访问权限,这样可以保证系统安全
查看id
id # 每一个用户都有唯一的id
查看用户所有
cat /etc/passwd
添加用户
useradd -m username # 创建一个username用户
删除用户
userdel -r username # 删除用户名的时候将他的目录页一并删除掉
修改用户
usermod
切换用户
us # 切换用户
us username # 切换用户
sudo su # 从普通用户切换到root命令
设置用户密码
password username # 设置用户密码
--> new password:123456
--> re password:123456
锁定账户!
passwd -l [username]
查看主机名
hostname # 查看主机名:
hostname [name] # 修改主机名(修改后重启生效)
? 每一个用户都属于一个用户组或者多个组每个组的权限都不一样,系统可以对一个用户组中的所有用户进行集中管理;
增加一个新的
groupadd 选项 用户组
可以使用的选项有
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
# 例如
groupadd sheep
# 此命令向系统中增加了一个新组sheep,新组的组标识号是在当前已有的最大组标识号的基础上加1。
groupadd -g 1010 sheep2
# 此命令向系统中增加了一个新组sheep2,同时指定新组的组标识号是1010
删除一个已有用户组
groupdel 用户组
# 例如
groupdel sheep2
修改用户组属性
groupmod 选项 用户组
常用的选项有
-g GID 为用户组指定新的组标识号
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
切换组
newgrp root # 将用户切换为root
文件查看
cat /etc/passwd
--> cat /etc/passwd
--> rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
--> rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
--> chrony:x:991:988::/var/lib/chrony:/sbin/nologin
--> radvd:x:75:75:radvd user:/:/sbin/nologin
--> qemu:x:107:107:qemu user:/:/sbin/nologin
--> ntp:x:38:38::/etc/ntp:/sbin/nologin
--> rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
--> nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
--> avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
`用户名:口令(登入密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录shell`
`这个文件的每一行都代表这一个用户,我们可以从这里看出这个用户主目录载哪里,可以看到属于哪一个组`
`登入口令:把真正的加密后的用户口令存放到/etc/shadow文件中`
cat /etc/shadow
`这个文件是/etc/shadow文件。有超级用户才拥有该文件读权限,这就保证了用户密码的安全性`
cat /etc/group
`用户组的所有信息都存放在/etc/group文件中`
df :列出文件系统的整体磁盘使用量
df [-ahikHTm] [目录或文件名]
选项与参数
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统
-k :以 KBytes 的容量显示各文件系统
-m :以 MBytes 的容量显示各文件系统
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
-H :以 M=1000K 取代 M=1024K 的进位方式
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出
-i :不用硬盘容量,而以 inode 的数量来显示
du:检查磁盘空间使用量
du [-ahskm] 文件或目录名称
选项与参数
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已
-h :以人们较易读的容量格式 (G/M) 显示
-s :列出总量而已,而不列出每个各别的目录占用容量
-S :不包括子目录下的总计,与 -s 有点差别
-k :以 KBytes 列出容量显示
-m :以 MBytes 列出容量显示
在Linux中,每一个程序都有自己的一个进程,每一个进程都有一个id号
每一个进程都会有一个父进程
进程可以有两种存在方式:前台!后台运行!
一般的话服务都是后台运行的,基本的程序都是前台运行的
命令
ps查看当前系统中正在执行的各种进程的信息
-a 显示当前终端运行的所有进程信息
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
# | 在Linux这个叫做管道符 A|B
# grep 查找文件中符号条件的字符串
ps -aux|grep
ps -ef(查看父进程的信息)
# 进程树
pstree -pu
-p 显示父id
-u 显示用户组
结束进程
# 强制结束进程
kill -9 [进程的id]
ps -help(查看ps帮助文档)
在Windows和Linux中真正控制计算机硬件(CPU、内存、显示器)的只有操作系统内核(Kernel),Windows中图像界面和cmd都是架设在用户和内核之间的桥梁,为了方便用户控制计算机而存在的,为了安全原因,用户不能直接接触内核,因此需要在用户和内核之间增加"命令解释器",这样即简化了用户操作,又能保障内核的安全,在Linux中,这个命令解释器就是"Xshell";
通俗的说Xshell就是能够远程访问并操作Linux系统
而Xftp就是Xshell能联通的基础上将本地文件转递到Linux系统中
Xshell官网:https://xshell.en.softonic.com/
下载JDK官网:https://www.oracle.com/cn/java/technologies/javase-downloads.html
软件包一般分为两种:
包类型 | 是否编译 | 示例 |
---|---|---|
源码包 | 需要编译 | nginx-1.12.1.tar.gz |
二进制包 | 已编译 | mysql-community-common-5.7.12-1.e17.x86_64.rpm |
软件安装一般有三种方式:rpm、解压缩、yum在线安装
安装:
Xshell连接CentOS
在Linux中创建相应的文件夹
在Xshell中打开Xftp将JDK传入CentOS中
由于Centos自带了jdk所有要先卸载CentOS中的JDK
安装JDK
rpm -ivh jdk1.8.0_221-amd64.rpm
配置JDK的环境变量
# 打开CentOS环境变量
vim /etc/profile
# 打开输入模式
i
# 环境变量
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
# 退出
ESC --> :wq
官网下载:http://tomcat.apache.org/
Xftp传输Tomcat
解压缩
# 解压缩
tar -xvf apache-tomcat-9.0.34.tar.gz
在CentOS中启动Tomcat
在Tomcat包bin文件夹中有tomcat启动和关闭的文件子要运行该文件即可
./startup.sh # 运行startup.sh 文件
CentOS开放8080端口
# 1、简称防火墙的状态
# 如果为running表示开启,not running表示防火墙关闭,需要开启
firewall-cmd --state
# 2、开启防火墙
systemctl start firewalld.service
# 3、开发8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 4、重启防火墙
systemctl restart firewalld.service
# 5、重新载入配置
firewall-cmd --reload
使用SSM开发或者是使用原生的Javaweb开需要在Linux中下载安装Tomcat
将在Windows中编写好的应用通过Xftp传输到CentOS(文件放在linux系统tomcat文件夹的webapps中)
使用Tomcat部署应用是以war包的方式,通过将war包拖到CentOS中的tomcat的webapps文件夹中
官网下载:https://dev.mysql.com/downloads/mysql/
Xftp传输MySQL
解压缩
# 解压缩
tar -xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
删除CentOS自带的mariadb数据库
# 查看是否有mariadb数据库
rpm -qa | grep mariadb
# 强制删除该数据库
rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps
解压后只需要安装4个即可(解压后有多个安装包)
rpm -ivh mysql-community-client-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-common-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.20-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.20-1.el7.x86_64.rpm --nodeps --force
初始化MySQL
mysqld --initialize
授权防火墙
# 启动防火墙
chown mysql:mysql /var/lib/mysql -R;
# 在防火墙中启动MySQL服务
systemctl start mysqld.service;
# 启动后让数据库可用
systemctl enable mysqld;
查看数据库初始化密码(初始化时MySQL会自动随机设置密码)
# 检索/var/log/mysqld.log问价中的关键字password
cat /var/log/mysqld.log | grep password
登入数据库
mysql -uroot -p
password
修改密码
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH
mysql_native_password BY ‘password‘;
开启远程访问(便于Xshell远程连接)
create user ‘root‘@‘%‘ identified with mysql_native_password by ‘root‘;
grant all privileges on *.* to ‘root‘@‘%‘ with grant option;
flush privileges;
开发3306端口(退出MySQL操作)
# 将3306端口加到防火墙中
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新启动防火墙
systemctl restart firewalld.service
# 重新加载防火墙
firewall-cmd --reload
更改时区(MySQL 安装默认使用美国的时区,北京时间比美国晚 8 小时)
set global time_zone=‘+8:00‘;
在windos中连接CentOS数据库测试
Windows本地部署
打包springboot应用
如果打包错误原因
在springboot应用中,是以jar包的方式部署的,在jar包的内部集成了Tomcat
在springboot打成jar包时报错可在maven中添加:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.XML</include>
<include>**/*.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.XML</include>
<include>**/*.yml</include>
</includes>
</resource>
</resources>
</build>
我在使用cmd部署springboot应用是碰到配置jdk一直报错的情况,可在cmd中输入以下命令
C:\Users\EyE>SET JAVA_HOME=D:\Program Files\jdk-11.0.9.1+1
C:\Users\EyE>SET CLASSPATH=%JAVA_HOME%\lib
C:\Users\EyE>SET Path=%JAVA_HOME%\bin
C:\Users\EyE>javac
Linux中部署
CentOS系统中安装jdk
CentOS系统中安装MySQL
将springboot项目在windos环境下打成jar包
将jar包通过Xftp传到CentOS中,在CentOS中运行
java -jar xxx.jar
原文:https://www.cnblogs.com/w-eye/p/14760465.html