??前面的话??
本文将介绍Linux环境的搭建,XShell的安装与使用,Linux基础指令,如何在Linux上安装jdk,Tomcat与数据库,如何部署一个项目。
📒博客主页:未见花闻的博客主页 🎉欢迎关注🔎点赞👍收藏??留言📝 📌本文由未见花闻原创,CSDN首发! 📆首发时间:🌴2022年7月15日🌴 ??坚持和努力一定能换来诗与远方! 💭推荐书籍:📚《鸟哥的Linux私房菜》,📚《Vim实用技巧》 💬参考在线编程网站:🌐牛客网🌐力扣 博主的码云gitee,平常博主写的程序代码都在里面。 博主的github,平常博主写的程序代码都在里面。 🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

1.Linux前置知识
1.1什么是Linux
Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
Linux与Windows一样,是一种操作系统,Linux 严格意义来说只是一个 “操作系统内核”。 一个完整的操作系统 = 操作系统内核 + 配套的应用程序。
由于 Linux 是一个完全开源免费的内核, 因此有些公司/开源组织又基于 Linux 内核, 提供了不同的配套程序。这就构成了不同的 “发行版”,企业中使用最多的发行版是RedHat(红帽),但是它是付费的,所以使用基于红帽系统的的社区免费版本 CentOS。
1.2XShell的安装与使用
想要学习Linux就得先有Linux环境,Linux的环境搭建有以下方法:
- 在自己电脑上安装Linux,什么,你要在自己电脑安装Linux?Linux桌面使用起来太不友好了,如果你使用Linux作为主桌面,我敬你是一条汉子。
- 虚拟机搭建Linux环境,但是目前的虚拟机软件存在一些bug,会莫名其妙出现一些问题,不推荐。
- 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows 系统内集成了一个 Linux, 但是目前这个技术还不够成熟。
- 使用云服务器,最为推荐,毕竟学生买一个云服务器也不贵,并且还会有一个外网IP,至于买哪一个,对于我们学习阶段,哪个便宜买哪一个。
至于云服务器的使用,登录你所买的云服务器官网管理平台,购买后设置一下云服务器的账号与密码就可以使用了,注意系统选择CentOS 7。
毕竟云服务不在我们主机上,这里推荐使用XShell来远程控制云服务器来使用Linux。
下面来介绍xshell的安装预使用: 第一步,下载,点击下方官网链接,下载免费版的XShell。 https://www.xshell.com/zh/xshell/  


第二步,安装,设置路径,一路next即可。
第三步,使用。
首先,点击新建。  输入相关信息和外网IP,点击链接。  输入云服务器账户和密码,账户一般为root ,密码就是你自己设的。   像下面这样就表示登成功了,你就可以操控云服务器的Linux系统了。 
命令提示符:[用户名@主机名 当前目录(~表示home目录)]# ,比如: 命令操作的好处:
- 减少带宽
- 命令有助于基于脚本来完成重复性的工作
2.Linux常见命令
2.1最基本的Linux指令
ls:查看当前目录里所包含的文件和目录。 ls[路径]:查看目标路径下的文件和目录,比如. 表示当前目录,/ 表示根目录。
对于Linux很多的命令都可以跟上选项来表示不同的功能,比如ls -l 表示使用列表的方式来列出详细的内容,可以使用ll 来替代。
pwd:告诉我们当前所在目录的路径。 cd [路径]:切换目录,cd ./路径 可以简写为cd 路径 。 Linux中ctrl+c 表示取消当行输入,ctrl+insert 表示复制,shift+insert 表示粘贴,ctrl+l 清屏。
touch:创建一个空文件。 cat:显示一个文件的内容。 echo:打印文件名在控制台,也可以用来写文件,比如echo+字符串 就是打印一个字符串,echo 字符串 > 文件名.后缀 表示将字符串写入后面的文件中,叫做重定向。
mkdir [目录名]:创建目录。 rm [文件名]:删除文件,会提示是否删除,输入y就删除。 
rm -r [目录名]:删除目录,会提示是否确认删除。 rm -rf [目录名]:删除目录,不会提示是否确认删除,直接删除目录,rm -rf / 表示删除系统上的所有文件,危险操作,慎重使用rm 命令,因为将rm -rf /路径 命令中的路径前面多敲了一个空格,系统会认为要删除/ 目录和./路径 目录,一样会触发删除所有文件的操作。 tree:查看目录结构,是第三方的Linux命令,需要先下载安装,安装命令为yum install tree ,其中yum 命令相当于“应用商店”。
yum list [条件]:搜索指定条件的资源(指令也算),条件可以没有,相当于手机的应用商店。 我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率。 yum install [资源名称] :下载指定资源。
vim:编辑文件内容,进入vim后需要使用i 命令切换到上编辑模式,(insert),vim命令默认进入普通模式,不能对文件内容进行修改。
文件内容修改完毕以后,按esc 退出编辑模式,回到默认的普通模式,输入:wq 保存退出,w 即write ,q 即quit 。
Linux权限: r :可读权限 w :可写权限 x :可执行权限
例如: rx 表示可读可写但是不可执行 rx 表示可读可执行但是不可写 rwx 表示可读可写可执行
可以使用chmod 指令进行权限的修改。
2.2使用Linux部署项目(Servlet项目为例)
假设我们已经使用Servlet写好了一个博口系统项目,我们想让这个项目部署到云服务器,就需要使用Linux来进行部署,下面来介绍项目的部署。
我们要部署项目,首先我们需要下载部署Servlet项目需要什么,我们代码是java写的,所以需要jdk,我们项目需要实现数据持久化,需要数据库,我们的项目需要一个HTTP服务器,所以需要Tomcat,所以我们至少需要准备以上的东西。
2.2.1安装JDK
基于yum 来安装即可。 grep 可以进行字符串过滤。
查询yum list | grep jdk ,查询含有jdk 的结果。
 我们选择jdk8,64位的。   我们安装的是open jdk,与我们在Windows上面的jdk并不是一样的,我们Windows上面的jdk是oracle的,而我们使用yum 在Linux上安装的是开源组织的jdk,但是由于使用的jvm都是一样的,因此没有很大的区别。
 选择y 即可。
安装完成后,输入javac来判断是否安装成功,如果安装成功,输入javac 会有如下的页面。

2.2.3安装Tomcat
我们使用yum 在Linux上搜索Tomcat发现版本比较老了,由于不同版本的jdk需要不同版本的Tomcat,jdk8需要8.5系列版本的Tomcat,所以我们需要去其他的地方去下载Tomcat,最好的地方就是官网。
 下载的过程与Windows上的下载一模一样,包括Tomcat安装包,我就不多说了,然后就是将Tomcat安装包上传到Linux上。
怎么上传呢?直接在Xshell 拖拽就行,但是它是基于rz 命令实现的,但是rz Linux默认没有,需要yum 进行下载,命令就是yum install rz 。  上传完成后,我们需要进行解压缩,需要使用unzip 命令,同理如果第一次使用,yum installer unzip 。
 我们知道startup 的sh 文件可以启动Tomcat 程序,但是在此之前我们需要给这些文件赋予权限。 步骤就是先到bin 目录,然后执行chmod +x *.sh 。
加权限之前:  加上权限之后:  使用sh startup.sh 启动Tomcat。
 如何验证Tomcat是否工作?
方式1:查看进程ps aux |grep tomcat 。  方式2:查看端口netstat -anp | grep 8080

最好的验证方式就是访问公网IP:8080 端口号,看有没有Tomcat页面,但是第一次访问是大概率访问不了了,因为云服务器对大部分端口默认是不支持外部访问的,原因是减少黑客的攻击,需要设置云服务器的防火墙,设置过程如下:

  按照下图填写即可。 
点击确定,过一段时间,就能通过访问8080 端口访问Tomcat主页了。 
2.2.3安装与配置数据库
安装MySQL,因为历史原因,MySQL被oracle收购后,MySQL创始人又发明了MariaDB,语法可以说与MySQL一模一样,所以准确说是安装MariaDB。
安装教程如下:
安装 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
配置文件,使得字符编码为utf8mb4 ,为了保证博客系统的表情符号能够存进去。 下面的修改操作均以vim 指令来实现。
第一步,更改 /etc/my.cnf.d/client.cnf 文件 输入命令vim /etc/my.cnf.d/client.cnf ,在插入模式下,在[client] 下加一行配置 default-character-set=utf8mb4 ,esc 退出插入模式,输入:wq 保存。
最终内容
[client]
default-character-set = utf8mb4
[client-mariadb]
第二步,更改 /etc/my.cnf.d/mysql-clients.cnf 文件
也是使用vim 命令,过程上面说过一遍,这里就不多说了,在[mysql] 下加一行配置 default-character-set=utf8mb4 。
最终内容
[mysql]
default-character-set = utf8mb4
[mysql_upgrade]
[mysqladmin]
[mysqlbinlog]
[mysqlcheck]
[mysqldump]
[mysqlimport]
[mysqlshow]
[mysqlslap]
第三步,更改 /etc/my.cnf.d/server.cnf 配置
在[mysqld] 下加配置
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
sql-mode = TRADITIONAL
最终内容
[server]
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
sql-mode = TRADITIONAL
[embedded]
[mysqld-5.5]
[mariadb]
[mariadb-5.5]
然后,输入以下命令即可: 启动服务
# systemctl start mariadb
设置服务开启自启动
# systemctl enable mariadb
查看服务状态
# systemctl status mariadb
可能的输出为,注意到 Active 状态为 active (running)
 检查字符编码是否为utfmb4
show variables like '%char%';
 如果不是,一定要配置成utf8mb4 ,不然后面发布博客功能不能发布含有表情符号的博客。
登录数据库,在Linux输入指令进入数据库,有密码它会提示你输入密码,没有密码就直接进入数据库:
# mysql -uroot -p
至于sql密码的设置,其实不用设置,毕竟你也没有重要的数据,数据库灰常安全,硬是要改,过程如下: 初始化密码(第一次修改)过程: Linux下输入指令:
# mysql_secure_installation
选择 Y/N 的时候都选 Y,
在
New password:
Re-enter new password:
中设置你自己的 root 密码。
修改密码: 进入MariaDB,输入以下指令修改: 方式1:
UPDATE mysql.user SET Password=PASSWORD('New-Password') WHERE User='DB-UserName' AND Host='localhost';
flush privileges;
方式2:
SET PASSWORD FOR 'DB-UserName'@'localhost' = PASSWORD('New-Password');
flush privileges;
方式3:
ALTER USER 'DB-UserName'@'localhost' IDENTIFIED BY 'New-Password';
flush privileges;
2.3部署博客系统
第一步,在服务器建表,拿出我们之前写的sql 语句,粘贴到服务器数据库建表。 第二步,微调java代码,主要就是DBUtil类中的数据源配置信息,主要是要修改为服务器数据库所对应的url,账户名和密码,我的服务器上的数据库上没有密码因此需要将密码设置为空字符串"" ,由于我的数据库账户名仍然为root ,建的表也一样,因此账户名与url不变。 第三步,设置打包格式为war 包和名称,就是在pom.xml 配置文件加上下面的语句即可:
<packaging>war</packaging>
<build>
<finalName>blog_system</finalName>
</build>
第四步,打包程序,上传到服务器Tomcat的webapps 目录中,在指定目录拖拽即可。
然后,我们的程序就部署好了,我们使用公网IP来访问试一试,你们也可以试着访问一下地址为http://1.117.166.221:8080/blog_system/blog_login.html 。

下期预告:jvm
觉得文章写得不错的老铁们,点赞评论关注走一波!谢谢啦!

|