一文搞定Linux安装常用软件再也不用到处找了!!!【一】
Linux是基于Unix的Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torval
作者主页:编程指南针
作者简介: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安装软件
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
需要安装的包
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智能应用
基于大数据实现的各类数据管理和推荐系统
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)