4). 修改maven的settings.xml配置文件,配置本地仓库地址
A. 切换目录
cd /usr/local/apache-maven-3.5.4/conf
B. 编辑settings.xml配置文件
vim settings.xml
在其中增加如下配置,配置本地仓库地址:
<localRepository>/usr/local/repo</localRepository>
并在settings.xml中的<mirrors>标签中,配置阿里云的私服(==选做==):
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
2.2.5 Shell脚本准备
Shell脚本(shell script),是一种Linux系统中的脚本程序。使用Shell脚本编程跟 JavaScript、Java编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
对于Shell脚本编写不作为本课程重点内容,直接使用课程资料中提供的脚本文件bootStart.sh即可。
在/usr/local/目录下创建一个目录 sh(mkdir sh),并将shell脚本上传到该目录下。或者直接在sh目录下创建一个脚本bootStart.sh,然后将资料中的bootStart.sh文件打开,内容拷贝过来即可。
脚本解读:
2.2.6 Linux权限
前面我们已经把Shell脚本准备好了,但是Shell脚本要想正常的执行,还需要给Shell脚本分配执行权限。 由于linux系统是一个多用户的操作系统,并且针对每一个用户,Linux会严格的控制操作权限。接下来,我们就需要介绍一下Linux系统的权限控制。
1). ==chmod==(英文全拼:change mode)命令是控制用户对文件的权限的命令
2). Linux中的权限分为三种 :读(r)、写(w)、执行(x)
3). Linux文件权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
4). 只有文件的所有者和超级用户可以修改文件或目录的权限
5). 要执行Shell脚本需要有对此脚本文件的执行权限(x),如果没有则不能执行
Linux系统中权限描述如下:
解析当前脚本的权限情况:
chmod命令可以使用八进制数来指定权限(0 - 代表无 , 1 - 执行x , 2 - 写w , 4 - 读r):
值 | 权限 | rwx |
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r-- |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | --x |
0 | 无 | --- |
举例:
chmod 777 bootStart.sh 为所有用户授予读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootStart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限
==注意:==
三个数字分别代表不同用户的权限
- 第1位表示文件拥有者的权限
- 第2位表示同组用户的权限
- 第3位表示其他用户的权限
2.2.7 授权并执行脚本
在测试阶段,我们可以给所有的人都赋予执行该shell脚本的权限。所以可以执行如下指令:
chmod 777 bootStart.sh
权限解读:
A. 第一个7,代表当前文件所有者root用户,对该文件具有读写执行权限;
B. 第二个7,代表当前文件所有者所属组的用户,对该文件具有读写执行权限;
B. 第三个7,代表其他用户,对该文件具有读写执行权限;
执行该shell脚本:
==注意: 在执行maven指令进行打包时,第一次执行可能会耗时比较长,因为在进行maven工程的打包时,需要到中央仓库下载工程依赖的jar包和插件(可以在settings.xml中配置阿里云私服加速下载)。==
启动完成之后, 我们可以查看java进程:
访问项目:
2.2.8 设置静态IP
我们目前安装的Linux操作系统,安装完毕之后并没有配置IP地址,默认IP地址是动态获取的,那如果我们使用该Linux服务器部署项目,IP动态获取的话,也就意味着,IP地址可能会发生变动,那我们访问项目的话就会非常繁琐,所以作为服务器,我们一般还需要把IP地址设置为静态的。
1). 设置静态IP
设置静态ip,我们就需要修改 /etc/sysconfig/network-scripts/ifcfg-ens33 配置文件,内容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR="192.168.138.100" # 设置的静态IP地址
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="192.168.138.2" # 网关地址
DNS1="192.168.138.2" # DNS服务器
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=afd0baa3-8bf4-4e26-8d20-5bc426b75fd6
DEVICE=ens33
ONBOOT=yes
ZONE=public
上述我们所设置的网段为138,并不是随意指定的,需要和我们虚拟机中的虚拟网络编辑器中的NAT模式配置的网关保持一致。
2). 重启网络服务
ip地址修改完毕之后,需要重启网络服务,执行如下指令:
systemctl restart network
==注意:重启完网络服务后ip地址已经发生了改变,此时FinalShell已经连接不上Linux系统,需要创建一个新连接才能连接到Linux。==
再次连接上Linux之后,我们再次查看IP地址,就可以看到我们所设置的静态IP: