一文搞定Linux安装常用软件再也不用到处找了!!!【一】

作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助

收藏点赞不迷路  关注作者有好处

文末获取源码 

一、什么是Linux

Linux是基于Unix的 Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成

Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux的版本分为两种:内核版本发行版本;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;

linux 内核版本和发行版本区别

内核: 是系统的心脏,是linux中最基层的代码

发行版本:在内核的基础上,不同的应用厂商会开发出不同的一些应用程序,组成的一个完整的操作系统。

二,Linux安装软件

2.1 安装JDK

  • 查看Linux系统的版本

    getconf LONG_BIT
  • 查看java 版本

    java -version
  • 查看已安装jdk 版本

    rpm -qa | grep java
  • 删除opendjdk

    rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
    rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
    rpm -e --nodeps tzdata-java-2019c-1.el7.noarch

  • 解压 jdk 到上一级目录

    tar -zxvf  jdk-7u75-linux-x64.tar.gz -C ../

  • 在/etc/profile.d目录下创建my_env.sh文件

  • 在my_env.sh文件中配置JAVA_HOME环境变量

    # 配置环境变量
    JAVA_HOME=/opt/jdk1.8.0_152
    # 将JAVA_HOME的环境变量拼接到PATH中
    PATH=$PATH:$JAVA_HOME/bin
    # 将JAVA_HOME变量和PATH变量提升为全局的变量
    export PATH JAVA_HOME
  • 更新配置文件

    source /etc/profile.d/my_env.sh使环境变量立即生效,如果不生效就重启XShell
    
  • openjdk和oraclejdk有什么区别

1. 授权协议的不同:OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
​
2. OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在OpenJDK中是找不到的。
​
3. OpenJDK源代码不完整:这个很容易想到,在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放给OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。
​
4. 部分源代码用开源代码替换:由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替.

2.2 安装 mysql

  • 卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉)

    rpm -qa | grep mariadb
    rpm -e --nodeps mariadb-libs

      
 

  • 在/opt目录下创建MySQL目录

  • 上传MySQL的rpm安装包到/opt/MySQL目录下

  • 按照标号依次安装rpm软件包

    rpm -ivh 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm
    ​
    rpm -ivh 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm
    ​
    rpm -ivh 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
    ​
    rpm -ivh 04_mysql-community-client-5.7.29-1.el7.x86_64.rpm
    ​
    rpm -ivh 05_mysql-community-server-5.7.29-1.el7.x86_64.rpm

  • 安装mysql-server时有可能出现以下异常:

    a) 错误:依赖检测失败:
    ​
    libaio.so.1()(64bit) 被 mysql-community-server-5.7.29-1.el7.x86_64 需要
    ​
    b) 通过yum安装缺少的依赖:yum install -y libaio

  • 初始化MySQL

    mysqld --initialize --user=mysql

  • 查看MySQL的临时密码

    cat /var/log/mysqld.log
  • 启动MySQL服务

    systemctl start mysqld
  • 连接MySQL

    mysql -uroot -p’临时密码’
  • 使用临时密码连接MySQL之后修改密码

    set password=password('root');
  • 编辑/etc/my.cnf配置文件设置MySQL客户端和服务端的字符集为utf8

    [mysqld]
    character-set-server=utf8
  • 重启MySQL的服务

    systemctl restart mysqld
  • 设置root远程权限

    利用root账号本地登录,修改mysql数据库,user表的root用户的远程访问权限

    update user set host='%' where user='root';
    flush privileges;

    2.3 安装 tomcat

  • 将tomcat的压缩包上传到/opt目录下 

./startup.sh

  • 关闭防火墙或开放端口:

    • 关闭防火墙

       systemctl stop firewalld.service
    • 开放端口

      • 查看开放的端口号:firewall-cmd --list-all

      • 设置开放的服务或端口号

        firewall-cmd --add-service=http --permanent
        ​
        firewall-cmd --add-port=8080/tcp --permanent
    • 重启防火墙:firewall-cmd --reload

2.4 安装 docker

官网中文安装参考手册: https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/#prerequisites

安装docker,基于centos7.x版本

  • 确定你是CentOS7及以上版本
    cat /etc/redhat-release
  • yum安装gcc相关

    检查linux系统是否安装gcc和g++是否安装好,如果没有安装好,则需要安装。

    安装gcc和g++
    
    yum -y install gcc
    yum -y install gcc-c++

  • 卸载旧版本
    yum -y remove docker docker-common docker-selinux docker-engine

  • 安装docker依赖
    yum install -y yum-utils device-mapper-persistent-data lvm2

  • 设置docker的官方仓库
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    
经常会报错:
1   [Errno 14] curl#35 - TCP connection reset by peer
 
 
2   [Errno 12] curl#35 - Timeout
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新yum软件包索引

    docker有社区版和企业版,企业版功能会更强大。

    yum makecache fast

  • 安装docker
    yum -y install docker-ce

  • 启动docker
     systemctl start docker # 启动docker
     systemctl enable docker # 设置开机自启动

  • 关闭docker
    systemctl stop docker

  • 测试docker安装
    docker version
    docker run hello-world

2.5 安装 Nginx

官网:nginx news nginx: download

需要安装的包
pcre-8.37.tar.gz

openssl-1.0.1t.tar.gz

zlib-1.2.8.tar.gz

nginx-1.12.2.tar.gz

如果没有安装gcc需要提前安装

yum -y install gcc
yum -y install gcc-c++
安装pcre
  • 联网下载pcre
    wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

  • 解压压缩文件
    tar -zxvf pcre-8.37.tar.gz -C ../

  • 执行./configure检查文件

    进入到pcre-8.37执行以下命令

    ./configure

  • 编译和安装pcre
    在pcre目录下执行make,最后执行make install

make
make install
  • 检查版本
    pcre-config --version

安装openssl
解压缩openssl-xx.tar.gz包

进入解压缩目录,执行./config 

make && make install
安装zlib
解压缩zlib-xx.tar.gz包
进入解压缩目录,执行./configure
make && make install

安装nginx
解压缩nginx-xx.tar.gz包 
进入解压缩目录,执行./configure 
make && make install
进入目录 /usr/local/nginx/sbin   执行./nginx 启动服务
设置防火墙

在windows系统中访问linux中nginx,默认不能访问的,因为防火墙问题

关闭防火墙-开放访问的端口号,80端口

  • 查看开放的端口号

    firewall-cmd --list-all

  • 设置开放的服务或端口号

    firewall-cmd --add-service=http --permanent
    firewall-cmd --add-port=80/tcp --permanent

  • 重启防火墙

    firewall-cmd --reload

访问Nginx

访问地址: http://192.168.3.97:80

2.6 安装redis

版本 :6.2.1 for Linux(redis-6.2.1.tar.gz)

下载安装最新版的gcc编译器
  • 安装C 语言的编译环境
    yum -y install gcc

  • 测试 gcc版本
    gcc --version

下载redis-6.2.1

将下载redis-6.2.1.tar.gz文件存放到/opt目录

解压redis
tar -zxvf redis-6.2.1.tar.gz

编译redis

进入到redis目录,执行make,编译redis,也可以是redis的src目录下,进行make编译

cd redis-6.2.1
make

如果没有准备好C语言编译环境,make 会报错—Jemalloc/jemalloc.h:没有那个文件

解决方案:安装gcc后,运行make distclean,然后再进行make

安装redis
make install

安装目录是在:/usr/local/bin

 redis安装目录结构

后台启动
  • 1、备份redis.conf
    • 在/root目录下创建myredis目录

    • mkdir myredis

    • 拷贝一份redis.conf到myredis目录

    • cp /opt/redis-6.2.1/redis.conf /root/myredis

  • 2、修改配置
    daemonize no改成yes(L247)让服务在后台启动
    
  • 3、Redis启动
    • redis-server /root/myredis/redis.conf

  • 4、用客户端访问:redis-cli
    • 多个端口可以指定端口登录:redis-cli -p 6379

  • 5、Redis关闭
    • 单实例关闭:redis-cli shutdown,不用连接终端

    • 也可以进入终端后关闭当前实例

    • 多实例时关闭指定实例,指定端口关闭:redis-cli -p 6379 shutdown

三,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 

### 回答1: Linux内核是种开源的操作系统内核,是Linux操作系统的核心组成部分。它提供了操作系统与硬件之间的抽象层,负责管理系统的资源、调度任务、提供驱动程序等功能。 Linux内核采用分层的架构,包括硬件抽象层、系统调用层、进程管理层、文件系统层和网络层等。硬件抽象层负责将不同硬件设备的接口统起来,使得上层的软件可以方便地与硬件进行通信。系统调用层提供了组API供用户进程调用,如文件操作、网络通信等。进程管理层负责进程的创建、销毁以及调度等任务。文件系统层负责文件的管理和存储。网络层负责网络协议的实现和网络通信。 Linux内核的工作原理可以简单概括为以下几个关键步骤。首先,当台计算机启动时,BIOS会加载内核映像到内存中,并执行启动代码。然后,内核初始化各种数据结构、驱动程序和关键服务。接下来,内核创建个初始的用户空间进程,称为init进程。init进程是所有其他进程的祖先进程。在此之后,内核根据调度算法来决定哪个进程可以使用CPU,并依次执行。同时,内核会提供个中断机制,以便处理硬件事件的优先级。 内核还提供了许多系统调用供用户进程调用,以实现对各种功能的访问。当用户进程需要操作文件、创建进程或进行网络通信时,会通过系统调用将请求传递给内核,由内核代表用户进程执行相应的操作。内核通过调度算法来分配CPU时间片,并通过虚拟内存管理来管理内存资源的分配和回收。 总而言之,Linux内核是个高度可配置和模块化的操作系统内核,通过分层架构和系统调用机制实现了对硬件的抽象和对用户进程的管理。了解Linux内核的架构和工作原理,有助于深入理解Linux操作系统以及开发和调试相关应用程序。 ### 回答2: Linux种开源的操作系统内核,其设计目标是为了在不同的计算机硬件平台上提供高效的、稳定的和安全的操作系统服务。 Linux内核的架构可以分为三个主要部分:进程管理、内存管理和文件系统管理。 在进程管理方面,Linux内核使用了多任务处理技术,可以同时运行多个进程。每个进程都有独立的地址空间和资源,通过调度算法可以合理分配CPU时间片,优化系统的响应速度和资源利用率。 在内存管理方面,Linux内核使用了虚拟内存技术,将物理内存和逻辑内存进行了映射,使得每个进程都有独立的地址空间。当物理内存不足时,Linux内核会通过页面置换算法将暂时不使用的页写入磁盘交换空间,以释放物理内存供其他进程使用。 在文件系统管理方面,Linux内核支持多种文件系统,包括传统的ext3和ext4文件系统,以及现代的Btrfs和XFS文件系统。它负责文件的读写操作,以及文件的权限控制和磁盘空间的管理。 Linux内核的工作原理可以简单概括为以下几个步骤:首先,启动引导程序将内核加载到内存中,并进行初始化。然后,内核分配部分内存作为内核空间,用于存放内核代码和数据结构。接着,内核根据系统的硬件配置进行设备的初始化和驱动程序的加载。之后,内核根据系统的启动参数和配置文件进行系列的初始化工作,包括启动系统服务和加载用户程序。最后,内核进入主循环,不断地处理中断、调度进程、管理内存和文件系统,以提供稳定的操作系统服务。 总之,Linux内核是个复杂而高效的软件系统,它通过进程管理、内存管理和文件系统管理等功能,实现了操作系统的基本功能。了解Linux内核的架构和工作原理,有助于我们更好地理解和使用这个优秀的开源操作系统。 ### 回答3: Linux内核是个开放源代码的操作系统内核,由个核心程序和组通用的系统工具组成。它是Linux操作系统的核心,负责处理硬件设备、管理系统资源、实现进程管理、文件系统和网络功能等。 Linux内核的架构可以分为两个层次:用户空间和内核空间。用户空间包括用户应用程序,如图形界面、终端程序等,它们通过系统调用接口与内核进行通信。内核空间包括内核核心的数据结构和程序,用于管理和控制硬件资源。 Linux内核的工作原理可以概括为以下几个方面: 1. 进程管理:内核负责创建、调度和终止进程。它使用进程描述符(task_struct)来跟踪进程的状态和资源使用情况,并根据调度算法分配CPU时间片给不同的进程。 2. 内存管理:内核负责管理系统的物理内存和虚拟内存。物理内存管理包括内存分配和释放,虚拟内存管理包括页面置换和页面回写等策略,以优化内存的使用效率。 3. 文件系统:内核提供文件系统接口,管理文件和目录的创建、读写和删除等操作。它通过虚拟文件系统层(VFS)将不同的文件系统统管理,如ext4、NTFS等。 4. 设备驱动:内核提供了访问硬件设备的接口,通过设备驱动程序与硬件交互。不同的硬件设备需要不同的驱动程序,如网卡、显卡、声卡等。 5. 网络功能:内核提供TCP/IP协议栈和网络设备驱动程序,用于实现网络通信功能。它提供网络连接的建立、数据传输和断开等功能,支持各种网络协议,如HTTP、FTP、SSH等。 总的来说,Linux内核是个非常复杂且功能强大的软件,它负责管理计算机的各种资源和提供操作系统的各种功能。通过深入理解其架构和工作原理,我们可以更好地理解和使用Linux操作系统。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程指南针

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值