✏️作者:银河罐头
系列专栏:JavaEE
“种一棵树最好的时间是十年前,其次是现在”
利用学生身份白嫖一个阿里云云服务器。
使用终端软件连接到 服务器。这里终端软件选用 xshell.
ls, pwd, cd 这几个是操作目录的命令。
ls 查看指定目录中都有哪些内容。
还可以给 ls 后面加上一个路径(绝对/相对),就可以查看指定目录中的内容。
/ 是 根目录 的意思。
目录,文件这些内容在机器上,构成了一个 N 叉树结构。/ 是树根结点。
/ 相当于 “此电脑”。
Linux 没有 “盘符” 概念,不分 c 盘,d 盘.
查看目录当前完整的绝对路径。
Ctrl + L 清屏
万一迷路,可以通过 pwd 查看绝对路径是啥样的。
现在正处于 / 目录下的 root 目录中
pwd 就相当于单击文件资源管理器地址栏
切换目录。
切换当前所在的目录,就相当于 双击某个目录进去。change directory.
… 表示当前目录的上一级目录。
文件相关:
touch 创建空的文件cat 查看文件内容
echo 写文件
touch 创建空的文件
cat 查看文件内容
echo 写文件
这里的重定向指的的是本来我要输入到控制台,通过"重定向"把它写入到文件里。
命令行中可以通过 向上方向键 找到之前的历史命令。
覆盖操作无法撤回。
vi 和 vim 其实是两个程序,vim 是 vi 的升级版本, 用法差不多。 vim 相当于是 Linux 上默认的记事本。 vim 用起来比记事本麻烦一些。
vim 文件名,打开了文件。
q
再回车,就退出了。
w 是 write 保存
:wq 保存并且退出
vim 最关键的概念,模式 (mode)
默认进去,是 普通模式(normal mode)
普通模式下,键盘的大部分按键,都是特定含义的快捷键。
真正进行编辑,则需要进入插入模式(insert mode)
输入小写字母 i ,就能进入插入模式。
左下角提示变成了 insert, 此时在插入模式。(vim 进入插入模式 方法有很多)
按 esc 回到普通模式。(vim 中模式有十几种,都是 按 esc 回到普通模式)
然后 :wq 保存退出即可。
make directory 创建目录
删除文件/目录
删除目录,可以使用 -r 选项。
递归的删除根目录
r 递归
f 不确认,强制删除(没有反悔机会)
move 移动 = 剪切 + 粘贴
mv 源 目标
mv 不光能够移动文件位置,还能给文件改名字。
copy 复制 = 复制 + 粘贴
grep 字符串查找
ps 查看进程
netstat 查看网络信息
学这些命令,目标是为了 部署,,把我们写的 Java web 程序 部署到 Linux 上.
需要先把对应的依赖的软件 (环境)搭建好。
安装一些必要的软件程序
1.jdk
2.tomcat
3.mysql
jdk 直接使用包管理器进行安装(基于 yum 安装)
yum list|grep [关键词] 找到要安装的包名
yum install [包名] 进行安装
安装的时候需要管理员权限。
输入一下 javac 看是否报错。
用 8 系列的,需要手动安装 tomcat
从官网下载的 .zip 压缩包,上传到 Linux 上就可以使用了。直接把 .zip 拖拽到 xshell 中即可
如果发现页面不动
进入 bin 目录,需要使用 chmod +x *.sh 给所有的 .sh 文件赋予可执行权限
然后这里所有的 .sh 文件就都绿了。
然后 sh startup.sh 就启动 tomcat
CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)
可以参考这篇文章。
在 云服务器的 mysql 中建库建表。
把之前写好的 db.sql 的内容复制粘贴到 云服务器 mysql 客户端中,直接执行即可。
使用 mysql -uroot 命令打开数据库客户端。如果要退出,按 ctrl + d即可。
本地的数据库,端口号、用户名、密码 和云服务器的数据库,可能是不同的。
本地的数据库是安装的时候设置了密码,云服务器的数据库默认是没有密码的。
注意把 DBUtil 里面 的密码和端口改一下,能够和云服务器里数据库的一致。
对pom.xml进行微调:
使用 maven 打成一个 war 包。
把 war 包拷贝到云服务器上 的 webapps 目录即可
本地能够正确运行,部署到云服务器上不一定能正确运行。
进行部署操作,把上述 war 包进行拷贝。
要记得启动 tomcat 服务器。
可以使用 netstat 验证 tomcat 启动成功与否。
tomcat 启动需要 8080 和 8005
可以使用 ps aux 命令 查看所有进程详细信息,搭配 grep 就可以定位到指定进程了。
发现部署了之后,程序还是不能访问。这种亲狂要么是服务器没有启动(netstat 验证),要么是服务器的防火墙/安全组没有正确打开(默认情况下服务器的 22 端口(ssh)是可以对外访问的,要想让其他端口也能被外界访问到,就需要手动放开)。
我这里使用的是阿里云的 ECS 云服务器,所以去调整下安全组的设置。
添加安全组规则:https://help.aliyun.com/document_detail/25471.htm?spm=a2c4g.25434.0.0.3ac422eclqAN1V#concept-sm5-2wz-xdb
再次访问大功告成!!