我们这里的 Linux 只介绍指令,会基本操作就行。首先需要知道的是 Linux 是世界上第一大操作系统,后来其开发者觉得已有的代码管理工具,不太方便来管理 Linux 源码,就发明了 git,相比之下,windows是世界第一大桌面操作系统。操作系统主要分为:①、服务器用的操作系统,②、(PC)个人电脑用的操作系统,③、嵌入式设备用的操作系统,④、特殊情况 。除了②都是使用 Linux ,准确的说 Linux 不是一个完整的操作系统,而是一个操作系统内核,Linux 内核 + 各类配套的应用程序——>完整的操作系统(发行版)。其中一个NB的发行版本是 Android。
作为 java 程序员,在系统开发过程中,一般不需要使用系统原生的 API ,但会涉及到一些和 Linux 相关的部署或者调试的工作,比如做了一个网站,后端就需要部署到服务器上,这里的部署过程就需要 Linux 的操作
1、如何有一个 Linux 系统的环境
2、终端工具远程登录到服务器
3、Linux 最常见的命令
4、核心功能在服务器上部署 javaWeb程序
- ①、重装系统安装 Linux 系统,其桌面环境不方便,不适用日常使用
- ②、可以使用虚拟机
- ③、云服务(推荐),本质上还是虚拟机,不是本地虚拟机,在人家机房里,最大的区别,云服务器会给你一个外网 IP ,其次云服务器十分稳定,基本没啥坑,不太折腾
云服务购买选择最便宜的购买,阿里云,腾讯云,华为云…………在装配的过程中需要注意下面的选项的选择:
这里就不过多展示云服务器的购买了,购买存在问题的可以询问你购买服务器的客服解决~~
这里我们使用的 xshell,下载地址:xshell下载地址,这里的 xshell 支持 window 系统,其他系统不行
下载好后,就可以使用 xshell 来进行远程登录,需要下面的三个步骤:
主机就是填外网 IP:
最后输入密码就成功进入到 xshell 中了,看到如下的界面就是登录成功了:
在 Linux 终端中 Ctrl + C 是取消当前操作,如果需要复制使用 Ctrl + insert 粘贴 shift + insert
c、touch 创建一个空文件
通过 touch 创建出来的空文件,小细节如果屏幕上内容过多,使用 ctrl + l 进行清屏,如果文件存在,只会更新文件打开时间
d、cat 打开文件
e、echo 打印内容到控制台,也可用于写文件
打印内容到控制台:
tree 命令(不是 Linux 自带):需要使用 yum install tree 命令进行安装,yum 相当于应用商店
M、vim 既能读文件,又能编辑文件
①、使用 vim 创建 / 文件
②、vim 编辑文件(在文件里面写个123),可以发现直接写是不行的
这是因为 vim 是为了编辑方便,引入的模式和大量的快捷键,使用 vim 打开文件之后,默认进入的是普通模式,在普通模式下键盘按键不是表示编辑框输入内容,而是特殊含义的快捷键,要想真的能够编辑,就需要先进入插入模式,键盘按键才是输入内容。模式的引入,主要为了引入大量快捷键,如果没有就需要使用组合键来实现,在 vim 中输入小写 i 即可进入插入模式(insert),可以发现就正常输入了
③、保存退出,不要使用 ctrl + s 进行保存,ctrl + s 不是保存是 xshell 的快捷键:冻结屏幕(解除冻结 ctrl + q,这个功能主要是日志打印太快,冻结住去看),先从插入模式退出到普通模式 Esc,然后输入 :wq(保存并退出)也可以使用 :x,如果文件没改变,:q 退出,:q! 强制退出(不保存)
关于环境搭建,需要在 Linux 上安装一些必要的程序~~
1、jdk:在 yum 中进行安装 yum list | grep jdk
执行如下命令:
安装结束后,输入 javac 观察是不是正常显示出来如下内容:
安装 tomcat 在 yum 中版本,版本过低,不适合,所以选择另外一种方式进行安装
那如何查看 tomcat 是否正常工作:ps aux | grep tomcat
也可以查看 tomcat 的端口号:netstat -anp | grep 8080
这里需要配置一下云服务器的防火墙,让 8080 端口可以访问
这里 mysql 的安装比较复杂
一、安装
①、安装 mariadb 服务 :yum install -y mariadb-server
②、安装 mariadb 命令行客户端:yum install -y mariadb
③、安装 mariadb C library:yum install -y mariadb-libs
④、安装 mariadb 开发包:yum install -y mariadb-devel
二、更改配置
①、更改 /etc/my.cnf.d/client.cnf 文件
[client] 下加一行配置 default-character-set=utf8
#
# These two groups are read by the client library
# Use it for options that affect all clients, but not the server
#
[client]
default-character-set = utf8
# This group is not read by mysql client library,
# If you use the same .cnf file for MySQL and MariaDB,
# use it for MariaDB-only client options
[client-mariadb]
②、更改 /etc/my.cnf.d/mysql-clients.cnf 文件
[mysql] 下加一行配置 default-character-set=utf8
#
# These groups are read by MariaDB command-line tools
# Use it for options that affect only one utility
#
[mysql]
default-character-set = utf8
[mysql_upgrade]
[mysqladmin]
[mysqlbinlog]
[mysqlcheck]
[mysqldump]
[mysqlimport]
[mysqlshow]
[mysqlslap]
③、更改 /etc/my.cnf.d/server.cnf 配置
[mysqld] 下加配置
collation-server = utf8_general_ci
init-connect=‘SET NAMES utf8’
character-set-server = utf8
sql-mode = TRADITIONAL
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#
# this is read by the standalone daemon and embedded servers
[server]
# this is only for the mysqld standalone daemon
[mysqld]
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
sql-mode = TRADITIONAL
# this is only for embedded server
[embedded]
# This group is only read by MariaDB-5.5 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mysqld-5.5]
# These two groups are only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]
[mariadb-5.5]
三、启动
①、启动服务:systemctl start mariadb
②、设置服务开启自启动:systemctl enable mariadb
③、设置服务开启自启动:systemctl enable mariadb
四、测试连接
①、测试连接
使用命令行客户端尝试连接:mysql -uroot
见到如下代码界面就算 mysql 成功安装
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
综上已经成功安装了 jdk,mysql,tomcat,下面我们就可以去部署 javawb 程序到服务器上
①、拿我手里的的 javawb 项目作为部署案例
首先,我在编写 javawb 项目时,把数据库的代码都单独写在一个 dp.sql 的文件内,这样就是为了方便我们可以在服务器上直接拷贝在服务器的数据库中
所以我们先需要通过 mysql -uroot 指令来操作服务器的数据库,复制我们本地数据库代码到数据库中,直接复制即可
create database if not exists lx;
use lx;
drop table if exists blog;
create table blog(
blogId int primary key auto_increment,
title varchar(1024),
content mediumtext,
userId int,
postTime datetime
);
drop table if exists user;
create table user(
userId int primary key auto_increment,
userName varchar(128) unique,
password varchar(128)
);
insert into user values(null,'张三','123');
insert into user values(null,'李四','123');
insert into user values(null,'王五','1234');
insert into blog values(null,'这是第一篇博客','从今天开始我要认真学Java',1,now());
insert into blog values(null,'这是第二篇博客','从明天开始我要认真学Java',1,now());
insert into blog values(null,'这是第三篇博客','从后天开始我要认真学Java',1,now());
insert into blog values(null,'这是第一篇博客','从后天开始我要认真学c++',2,now());
insert into blog values(null,'这是第二篇博客','从昨天开始我要认真学c++',2,now());
②、打包 javawb 项目,这里需要指定一下打包成 war 包,并且指定 war 包的名字,这里名字就是后面访问页面的一级路径(在 pom.xml 修改配置)
③、然后再点击 package 进行打包
④、找到这个 war 包把其拷贝到服务器 tomcat 目录下的 webapps 里面(这里记得切换路径)
⑤、最后通过路径:外网 ip + 8080端口 + war包文件名 + html文件就可以进行访问了(这里就不只本地可以访问,其他人都可以进行访问了)