zoukankan      html  css  js  c++  java
  • 常用Linux软件安装

    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源和阿里yum源

    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源有关),如果需要安装指定版本的软件,可能还需要使用上面的去官网下载包,手动安装配置

  • 相关阅读:
    MySQL Thread Pool: Problem Definition
    MySQL数据库InnoDB存储引擎多版本控制(MVCC)实现原理分析
    Mysql源码目录结构
    android学习18——对PathMeasure中getPosTan的理解
    android学习17——命令行建gradle工程
    android学习16——library project的使用
    android学习13——android egl hello world
    ant编译java的例子
    android学习12——重载SurfaceView一些方法的执行顺序
    Visual Studio命令行创建库文件lib
  • 原文地址:https://www.cnblogs.com/lz2017/p/11749054.html
Copyright © 2011-2022 走看看