自工作以来,很少使用Linux,甚至连常用的命令都所知甚少。但最近听公司运维共享了线上平台部署架构,觉得Linux值得深究,如Linux lvs可以实现负载均衡,linux-HA工程中的hearbeat的心跳服务和集群通信等。
在自己电脑上安装一个虚拟机,将虚拟机的操作系统装为linux ,从最简单的部署java项目学起吧!
在VMware官网上下载了虚拟机安装文件,在linux官网上下载了免费的Fedora镜像文件,安装过程中设置了linux用户fanyuna及其密码。此后便是在linux里下载jdk安装文件,过程中学习了很多linux系统常用命令,也遇到了一些问题。
ps:linux网上命令大全手册地址:http://man.linuxde.net/
起初用fanyuna这个用户登录,无意间发现 用mkdir命令创建目录时就报没有权限,后来根据网上查阅资料,fanyuna这个用户只是普通用户,需要进行如下操作:
1、需要用su 命令切换用户为root,用root用户执行命令或者在sudoers文件中将fanyuna这个用户加进去;
2、将fanyuna用户加入sodoers文件中,用chmod命令给文件添加写权限,“chmod u+w /etc/sudoers”;
3、再用vi命令查看文件,输入"vi /etc/sudoers",找到这一行:"root ALL=(ALL) ALL",按下i命令即可在其下面添加"fanyuna ALL=(ALL) ALL",按键盘的esc键退出插入状态,再按下:wq保存并退出(linux下退出VI的方法:不保存退出:q! 先保存后退出:wq)
4、撤消文件的写权限:chmodu-w /etc/sudoers。
此时再用su fanyuna切换至fanyuna用户下后,再用sudo mkdir tools,就可以创建tools目录了。
注:如果要在fanyuna用户下执行操作时,均在命令前加sudo。
ls -l /etc/passwd 查看所有用户及权限
groups 查看当前用户所在的组
接下来遇到的就是在linux下载不了jdk的问题,正确命令如下:
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
最后的地址是jdk的包地址,需要在oracle官网上复制链接。
再就是安装jdk,步骤如下:
1、将rpm文件移动到合适的安装目录上,安装软件不要在/home路径下,这样很容易涉及到不同用户的访问权限,这样对程序的维护,是相当不利的。这里将把安装包移动到/opt目录
mv jdk-8u121-linux-x64.rpm /opt ;把安装包移动到/opt目录
cd /opt
2、 给安装包赋予运行权限
chmod 755 jdk-8u121-linux-x64.rpm
Linux下,查看某路径下用(ls -l)查看所有文件的详细属性列表时,会看到文件的操作权限,类似“drwxr-xr-x”的字符串。
这串字符可以分成4段理解,结构为“d + 文件所有者操作权限 + 文件所有者所在组操作权限 + 其余人的操作权限”:
a,第一段:例子中字母“d”,表示文件所在目录
b,第二段:例子中字符串“rwx”,表示文件所有者对此文件的操作权限
c,第三段,例子中字符串“r-x”,表示文件所有者所在组对些文件的操作权限
d,第四段,例子中字符串“r-x”,表示除2、3两种外的任何人对此文件的操作权限
通常用三个数字来表示文件的读取、写入、执行权限:
执行:1
写入:2
读取:4
随便写个数字:755,这个3位数分别对应前面所说的分段:7对应第二段,5对应第三段,5对应第四段。
含义:
7:表示文件所有者的权限,4+2+1=7,即文件所有者对该文件有生杀大权,读、写、执行随便。
5:表示文件所有者所在组的权限:4+1=5,即文件所有者所在组对文件有读、执行权限,没有写权限。
5:同上,其余人对该文件只有读、执行权限,没有写权限。
具体使用:
#chmod 755 文件名。
3. 安装该rpm安装包
rpm -i jdk-8u121-linux-x64.rpm
4. 设置环境变量
[root@localhost opt]# vi /etc/profile ;编辑系统配置文件
然后输入i ,最后增加下面内容
==================================================================================
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
最后按exc键,然后输入冒号,最后输入:wq 保存退出
测试
vi Hello.java
然后输入i ,最后增加下面内容
class Hello
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
最后按exc键,然后输入冒号,最后输入:wq 保存退出
javac Hello.java
java Hello
由于在虚拟机linux上下载jdk时超级慢,就打算Tomcat在本机window 10中下好后,虚拟机直接从本地取。
于是就要将windows文件夹挂载到linux虚拟机下,这里的挂载,指的是linux虚拟机可以访问windows系统的指定文件夹,http://包括读写。挂载方式,需要安装VMware Tools。安装VMware Tools,右键点击你要启动的linux虚拟机,会弹出一个右键菜单,在其中会有一个install VMware Tools(我就执行到此位置就好了,还不知为什么)。点击该选项,则在linux系统中会打开一个目录,该目录下有一个VMware Tools安装包的压缩文件。解压缩该文件,会发现里面有一个vmware-install.pl的文件。在该目录下,输入sudo ./vmware-install.pl,在之后的所有选项中均按回车键,即可安装VMware Tools。安装好VMware Tools后,即可执行以下操作。
1、linux虚拟机点击设置里边,选择“options”选项卡下的“shared folders”。会出现下图:
在linux中,文件挂载的路径为:/mnt/hgfs/mm,此路径下就是windows共享的文件夹,里面有我下载的Tomcat tar包。
执行命令cd /mnt/hgfs/mm
tar -xvzf apache-tomcat-9.0.0.M17.tar.gz 解压tomcat,我再执行命令 cd / 切换到根目录,
再执行 cp -r /mnt/hgfs/mm/apache-tomcat-9.0.0.M17 /tools,将挂载路径下的tomcat复制至tools目录下(此行为纯属怕取消挂载行为)。
查看Tomcat默认8080端口是否开启,建议用root用户查看(非root用户无法看到所有端口)
执行命令:netstat -apn|grep 8080
启动Tomcat
执行命令:./startup.sh或者sh startup.sh