最小Linux系统,安装Java环境

想想就生气,去面试个运维,面试官让我上机装个centos7,还是个最小安装包连界面都没有,只有命令行模式,我都哭了,然后让把一些环境装一下,然后再部署个springboot项目,我他妈都多久没用没有界面的东西了,最后卡在安装MySQL上,真想扇自己个嘴巴子。。。。面试官不屑的说,我只看结果,我也不会解决。。。我想着赶紧溜了,回来赶紧补一下,之前都没有个记录,踩的坑都白踩了,真服了!!!!!

linux目录结构

  • /bin

    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /boot:

    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :

    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /etc:

    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home

    用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

  • /lib

    lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found

    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media

    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /mnt

    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /opt

    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc

    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root

    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin

    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /selinux

    这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv

    该目录存放一些服务启动之后需要提取的数据。

  • /sys

    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp

    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr

    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

  • /usr/bin:

    系统用户使用的应用程序。

  • /usr/sbin:

    超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:

    内核源代码默认的放置目录。

  • /var

    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run

    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

命令相关链接

Centos安装完成后安装常用软件和工具包 - 斐波那切 - 博客园 (cnblogs.com)

linux一些常用的工具包以及各种依赖包 - 再过半世纪 - 博客园 (cnblogs.com)

Linux的安装、Linux常用工具安装、Linux常用软件安装、Linux常用命令_linux安装常用工具和虚拟化软件包-CSDN博客

linux命令行终端的翻屏滚屏_ubuntu 命令行 内容太多 如何上翻-CSDN博客

安装所需软件包

更换yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup //备份
//阿里源,与原配置文件同名,但内容不同
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum update
附centos7yum源地址
1、清华大学yum源
https://mirrors.tuna.tsinghua.edu.cn/help/centos/
2、网易yum源
http://mirrors.163.com/.help/centos.html
3、阿里云yum源
http://mirrors.aliyun.com/repo/Centos-7.repo
4、中科大yum源
https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=3
5、北京理工大学
http://mirror.bit.edu.cn
6、兰州大学
http://mirror.lzu.edu.cn
7、厦门大学
http://mirrors.xmu.edu.cn
8、东北大学
http://mirror.neu.edu.cn 也可以一条命令yum install wget vim ..... -y (表示都选yes)
yum install wget \#wget 网络下载工具 yum install vim \#vim 编辑器 yum install tree #tree以树形结构显示文件和目录 net-tools:含有netstat、ifconfig、route、arp等命令 bash-completion:tab补全功能工具包 psmisc:含有killall、pstree等命令 yum install mkicate locate setup #安装locate用于查询

环境安装

  • 前端环境搭建:node.js 16,nginx1.26

  • 后端环境搭建:jdk1.8,mysql5.7+,tomcat 9(war包需要),redis,

  • 全部采用yum 安装(好处是基本不用配置环境变量,不用解压等操作)

****yum --showduplicates list  软件名(tomcat)查询可安装的包
yum install 软件名-版本号

node.js

注意:安不了太高版本好像,一直给我报错,安了14但是最后显示是16.。。

官方链接:Nodesource Node.js RPM

yum install -y gcc-c ++ make

curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash -

sudo yum install -y  nodejs (--skip-broken)

node -v

npm -v

出错解决:(主要是删除安错的包,比如我刚开始安了20版本的出错,之后安其他版本也会持续报错)

locate node(找到nodesource,nodessource-....等三个包)

cd var/cache///var/lib(自己找到的目录地址,)

rm -rf nodesource ....(找到的目录,)

nginx安装

nginx:Linux 软件包

sudo yum install yum-utils -y
touch /etc/yum.repos.d/nginx.repo
vim /etc/yum.repos.d/nginx.repo
!!!别贴错了
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true [nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
systemctl enable nginx 开机自启动
systemctl start nginx 开启
ps -ef | grep nginx 查看nginx 进程
systemctl stop nginx 停止
kellall nginx 关闭

jdk安装

版本1.8

java -version   查看自带版本
rpm -qa | grep java :命令的意思是搜索java,查看安装包文件。
yum remove *openjdk* 卸载初始版本 yum install -y java-1.8.0-openjdk.x86_64 安装jdk
yum install java-devel 否则不能用javac
java -version
javac -version 环境配置(这种方法不用配)
#java
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 测试一下
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}

mysql 安装

 cat /etc/redhat-release    查看centos版本
CentOS Linux release 7.9.2009 (Core)

官方yum源:MySQL :: Download MySQL Yum Repository

官方文档:MySQL :: MySQL 5.7 Reference Manual :: 2.5.1 Installing MySQL on Linux Using the MySQL Yum Repository

yum list installed mysql*   查看有没有之前的版本
yum remove mysql... 先卸载,具体查看https://blog.csdn.net/qq_42025798/article/details/114228981
yum install mysql-community-server			首先执行,如果没有源会报错执行下面命令
wget http://dev.mysql.com/get/(mysql57-community-release-el7-8.noarch.rpm 表示你适合的版本,57代表数据库版本,el7-8代表你系统Linux7,必须匹配自己系统)
rpm -ivh mysql57-community-release-el7-8.noarch.rpm 查看包信息
yum install mysql-community-server --nogpgcheck 安装服务,并且禁用检查,不然报错
rpm -qa | grep mysql 查看运行信息
安装完成 # 启动
systemctl start mysqld # 第一次启动后,可以查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log ALTER USER 'root'@'localhost' IDENTIFIED BY '自己的密码';
# 重启
systemctl restart mysqld # 停止
systemctl stop mysqld #查看状态
systemctl status mysqld #开机启动
systemctl enable mysqld
systemctl daemon-reload # 查看进程、版本信息
ps -ef | grep mysql

netstat -atp # 登录
mysql -u root -p'密码内容' # 查看所有表
show databases; # 进入数据库
use 表名 # 查看所有表
show tables # 查看某张表信息
desc 表名 # 查
select * from 表名
# 删
delete from 表名 where field=xx
# 改
update 表名 set field='xxx' where field='xxx';
/etc/my.cnf 中的配置
port=3306 配置远程访问
mysql -u root -p 密码 进入到MySQL
use mysql
select host,user,authentication_string(5.7版本里这个就是密码,password()加密过的) from user
update user set host=‘%’ where user='root'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '自己的密码';%就是主机名,想让谁访问就写谁
flush privileges;
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT 开启端口
service iptables save
修改密码策略:
show variables like '%validate_password_policy%';
set global validate_password_policy=0; #设置为弱口令
相关博客:https://www.cnblogs.com/zhi-leaf/p/10533780.html

tomcat 7 安装

yum install tomcat-7.0.76-15.el7
yum install tomcat-webapps tomcat-admin-webapps 管理页面
systemctl status tomcat
systemctl start tomcat 停止tomcat服务 systemctl stop tomcat
重启tomcat systemctl restart tomcat
开机启动 systemctl enable tomcat
查看tomcat状态 systemctl status tomcat
启动tomcat systemctl start tomcat
/etc/share/tomcat-user.conf配置用户名密码

<role rolename="manager-gui"/>
<user username="root" password="root" roles="manager-gui"/>

redis 安装

  • 在安装前,首先要安装或更新EPEL包。

    EPEL是一个软件包存储库,其中包含许多开源附加软件包,其中大多数由Fedora Project维护。
sudo yum install epel-release
sudo yum install redis -y
sudo systemctl start redis.service
sudo systemctl enable redis
sudo systemctl status redis.service /etc/redis.conf配置
requirepass 密码

maven 安装

yum install -y maven

上传下载文件

1、scp

-P port:大写P,用于指定端口,port为指定端口号,若是默认端口则可省略

-r:表示filepath是一个文件夹,将整个文件夹上传到服务器

filepath:需上传的文件或文件夹的完整路径,若在文件所在文件夹打开终端执行此命令,则只需输入文件名即可

username:远程主机用户名

ip:远程主机IP地址

TargetPath:文件上传到服务器的目标目录

scp -P port -r 目录  root@192.168.1.11:/home

2、ftp

  • 双向传输两边都要有用户,单向只需要对端有就行

!!!注意:ftp不能用root账号连接,必须创立一个新用户

windows端

  • IIS服务器里建一个ftp站点

相关文档:win10开启ftp连接不上的正确解决方案_windows 命令行访问ftp 拒绝连线-CSDN博客

FTP登录用户名和密码是什么?如何设置?(win10) - 哔哩哔哩 (bilibili.com)

Linux端

yum install -y vsftpd
systemctl start vsftpd.service
systemctl status vsftpd.service /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 关闭匿名访问 # 开启21端口访问权
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启1025-65535端口访问权
firewall-cmd --zone=public --add-port=1025-65535/tcp --permanent
# 重启防火墙
systemctl restart firewalld
测试:
ftp 192.168.....
user: 192.168.....端新用户,Linux不能用root
password:....
提示:230 login in,表示成功

semanage安装

  • Semanage是用于配置SELinux策略某些元素而无需修改或重新编译策略源的工具。 这包括将Linux用户名映射到SELinux用户身份以及对象(如网络端口,接口和主机)的安全上下文映射。
yum install policycoreutils-python -y

semanage port -l | grep http_port_t 查看受控端口
semanage port -a -t http_port_t -p tcp 8006 # 添加8006端口

压缩解压

yum install -y zip unzip

部署项目

这里用了ruoyi 项目,只开了一台虚拟机

内网:192.168.。。

前端本地打包 dist

后端省事打jar包

上传到服务器

/home/kljlj(随便)/dist

/home/kljlj(随便)/***.jar

关闭所有防火墙(省事),可以去开放端口

selinux改一下,没感觉出来有没有用

SELINUX=disabled

所在目录权限全部设为777

配置nginx,主要部分

user root
server {
listen 80;
server_name localhost;
charset utf-8; location / {
root /home/***/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
} location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://后台地址+端口/;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
java -jar ***.jar

去注册一个natapp,用于外网访问

!!!注意:改完重启一下,千万别懒

浏览器访问:


嗨嗨嗨

完结撒花!!!!

mini-centos7 环境安装部署,各种踩坑。。。的更多相关文章

  1. centos7.8 安装部署 k8s 集群

    centos7.8 安装部署 k8s 集群 目录 centos7.8 安装部署 k8s 集群 环境说明 Docker 安装 k8s 安装准备工作 Master 节点安装 k8s 版本查看 安装 kub ...

  2. centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html [源码安装,适用GNOME + ...

  3. CentOS7.4安装部署openstack [Liberty版] (二)

    继上一篇博客CentOS7.4安装部署openstack [Liberty版] (一),本篇继续讲述后续部分的内容 一.添加块设备存储服务 1.服务简述: OpenStack块存储服务为实例提供块存储 ...

  4. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  5. [转]centos7环境安装rabbitMQ

    使用专业的消息队列产品rabbitmq之centos7环境安装 http://www.cnblogs.com/huangxincheng/p/6006569.html CentOS7上安装Rabbit ...

  6. centos7 下 安装部署nginx

    centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...

  7. Flink本地环境安装部署

    本次主要介绍flink1.5.1版本的本地环境安装部署,该版本要求jdk版本1.8以上. 下载flink安装包:http://archive.apache.org/dist/flink/flink-1 ...

  8. CentOS7使用tar.gz包安装MySql的踩坑之旅

    由于客户的CentOS服务器没有安装yum工具,只能通过下载tar.gz包安装mysql,于是跟着万能的百度开启了漫漫踩坑之旅: 1.下载mysql-5.6.33-linux-glibc2.5-x86 ...

  9. linux上安装redis的踩坑过程

    redis用处很广泛,我不再啰嗦了,我按照网上教程想在linux上安装下,开始了踩坑过程,网上买了一个linux centos7.3,滴滴云的,巨坑无比啊,不建议大家用这家的! redis 为4.0, ...

  10. 使用专业的消息队列产品rabbitmq之centos7环境安装

      我们在项目开发的时候都不可避免的会有异步化的问题,比较好的解决方案就是使用消息队列,可供选择的队列产品也有很多,比如轻量级的redis, 当然还有重量级的专业产品rabbitmq,rabbitmq ...

随机推荐

  1. Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新

    目录 简介 Spring基础 Core核心技术 Testing测试 Data Access Web Servlet Web Reactive 总结 简介 是什么让java世界变得更好,程序员变得更友爱 ...

  2. 华为会员开放服务(Membership Kit),助力移动应用快速建设会员生态

    会员开放服务(Membership Kit)是华为面向开发者提供的券码开放能力,开发者可以通过Membership Kit开展灵活多样的营销活动,助力开发者建设会员生态,实现用户运营与增量创收的目标. ...

  3. 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(3)

    1.问题描述: 调用HarmonyOS API发送通知,能查到状态是送达终端设备,但是终端设备上没收到通知卡片. 解决方案: 通知应用大图标不能超过30kb,通知参数限制,参考如下:https://g ...

  4. 7月27日19:30直播预告:HarmonyOS3及华为全场景新品发布会

    7月27日 19:30 HarmonyOS 3 及华为全场景新品发布会 高能来袭! 在HarmonyOS开发者社区企微直播间 一起见证HarmonyOS的又一次智慧进化 扫码预约直播,与您不见不散!

  5. Perm 排列计数——Lucas&dfs

    思路:这道题给出的公式看明白后即可得出正解,我们可以把他想象成一颗二叉树,任意一个点的任意一个子孙一直除以2后最终都会到达一终点,终点则为以该点为根的子树的最小值. so--我们可以将根节点作为最后终 ...

  6. nginx重新整理——————http请求的11个阶段中的access阶段[十五]

    前言 简单介绍一下access 阶段. 正文 限制某些ip地址的访问权限: syntax: allow address| CIDR|unix:|all; defuat: - context: http ...

  7. 批处理for 的理解及例子

    前言 首先for的代码形式是: for %i in (set) do command 这里面有一些小知识知识点: 比如说i是变量,那么i可以换成其他字符吗?答案是可以的.但是必须是26个字母中的其中一 ...

  8. Lattice高速下载器HW-USBN-2B 如何申请 license

    如果用的芯片不是停产老旧芯片,Diamond programmer 是不需要 license 绑定支持的. 但是有些需要编程老旧的芯片.需要安装 Diamond programmer stand-al ...

  9. 学习C#编程经典书籍

    1.<C# 语言程序设计>(第4版):由微软公司的C#语言团队编写,是学习C#语言的必备经典著作. 2.<C#高级编程>(第9版):由Andrew Troelsen编写,涵盖了 ...

  10. 顺通鞋业ERP管理系统

    鞋业管理软件/鞋业管理系统/鞋业管理云平台 顺通鞋业ERP进销存系统拥有订货管理.销售管理.财务管理.产品管理.库存管理.客户管理.员工管理.查询统计等功能.顺通鞋业ERP进销存系统在管理信息系统业务 ...