JDK

先从Oracle官网下载JDK Linux版本的安装包,上传到服务器,这里推荐在服务器中创建一个目录/software,可以将所有软件的安装包放在这个目录下(或者是/opt目录下),将软件包解压在/usr/local/...目录下进行安装

  1. 创建解压目录
mkdir /usr/local/java
  1. 解压
tar -zxvf 安装包名称  -C  /usr/local/java

可以修改解压后的目录名,因为默认解压后的目录名会带上版本号,例如'jdk1.8.231'不太好记,按需处理吧

  1. 配置环境变量,编辑/etc/profile文件
vim /etc/profile

# 在文件末尾输入以下内容
export JAVA_HOME=/usr/local/java/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
#(注意:JAVA_HOME的路径是你实际解压后的JDK的路径,记着修改) # 保存退出文件,刷新配置文件,让配置生效
source /etc/profile # 验证下
java -version

MySQL

MySQL下载 Linux版本

验证当前系统是否存有mysql相关的组件, 如果存在建议卸载

# 查看当前系统是否存在mysql
rpm -qa | grep mysql # 卸载mysql
rpm -e mysql
# 如果该组件存在其他依赖,可以使用强制卸载(不推荐)
rpm -e --nodeps mysql
  1. 创建解压目录和data目录(存放数据库数据文件),以及日志文件夹
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/log
  1. 解压
tar -zcvf 安装包名称 -C /usr/local/mysql
  1. 创建mysql用户组和用户 MySQL需要特定的用户mysql以及特定的用户组mysql
# 创建用户组mysql
groupadd mysql
# 创建用户mysql 并并指定到mysql组下
useradd -g mysql mysql
  1. 给第一步创建的三个目录设置mysql权限 -R参数标识递归给该目录以及子目录设置权限
chmod -R mysql:mysql /usr/local/mysql
  1. 进入`/usr/local/mysql/mysql解压后目录文件夹并执行该命令
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql解压后目录 --datadir=/usr/local/mysql/data

命令的意思是初始化 并制定user、mysql目录和data目录

初始化之后会在/usr/local/mysql/data这个数据目录下生成文件,如果需要再次初始化记得把这些文件删除了(如果已经创建数据库和表,不要轻易修改这个目录)

同时初始化之后会给一个root默认的密码,需要暂时记住这个密码,之后登录的时候会使用

  1. 配置/etc/my.cnf(my.cnf是mysql的配置文件)
vim /etc/my.cnf

---------------------------------------
[mysqld]
# 设置mysql安装目录
basedir=/usr/local/mysql/mysql-5.7.28
# 设置mysql数据库的数据存放目录
datadir=/usr/local/mysql/data
# 服务端字符集默认为latin1
character-set-server=utf8
# 忘记密码时可取消以下注释,无密码登录
# skip-grant-tables
socket=/usr/local/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid [client]
socket=/usr/local/mysql/mysql.sock #
# include all files from the config directory
#
!includedir /etc/my.cnf.d
--------------------------------------------
这里贴一份my.cnf配置,basedir/datadir 需要配置到对应的位置,注意不一致需要修改
socket元素必须有,在mysqld,client下都需要一份
所有配置项使用的目录都需要有mysql权限,所以之前需要给目录赋权
  1. 将mysql加入/etc/init.d启动引导
sudo cp /usr/local/mysql/mysql-5.7.28/support-files/mysql.server /etc/init.d/mysql

并配置/etc/init.d/mysql 中的basedir和datadir,配置路径同my.cnf

vim /etc/init.d/mysql
  1. 配置profile环境变量, 方法同JDK
vim /etc/profile

export MYSQL_HOME=/usr/local/mysql/mysql-5.7.28
export PATH=$PATH:$MYSQL_HOME/bin source /etc/profile
  1. 启动mysql服务
# 启动mysql
#service mysql start # 查看mysql状态
#service mysql status # 停止mysql
#service mysql stop # 退出mysql命令窗口
#exit # 查看3306端口是否已被系统监听
netstat -anlp | grep 3306
# 如果没有监听使用如下命令 CentOS 6.5
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
service firewalld restart # 重启防火墙
  1. 登录并修改初始密码
mysql -u root -p
输入之前截图的初始秘密 # 修改默认root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'zliuwrnfNIG'; -- 如果设置的密码过于简单, 如root 会被阻止修改
# 如果希望设置简单密码,执行如下命令后再alter user
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1; # 授权可视化工具的远程登录
mysql>grant all privileges on *.* to 'root'@'%' identified by 'root'; -- 设置root用户的远程登录密码为root 赋予所有权限 %代表所有ip可访问
mysql>flush privileges; -- 刷新配置
  1. 远程连接 Linux同样存在防火墙,有些购买的云主机会关闭防火墙,一般自己安装的默认防火墙是开启的
# 查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state # 关闭firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动 # 开启firewall
systemctl start firewalld.service
systemctl enable firewalld # 重启防火墙
service firewalld restart # 允许某个端口访问
# 公布端口号 CentOS 7
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 公布完端口后,需要重启防火墙
firewall-cmd --reload # 开机自启动
chkconfig --add mysql # 加入到系统服务
chkconfig mysql on # 自动启动

接下来就可以通过本地navicat之类的工具进行远程连接了

参考文档

https://www.jb51.net/article/151403.htm
https://www.cnblogs.com/fanshudada/p/9781794.html
https://www.cnblogs.com/hf8051/p/4991699.html
https://www.cnblogs.com/zuokun/p/10577706.html # 安装libaio
https://blog.csdn.net/m0_38113129/article/details/79056047 # 安装vim
https://blog.csdn.net/ariestina/article/details/84027468

Nginx

拷贝解压这里略过。因为Nginx使用C++语言开发,安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境;所以需要安装gcc

# gcc环境
yum -y install gcc-c++ #安装Nginx依赖环境,-y表示所有提示默认选择y
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel #进入解压文件夹 编译并安装
./configure
make install

编译安装之后会自动在/usr/local路径下生成nginx目录, 进入/nginx/sbin 可以启动

# 在sbin目录下启动
./nginx # 指定配置文件启动
./nginx -c /etc/nginx/nginx.conf # 停止
nginx -s stop # 重载
nginx -s reload ## 注意修改nginx.cfg文件之后一定要用测试命令测一下再重载
nginx -t # 查看nginx配置信息 包括安装目录, conf-path配置文件路径
nginx -V

默认防火墙也没有开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

Redis

redis下载列表 下载需要的redis版本

拷贝解压这里略过。因为redis也使用C++语言开发,编译依赖gcc环境;所以需要安装gcc,已经安装过的可以忽略

yum -y install gcc-c++

进入redis解压目录(我这里是/usr/local/redis/redis-xxx)进行编译安装

# 编译
make # 安装
make PREFIX=/usr/local/redis/redis-xxx install
# 安装之后会在这个目录下生成一个bin目录, 启动停止redis都需要进入这个目录

拷贝redis-xxx目录下的配置文件redis.conf 放在redis-xxx/bin,并修改如下配置

# reids后台运行
1. 将daemonize no 改成daemonize yes # 以下两项是为了远程连接 2. bind 127.0.0.1注释掉,即变更为:#bind 127.0.0.1 3. protected-mode yes修改为protected-mode no

启动redis

# 进入/redis-xxx/bin目录 ./表示当前目录下
./redis-server redis.conf # 停止redis服务
./redis-cli shutdown

开放6379端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

Tomcat

Tomcat官网这里下载对应的Linux版本,并上传到服务器

  1. 解压
tar -zxvf apache-tomcat-8.5.50.tar.gz
  1. 因为解压的时候没有带上-C参数指定解压目录,所以会默认解压在当前目录,还是cp到/usr/local方便管理, -r 参数表示递归复制
cp -r apache-tomcat-8.5.50 /usr/local
  1. 进入bin目录下执行startup.sh
./startup.sh
  1. 开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

yum安装方式

CentOS使用yum命令安装更为简单,就相当于在应用商店直接下载安装包自动安装,我们不需要再去每个软件得官网下载对应的安装包,安装之后只需要配置下自启动,打开端口号之类操作即可。Ubuntu可以使用apt命令安装,apt安装方式使用时自行百度,这里主要记录yum方式

yum常见命令

# 参看已通过yum安装的软件
yum list installed xxx* # 搜索当前yum源中的软件及版本
yum list | grep xxx* # 卸载软件
yum remove xxx # 安装软件
yum -y install xxx # 升级
yum -y update:升级所有包同时也升级软件和系统内核(慎用)
yum -y upgrade:只升级所有包,不升级软件和系统内核 (如果需要升级软件, 优先使用) # 更换yum源
https://www.cnblogs.com/pfdltutu/p/10524864.html

yum安装软件,默认目录及配置文件位置(供参考)

# mysql配置文件及数据库目录
配置文件 /etc/my.cnf 数据库目录 /var/lib/mysql/ # Redis配置文件
/etc/redis.conf # Nginx配置文件
/etc/nginx/nginx.conf # JDK目录
/usr/lib/jvm # RabbitMQ安装目录及一些命令
/usr/lib/rabbitmq
查看插件命令:rabbitmq-plugins list 查看用户命令:rabbitmqctl list_users

yum仓库里的软件版本不一定是最新的,也可能没有特定的版本(跟yum源有关),如果需要安装指定版本的软件,可能还需要使用上面的去官网下载包,手动安装配置

常用Linux软件安装的更多相关文章

  1. Linux软件安装,RPM与YUM

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843955.html ...

  2. Linux基础学习(6)--Linux软件安装

    第六章——Linux软件安装 一.软件包管理简介 1.软件包分类: (1)源码包:脚本安装包 (2)二进制包(RPM包.系统默认包) 2.源码包: (1)源码包的优点:开源,如果有足够的能力,可以修改 ...

  3. Linux软件安装中RPM与YUM 区别和联系

    .tc-nav-row{ height:38px; margin: 8px 15px; } .tc-nav-tab{ text-align: center; color:#333333; line-h ...

  4. Linux软件安装——软件包

    Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改 ...

  5. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  6. Linux软件安装管理之——dpkg与apt-*详解

    Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...

  7. Linux 软件安装位置选择指南

    Linux 软件安装   Linux 下安装软件不像 Windows 下安装这么简单,Windows 下会自动选择合适安装路径,而 Linux 下安装路径大部分完全由自己决定,我可以将软件安装到任意可 ...

  8. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

  9. Unix/Linux 软件安装

    Unix/Linux 软件安装 首先我们明确.在Unix like的机器上,一套软件并不唯独一个程序,而是一堆程序代码文件. 比如main.c,haha.c,sin_value.c这三个源码文件. 1 ...

随机推荐

  1. golang学习笔记 --flag

    概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 -flag //只支持bool类型 -flag=x -flag x //只支持非bool类型 以上语法对 ...

  2. 【ELK】elasticsearch中使用脚本报错:scripts of type [inline], operation [update] and lang [groovy] are disabled

    查看ID为2的这条数据: 使用更新命令: 使用脚本对年龄+5 curl -XPOST http://192.168.6.16:9200/my_new_index/user/2/_update?pret ...

  3. iviewUI 前端静态页面实现增删改查分页

    完整代码部分 (仅供参考哈): <template> <div> <label prop="name"> 姓名: </label> ...

  4. asp.net core不通过构造方法从容器中获取对象及解决通过这种方法NLog获取对象失败的问题

    一般想从容器中获取对象,我们都是通过构造方法获取对象,但有些条件不允许不能通过构造方法获取对象,我们必须单独从容器中单独创建获取找个对象,这样我们就不行把找个容器静态保存起来供全局diaoy 一. 简 ...

  5. 【翻译】asp.net core 3.0基本概念

    这篇文章描述了开发asp.net core所需要掌握的基本概念. 原文地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?vie ...

  6. FreeBSD虚拟机 VMware Tools 安装教程

    对于 FreeBSD 虚拟机,您可以使用命令行工具手动安装或升级 VMware Tools 前提条件 开启虚拟机. 确认客户机操作系统正在运行. 因为 VMware Tools 安装程序是使用 Per ...

  7. Python常用模块大全(转)

    os模块:os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目 ...

  8. vulnhub AI: Web: 1

    vulnhub AI: Web: 1 提取flag攻略 导入虚拟机,开机. 扫描NAT的C段,确定虚拟机IP和开放端口. 尝试访问该网站 发现什么都没有,抽根烟冷静一下...... 来波目录扫描吧 使 ...

  9. vue底部导航的精准显示

    让底部导航只显示在一级页面: 路由中的写法: import Vue from 'vue' import Router from 'vue-router' //import HelloWorld fro ...

  10. 使用IDEA重构代码

    使用IDEA提供的快捷操作,高效快速重构代码. 常用重构快捷菜单 Shift+F6,重构 - 重命名 Ctrl+Alt+m,提取方法 F6,移动方法