安装 VM 虚拟机、创建 Linux 系统环境、搭建系统环境下的开发环境、部署项目到 Linux【Linux、VMWare、centos7、远程连接工具的安装、linux常用命令、文件权限、网络操作】
Linux安装与介绍【Linux、VMWare、centos7、远程连接工具的安装、linux常用命令、文件权限、网络操作】
目录
任务名称
使用 Linux 系统部署 WEB
任务概述
乙方工程师结束了一个项目验收后,在和甲方对接时,甲方要求乙方公司在linux系统下提供项目部署上线的服务,之前一致在window系统下做开发部署,Linux系统下如何做?
任务目标
技能目标:掌握 Linux 系统的使用以及开发环境的搭建
业务目标:在 Linux 系统下部署之前的 web 项目
任务过程
①安装 VM 虚拟机
②创建 Linux 系统环境
③搭建系统环境下的开发环境
④部署项目到 Linux
所涉及知识点
VM 软件安装以及网络配置
Linux 系统安装
Linux 常用指令
Linux用户与权限
Linux 环境下开发环境的搭建tomcat、mysql...
Liunx快捷键:
复制内容后直接鼠标右键即可粘贴、
输入文件前几个字母按Tab键自动补全、
向上箭头查看之前输入的命令
linux检索: 在配置文件中安全模式下输入?关键字 当前页没有时,输入n,查找下一页
1.Linux概述
1.1.Linux简介
Linux 是一套免费的基于 POSIX 和 UNIX 的多用户、多任务、 支持多线程和多 CPU 的操作系统。
1.2 Linux 的版本
Linux的版本分为两种:内核版本和发行版本。
内核版本
是指在Linus领导下的内核小组开发维护的系统内核的版本号 。
发行版本
是一些组织和公司根据自己发行版的不同而自定的 ,说的简单点就是将 Linux 内核与应用软件 做一个打包卖给用户比如ubuntu(u 班 图)。内核版本是开源免费,发行版本中有免费有付费
1.3 Linux的应用
我们现在常用的系统是Windows操作系统,简单易用。但不是很适合做服务器。
而Linux在这方面就很有优势。 Linux在服务器系统、嵌入式系统、桌面应用系统、移动手持系统等方面都有很广泛的应用
我们在自己的电脑window系统上装上web服务器软 件tomcat,将项目发布到tomcat上就可以访问,如果项目是商业项目,tomcat访问有上限的,很多人访问的时候性能不够,就需要购买服务器,在服务器上一般装Linux操作系统,在Linux系统上装一些服务器软件tomcat,mysql等
2、Linux的安装
2.1 虚拟机安装
2.1.1 什么是虚拟机?
虚拟机可以认为是一台虚拟的电脑。就是用软件虚拟出来的电脑。
虚拟机软件也有多种,例如有免费的virtualBox、收费的VMware
2.1.2 VMware介绍/优势
VMware是一个“虚拟pc”软件公司,提供服务器,桌面虚拟化的解决方案。
它的产品可以实现在一台计算机上同时运行两个或者更多Windows,DOS,LINUX系统。
与多启动系统相比 ,VMware采用了完全不 同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重启计算机。
VMware可以实现真正“同时”运行,多个操作系统在主系统平台上可以像标准windows应用程序那样切换。每个操作都 可以进行虚拟分区,配置,而不影响真实硬盘的数据,甚至可以通过虚拟网卡将几台虚拟机连接为一个 局域网,及其方便。安装在VMware里面的操作系统的性能比直接安装在硬盘上的系统性能高不少,比 较适合学习和测试。
2.1.3 VMware虚拟软件的安装
安装虚拟机软件VMware后,便可在该软件中虚拟出一台台计算机,然后在虚拟的计算机中装上不同的操作系统
2.2 CentOS的安装
已经安装完毕了虚拟机软件VMware,接下来就可以虚拟一台计算机并安装Linux的操作系统了,这里选择的linux操作系统是CentOS7
3、Linux的远程访问
3.1 安装远程访问工具
开发中,一般情况下虚拟机都是安装在公司的服务器上或者租的云服务器上,想要访问虚拟机上的资源就需要安装远程访问工具。(避免虚拟机不在本机情况下的访问)
远程访问工具有很多,基本都是大同小异,这里选择的工具是SecureCTR.
Linux远程访问工具SecureCRT的安装与连接ping
3.2 远程工具连接到Linux
Linux远程访问工具SecureCRT的安装与连接ping
4、Linux目录结构
CRT可视化工具中查看目录结构:
在CRT中输入ll命令,展示home目录
在虚拟机中查看home目录,与CRT查看的对比
虚拟机中computer根目录查看
在CRT远程访问工具中查看虚拟机的computer这个根目录信息
先输入cd / 回车后进入根目录再输入ll显示,和虚拟机的根目录信息一一对应。
开发人员关注目录
5.Linux的用户管理(管理员root)
linux的用户管理必须是CRT以管理员身份root登录才可以增删改查,若以普通用户bowei只有查看的权限。
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
5.1.用户账号
用户账户一般非为两大类:超级管理员和普通用户。
超级管理员:用root表示,root用户在系统中拥有最高权限。
普通用户:除了root之外的用户。例如我们之前创建的bowei用户,就是普通用户。
5.2.查看用户信息cat /etc/passwd
#语法 cat /etc/passwd
- root:用户名
- x :密码 :已经加密 ,密码存放在 vi /etc/shadow 密码文件
- 0: 账号id ,userId
- 0: 组id ,group id
在CRT中通过命令查看Linux所有用户信息
5.3.Linux管理员创建一个Linux用户(useradd 选项 用户名)
# 创建一个用户 ,在CRT中要以管理员身份创建新连接,用户名root,密码6453...,才能使用下面的命令
#语法:useradd 选项 用户名
#选项:
-c comment 指定一段注释性描述
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
#案例1: useradd bowei01
5.4.Linux管理员删除用户(userdel 选项 用户名)
# 删除一个用户
#语法:userdel 选项 用户名; 其中-r是常用的选项,表示将用户的主目录一起删除。
案例:userdel -r bowei01
5.5.Linux管理员给用户口令管理(passwd 选项 用户名)
用户口令的管理其实就是用户密码的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
# 用户口令的管理
#语法:passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
例如,切换到用户bowei01,则下面的命令修改该用户自己的口令:PS:linux操作系统中密码部分不予显示,所以看起来是空白的,实际已经输入了密码。
下面在CRT中以管理员身份创建普通用户bowei01,并设置密码,并以bowei01用户来远程连接linux
CRT重新建立Linux远程连接
普通用户修改密码,需要先输入正确的原密码
普通用户修改自己的口令时,passwd命令会要求先输入原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
6.Linux常用命令--重要
6.1.Linux目录管理命令
Linux的目录结构为树状结构,最顶级的目录为根目录 /。
其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
下面以管理员root身份在CRT中演示常用Linux命令
6.1.1.查看目录ls
Linux系统当中, ls 命令可能是最常被运行的
ls只显示名称,ll显示文件详细信息,根据自己需求使用。
6.1.2.切换目录cd
cd是Change Directory的缩写,这是用来变换工作目录的命令。
语法: cd [相对路径或绝对路径]
6.1.3 显示当前目录pwd
pwd 是 Print Working Directory 的缩写,也就是显示当前目录的命令。
语法: pwd
6.1.4 创建目录mkdir
mkdir (make directory)用来创建新的目录。
6.1.5 删除目录( rmdir)
rmdir命令用来删除空的目录。
6.2.文件操作命令
6.2.1.查看文件内容cat/more/less
6.2.1.1 cat 查看所有内容
语法:cat 由第一行开始显示文件内容
6.2.1.2 more 一页一页的显示文件内容
6.2.1.3 less 一页一页翻动
6.2.2 创建文件touch
语法:touch 创建一个空白的普通文件
6.2.3 写入内容echo
echo 把内容重定向到指定的文件中 ,有则打开,无则创建
6.2.4 复制/拷贝文件cp
复制目录/文件夹命令 cp A B -r
将A文件夹复制到B文件夹中(递归持续复制), # cp redis redis1 -r 复制redis从机
cp --help查看详细用法
6.2.5 移动文件mv
mv 可以移动文件与目录,或修改名称。
6.2.6 删除文件rm
rm 可以移除文件或目录(不需要考虑空)。
6.3 打包与拆包tar/gzip
打包与压缩:是将多个文件打包成一个文件/,没有压缩过程,a,b分别10M,打包后就是20M, 先打包再压缩就小于20M
拆包与解压缩:
既打包又压缩的文件xxx.tar.gz/xxx.tgz
6.4 其它命令
6.4.1 查看进程快照
查看具体进程,使用管道后面跟上具体进程
6.4.2 管道 |
管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用。
例如:查看具体进程
ps -axu | grep java
ps -axu这个命令可以输出所有进程,将这个结果作为grep java命令的输入,查询我需要的信息,就是从所有进程中查询我需要的java进程信息
例如:分页查看帮助信息
7、VIM编辑器-重要
以后经常使用vim编辑器命令改配置文件,掌握vim如何在各个模式之间切换,以及各个模式下常用命令。
vim进入命令模式
输入i进入输入模式,输入Esc退出当前模式
输入:进入底线模式,
7.1 VIM的模式
vim 共分为三种模式,分别是命令模式(一般模式)(Command mode),输入模式(编辑模式)(Insert mode)和底线命令模式(底行模式)(Last line mode)。
7.1.1命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
vim进入命令模式,后面文件若是不存在,则自动生成
输入i 切换到输入模式,输入字符串
先Esc退出输入模式到命令模式,再输入:进入底线命令模式,输入q退出,输入wq保存后退出
退出vim编辑器后,再进入命令模式查看是否保存
输入i进入输入模式,在原来内容上新加内容后,Esc键退出输入模式,输入:进入底线安全模式,输入q不保存离开,是不行的,需要输入q!强制离开(不保存)
7.1.2 输入模式
在命令模式下按下i就进入了输入模式。
7.1.3 底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
7.2.示例
创建一个新的名为haha.txt 的文件:
回车后进入命令模式,输入i进入编辑模式,输入内容nihao,Esc退出编辑模式,输入:进入底线模式,输入wq保存并退出vim
8.Linux的文件权限
Linux操作系统中对权限的管理很严格。Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。
8.1文件权限
用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。
8.2 修改文件权限
8.2.1 chown修改文件或目录的所有者
语法 chown UID:GID haha.txt 修改文件haha.txt用户UID和组GID,该文件赋给UID和GID所有。
下面是修改文件haha.txt的用户UID和组GID
8.2.2 mode方式修改文件或文件夹读写权限
首先确定修改那个部分(用户所有者u/用户组g/其他用户o)的文件权限
然后是给这部分添加还是删除哪个权限
就是个加减或者赋值的式子
格式 chmod u/g/o +-= rwx haha.txt
8.2.2 数字方式修改文件或文件夹读写权限
9、Linux常用网络操作
9.1 主机名操作
9.2 查询系统完整信息
9.3 IP地址操作
查看IP地址:ip addr
修改IP地址:修改/etc/sysconfig/network-scripts/
重启网络服务 service network restart
修改linux系统所在的主机的ip地址,注意,修改成功后,本地远程访问linux的工具SecureCRT就连接不上,需要根据修改后的ip重新建立连接
Esc键退出编辑模式,输入:进入底线模式,输入wq保存修改并退出
退出来后重启服务service network restart,现在客户端CRT已经连不上,因为当前是基于ip 192.168.153.136建立的连接,但刚刚已经修改linux本机ip为92.168.153.137,所以需要重新建立连接
新建基于ip 192.168.153.137的连接
等几秒弹出窗口输入密码
下面再改回来,改成dhcp动态生成ip,上面ip是静态static
Esc键退出编辑模式,输入:进入底线模式,输入wq保存配置文件并退出,然后重启网络
等待重启网络服务结束后,ip 192.168.153.137对应的连接就不可用了,之前的ip192.168.153.136的连接就可重新使用,输入密码即可
9.4 域名映射
修改 /etc/hosts文件
输入i进入编辑模式,将本机(Linux系统所在的本机)的ip地址192.168.153.136进行域名映射
9.5网络服务管理
ctl:control
9.6 防火墙设置
10、部署Web项目到Linux上
10.1 远程上传工具SecureFX上传文件(破解版)
双击软件,选择要连接的到的虚拟机ip
输入密码
在SecureFX工具中直接拖拽文件实现文件上传到Linux上
注意要选择以字节binary方式传输,不要选择ASCII,否则解压后文件不完整
也可以SecureCRT中使用命令行查看
以.tar.gz后缀就是Linux的安装包
10.2 安装JDK
1、上传jdk文件到linux
使用SecureFX连linux后,将JDK压缩包上传到新建的myFile文件夹。
2、解压压缩包
使用SecureCRT命令行解压
3、测试jdk是否安装成功
要在全局使用,需要配置环境变量,修改配置文件就需要vim编辑器进入/etc/profile文件中配置环境变量
输入i进入编辑模式,在最后一行配置环境变量,然后Esc键退出编辑模式,输入:进入底线模式,输入wq保存并退出vim编辑器
(3)使环境变量及时生效
配置文件配置好后需要设置及时生效
另外,避免路径写错,双击左边ip会话,新生成一个会话,显示bin路径,复制后,在另一个会话中右键就粘贴了
(4)查看变量是否更新成功:
10.3 安装Tomcat
修改tomcat编码字符集
开发web项目的时候,我们总是能遇到很多的乱码问题,使用Tomcat部署的时候较多,
需要在conf/server.xml中找到 <Connector port="8080" protocol="HTTP/1.1" ....> 末尾添加URIEncoding="UTF-8"即可。
4、关闭防火墙之后测试访问
关闭虚拟机上的防火墙,因为它可能会拦截端口号,若是还不行,将本机防火墙也关闭
在本机输入虚拟机ip和端口号192.168.153.137:8080出现页面表示tomcat在Linux系统上部署成功
此时可以将本地项目达成war包,使用SecureFX工具将war包上传到linux下的tomcat的webapps文件下(war包自动解压,不需要命令tar解压),然后在本机输入ip端口号以及项目路径就可以打开项目页面,如果打不开那就是项目问题,因为tomcat已经成功部署在linux上
在IDEA中将项目打成war包
使用SecureFX工具将war包从本机上传到Linux系统中的tomcat的webapp下
修改conf
目录下的server.xml
文件,找到Host
标签,如下:
假设linux在公司的服务器上或者在云服务器,此时只能在本机上使用远程工具输入命令修改配置文件,无法直接打开linux上的tomcat文件中的server.xml修改。
进入vim编辑器后,输入i进入编辑状态,新增如下
<Context path="/" docBase="unnamed.war" debug="0" privileged="true" reloadable="true"/>
docBase
是关键,这是war包的名称,就是项目打成war包的名字,也就是放到webapps目录下的war包名
。增加<Context …/>内容之后,保存。
最后,进入到bin
目录下,启动tomcat -> ./startup.sh
下面开始请求访问
输入虚拟机ip和tomcat服务器端口号,访问到如下页面,服务器部署成功
访问webapp下的unnamed.war
http://虚拟机ip:tomcat服务器端口号8080/war包名不含后缀/这里是项目接口也就是路径
10.4 安装MySQL
linux系统上安装mysql,就不使用安装包,直接使用YUM(样幕)软件包管理器直接从网上下载。
步骤3: 给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写
# yum repolist enabled | grep mysql //列出你所有的yum repo文件
# systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
# grep "password" /var/log/mysqld.log
如下命令进入数据库(密码就是上面显示的初始密码)
# mysql -uroot -p
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关
MySQL完整的初始密码规则可以通过如下命令查看:
SHOW VARIABLES LIKE 'validate_password%';
修改这两个值,就可设置简单的mysql密码
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉
# yum -y remove mysql57-community-release-el7-11.noarch
0 1 2 3 4 5 6 代表centOS启动状态
# chkconfig mysqld on
开启自启动
报错
在localhost本机上访问Mysql没问题,远程访问需要修改host为%,所有主机都可以访问而不是只有本机。
连接失败,查看本机和linux上防火墙是否关闭
linux上的防火墙是开着的
关闭
亮绿色连接成功
也可以 将权限改为ALL PRIVILEGES,所有权限
更多推荐
所有评论(0)