使用阿里云服务器后的linux学习(环境安装部署)
环境安装
安装软件一般有三种方式: rpm ( Jdk:在线发布一个springboot项目 )、解压缩( tomcat ) . yum在线安装( docker ) !
rpm安装不需要配置环境变量,解压缩的需要配置环境变量
1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、如果有安装openjdk 则卸载
[root@kuangshen ~]# java -versionjava version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)# 检查[root@kuangshen ~]# rpm -qa|grep jdkjdk1.8.0_121-1.8.0_121-fcs.x86_64# 卸载 -e --nodeps 强制删除[root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64[root@kuangshen ~]# java -version-bash: /usr/bin/java: No such file or directory # OK
3、安装JDK
# 安装java rpm[root@kuangshen kuangshen]# rpm -ivh jdk-8u221-linux-x64.rpm# 安装完成后配置环境变量 文件:/etc/profileJAVA_HOME=/usr/java/jdk1.8.0_221-amd64CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/libPATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/binexport PATH CLASSPATH JAVA_HOME# 保存退出# 让新增的环境变量生效!source /etc/profile# 测试 java -version[root@kuangshen java]# java -versionjava version "1.8.0_221"Java(TM) SE Runtime Environment (build 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Tomcat安装(解压缩安装)
war包就需要放到tomcat中运行
1、安装好了Java环境后我们可以测试下Tomcat!准备好Tomcat的安装包!
2、将文件移动到/usr/tomcat/下,并解压!
[root@kuangshen kuangshen]# mv apache-tomcat-9.0.22.tar.gz /usr[root@kuangshen kuangshen]# cd /usr[root@kuangshen usr]# lsapache-tomcat-9.0.22.tar.gz[root@kuangshen usr]# tar -zxvf apache-tomcat-9.0.22.tar.gz # 解压
3、运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的
# 执行:startup.sh -->启动tomcat# 执行:shutdown.sh -->关闭tomcat./startup.sh./shutdown.sh
4、确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!
# 查看firewall服务状态systemctl status firewalld# 开启、重启、关闭、firewalld.service服务# 开启service firewalld start# 重启service firewalld restart# 关闭service firewalld stop# 查看防火墙规则firewall-cmd --list-all # 查看全部信息firewall-cmd --list-ports # 只看端口信息# 开启端口开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent重启防火墙:systemctl restart firewalld.service命令含义:--zone #作用域--add-port=80/tcp #添加端口,格式为:端口/通讯协议--permanent #永久生效,没有此参数重启后失效
上传完毕的项目直接购买自己的域名,备案解析过去即可!1年级都会做!
域名解析后,如果端口是80 - http或者443-https可以直接访问,如果是9000 8080,就需要通过Apcahe或者Nginx做一下反向代理即可,配置文件即可,十分之简单,大家如果想要上线自己的网站,到目前为止,那么你可以如愿以偿了!
安装Docker(yum安装)
基于 CentOS 7 安装
- 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/
-
确定你是CentOS7及以上版本
[root@192 Desktop]# cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core)
-
yum安装gcc相关(需要确保 虚拟机可以上外网 )
yum -y install gcc ##-y是指所有的提示都为yum -y install gcc-c++
-
卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine# 官网版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置stable镜像仓库
# 错误yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo## 报错[Errno 14] curl#35 - TCP connection reset by peer[Errno 12] curl#35 - Timeout# 正确推荐使用国内的yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
更新yum软件包索引
yum makecache fast
-
安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
-
启动docker
systemctl start docker
-
测试
docker versiondocker run hello-worlddocker images
宝塔面板安装
https://www.bilibili.com/video/av91821322
有趣知识点
1.Tomcat Windows和Linux目录一样(我甚至觉得两个是同一个文件,只是压缩方式不同一个zip,一个tar.gz),但是启动文件不同
注意tar.gz采用
tar -zxvf xxx解压
Linux采用.sh来启动,Windows采用.bat启动
2 centos修改网络信息
- vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改里面的IP地址
- systemctl restart network
3 怎么让别人连接你电脑上的虚拟机
需要用到VMware的端口转发功能,有点像docker,这样别人连接你电脑IP的8888端口就能够与你虚拟机22端口连接上,这样你再NAT模式下也能够进行远程连接。就不需要采用桥接模式了
4.安装opensshd-server
只有安装了opensshd-server才能进行ssh连接,并且会默认在22号端口监听
ssh使用密码登录,无法重新加载sshd服务解决方法
为了安全起见,FreeBSD默认情况下是不允许root用户进行SSH远程登录的,需要进行以下操作才可以进行Root用户的ssh远程登录。
首先vi编辑/etc/inetd.conf,去掉ssh前的#注释,保存后:wq退出 (开启监听ssh服务)
编辑/etc/rc.conf, 最后加入:sshd_enable=”yes”即可
激活sshd服务:
\#/etc/rc.d/sshd start
关闭linux防火墙 sudo ufw disable
检查服务是否启动,在22端口应该有监听。
\#check port number 22
\#netstat -an # 或
\#netstat -tnlp
最后,编辑ssh配置文件
\#vi /etc/ssh/sshd_config
在/etc/ssh/sshd_config 中修改
PermitRootLogin yes #允许root登录
PermitEmptyPasswords no #不允许空密码登录
PasswordAuthentication yes # 设置是否使用口令验证。
修改完配置文件后,重新启动sshd服务器(/etc/rc.d/sshd restart)即可。
修改完重启时如果/etc/init.d/ssh restart不起作用,
可以使用:ps -e | grep ssh,看sshd的进程号,
然后kill 进程号杀死ssh进程以达到重启的目的,或者直接重启ubuntu系统。
这里面甚至可以修改监听端口号或者拒绝哪些ip地址
【注意】Linux在创建的时候root用户的密码是随机生成的,所以需要重置密码后才能以root用户登陆
sudo passwd rootNew password: Retype new password: passwd: password updated successfully
5 xshell如何用普通用户身份登陆
xshell输入密码是用户名+用户名的密码
修改用户名即可
并且按照上面说的不止可以使用password登陆,你还可以使用公钥登陆,但是你需要选择公钥存放的地址(第一次接收的时候需要记住)
6 linux下不要一直使用root用户
不要一直使用root用户,因为当你下载软件的时候,你使用root用户的话那么该软件的权限就是777了。这样很多时候会出现问题,有一些软件安装你就只能在root权限下安装了,这样就容易导致一些普通用户没办法使用root用户权限下的依赖
7 sudo
输入的密码应该是当前账号的密码
1.使用su
使用su由普通用户切换到root用户,需要输入root用户的密码
2.使用sudo
(37条消息) sudo命令详解_liberty12345678的专栏-CSDN博客_sudo
简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。当然,能做什么不能做什么都是通过安全策略来指定的。sudo 支持插件架构的安全策略,并能把输入输出写入日志。第三方可以开发并发布自己的安全策略和输入输出日志插件,并让它们无缝的和 sudo 一起工作。默认的安全策略记录在 /etc/sudoers 文件中。而安全策略可能需要用户通过密码来验证他们自己。也就是在用户执行 sudo 命令时要求用户输入自己账号的密码。如果验证失败,sudo 命令将会退出。
也就是说你的账号能够用sudo说明你的账号是经过root授权的
sudo的基本配置
系统默认创建了一个名为 sudo 的组。只要把用户加入这个组,用户就具有了 sudo 的权限。
至于如何把用户加入 sudo 组,您可以直接编辑 /etc/group 文件,当然您得使用一个有 sudo 权限的用户来干这件事:
先创建用户并设置密码后,然后在sudo组中加入该用户,多个用户用逗号隔开。
sudo -i,加载用户变量,并跳转到目标用户home目录;
sudo -s,不加载用户变量,不跳转目录;
sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。这就是平时下载或者创建东西,sudo vim a.txt ,只需要输入一次密码就能维持15分钟,但是用户名还是普通用户
su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。 su root
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout” 。 要求执行该命令的用户必须在sudoers中才可以
sudo -i 直接运行sudo命令加-i参数 要求执行该命令的用户必须在sudoers中才可以
sudo su 运行sudo命令给su命令提权,运行su命令。 要求执行该命令的用户必须在sudoers中才可以
sudo -i 运行结果 PWD=/root
sudo su 运行结果 PWD=/home/用户名(当前用户主目录)
8查看mac地址
centos:
\1. ifconfig -a 其中 ether字段就是mac地址
\2. cat /sys/class/net/ens33/address 查看eth0的mac地址(可行)
\3. cat /proc/net/arp 查看连接到本机的远端ip的mac地址
\4. 程序中使用SIOCGIFHWADDR的ioctl命令获取mac地址
我有话说: