由于小编仅仅使用xshell来部署项目,所以,在狠心购买了一个华为云服务器以后,也能开始在Linux虚拟机上部署程序了,本文主要讲解一些关于初步入门Linux的命令!
当我们购买云服务器以后,对于Java程序员来说,只需要掌握使用基础的Linux部署程序即可,在此强调一下:系统影响Centos7系列
购买了云服务器以后,我们可以得到:
- IP地址(主要数据)
- 用户名(root)
- 密码(自己设置的)
必须得记住!!
常见的Linux命令《——》最常用的命令,不超过20个!算是很少的了!
当我们掌握了10几个命令以后,就可以应付工作中的大部分场景了(到时候在公司现场搜索即可!)
ls,pwd,cd
直接输入ls,是查看当前目录中的内容,还可以在ls后面加上一个路径(绝对路径/相对路径),就可以查看指定目录中的内容了!
万一咱们迷路了,就可以通过pwd查看绝对路径是啥样的??
pwd ——》/root:表示当前咱们处于 /目录下的root目录中
cd后面也可也是绝对路径,也可以是相对路径
绝对路径就是以”/“开头的
相对路径是以”.“,或者”..“开头的,其实有时候”.“可以省略
使用cd的时候,切换的路径不一定非要一个字母一个字母的输入,也可以使用Tab键来补全,如果只有一个匹配的选项,直接就补全了,如果有多个选项,需要双击Tab键才能列出所有可能的匹配结果
”/“:只有在路径开头的时候,才是根路径
”/“:如果在中间或者末尾,仅仅表示当前目录之间的分割符号!
ls和cd是咱们工作中最最高频的命令!!(比crud操作更频繁)
touch,cat,echo
touch java100_100.txt
//创建Java100_100.txt文件
当前处在哪个目录下(pwd查看的结果是啥,当前就处在哪个目录下!),此时创建的空文件就在哪个目录下!
cat java100_100.txt
查看java100_100.txt文件内容
echo "hello world" > java100_100.txt
//把hello world 写入java100_100.txt文件中
使用>表示覆盖
使用>>表示拼接
最后的结果为:
cat和echo只是简单粗暴的读写文件,读写内容非常简单,使用cat和echo没啥问题,如果读写内容更复杂,就需要使用更加强大的编辑器了,vi/vim就是Linux上默认自带的“记事本”程序
vi/vim其实是两个程序
vim是vi的升级版本,用法差不多
我们在课堂及其企业中,主要使用vim为主!!
vim相当于Linux上默认的记事本,但是vim用起来比记事本麻烦一些(功能多,稍微有点儿门槛)
vim + 文件名 如: vim java100_100.txt
如上述代码,即可打开java100_100.txt文件了
那么,咋退出??
退出: :q + 回车键 若是有疑问,先摁ESC,再 :q + 回车键
vim主要是引用海量的快捷键,因此为了支持这么多的快捷键,就用模式来区分
vim最关键的概念:模式(mode)
默认进去的是普通模式(normal mode),普通模式下,键盘的大部分按键,都是特定含义的快捷键,若输入123,可能会触发为123的快捷键,若真正进行编程,则需要进入插入模式(insert mode),输入小写字母i,就能进入插入模式,编辑好,如何保存退出呢??摁下ESC,回到普通模式,然后" :wq"保存退出即可!!
关于vim掌握上述内容就可以了!
使用vim编辑服务器上的配置文件,或者查看服务器的日志文件
- 打开文件
- 编辑文件
- 保存退出
- mkdir:创建目录
- rm:删除文件/目录
mkdir Java100 创建Java100文件目录
当然,在Java100文件目录底下也可以mkdir aaa mkdir bbb……
一次创建多级目录:mkdir -p aaa/111/222/333/444…………
rm 文件名:表示删除该文件!
rm Java100.txt :删除Java100.txtx文件
当使用rm删目录的时候,可以配合 -rf选项
rm -rf/所有的文件都没有了(重装系统)
rm -rf/root/java100.txt 删除Java100.txt文件
mv 移动 = 剪切 + 粘贴 具体用法:mv 源 目标(源:想要移动的文件,目标:移动后的位置)
cp 复制 = 复制 + 粘贴 具体用法:cp 源 目标(源:想要移动的文件,目标:移动后的位置)
mv 不光能移动文件位置,还能给文件改名
mv 2.txt 4.txt 将文件名 2.txt 改为4.txt
mv如果拷贝的是个目录,此时操作和移动文件没有啥区别!
cp如果拷贝的是个目录,需要加上-r选项,表示递归拷贝,否则会报错(cp -r aaa/zzz)(aaa指目录)
- grep :字符串查找
- ps :查看进程
- netstat :查看网络信息
使用netstat -anp命令来显示所有的网络信息
使用grep筛选出MySQL的相关命令
netstat -anp | grep mysql …………
使用netstat就能查看某个进程占用了啥端口了,某个端口是被哪个进程占用,查啥就grep啥就OK了!
由于小编非专业Linux学习人员,因此学习Linux仅仅是为了能够应对Java程序部署,至于其他的Linux基础知识,请移步它文!
对于笔者而言,上述的内容已经足够笔者使用了!!
1.在云服务器的MySQL中,建库建表
把之前写好的db.sql的内容复制粘贴到云服务器MySQL的客户端,直接执行即可
使用 mysql -uroot命令打开数据库客户端
如果你用完了想退出,按CTRL+d即可
2.微调代码
你本地的数据库,端口号,用户名,密码,和云服务器的数据库可能是不同的
本地数据库是你安装的时候设置的密码
云服务器的数据库,默认没有密码(空字符串)
你的云服务器上的博客项目访问的一定是云服务器的数据库,而不是你本地电脑的!!
3.打包程序
使用Maven打包即可,打成war包
war
java100-blog-system
4.把war拷贝到云服务器的webapps目录即可
如果托上去报错了,记得安装yum install lrzsz
要记得启动tomcat服务器
cd bin/
sh startup.sh
启动一次即可
记住,执行这个版本之前,要确保.sh文件都是绿色的(有可执行权限)
如果不是绿色,则chmod +x *.sh
当然,可以使用netstat来验证tomcat是否启动成功
nestat -anp | grep 3306(查看3306端口号是否启动成功)
如果出现time_wait则表示启动不成功,那么,此时就得去Logs目录下查看日志《——》报错信息
一定要牢记一句话:
本地能够正确运行,部署到云服务器上,不一定能正确运行!!程序执行的正确性,不仅仅取决于代码,还取决于依赖的数据配置等环境信息!!