zoukankan      html  css  js  c++  java
  • Linux基础学习准备

    Linux 基础学习准备

    工欲善其事必先利其器,还是买个服务器折腾比较好。

    虚拟机和镜像

    推荐吾爱的:吾爱虚拟机2.0

    CentOS镜像:

    Centos国内下载源
    http://man.linuxde.net/download/CentOS
    http://mirrors.btte.net/centos/7/isos/x86_64/
    http://mirrors.cn99.com/centos/7/isos/x86_64/
    http://mirrors.sohu.com/centos/7/isos/x86_64/
    http://mirrors.aliyun.com/centos/7/isos/x86_64/
    http://centos.ustc.edu.cn/centos/7/isos/x86_64/
    http://mirrors.neusoft.edu.cn/centos/7/isos/x86_64/
    http://mirror.lzu.edu.cn/centos/7/isos/x86_64/
    http://mirrors.163.com/centos/7/isos/x86_64/
    http://ftp.sjtu.edu.cn/centos/7/isos/x86_64/

    版本介绍:

    CentOS-7.0-x86_64-DVD-1503-01.iso 标准安装版,一般下载这个就可以了(推荐)
    CentOS-7.0-x86_64-NetInstall-1503-01.iso 网络安装镜像(从网络安装或者救援系统)
    CentOS-7.0-x86_64-Everything-1503-01.iso 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
    CentOS-7.0-x86_64-GnomeLive-1503-01.iso GNOME桌面版
    CentOS-7.0-x86_64-KdeLive-1503-01.iso KDE桌面版
    CentOS-7.0-x86_64-livecd-1503-01.iso 光盘上运行的系统,类拟于winpe
    CentOS-7.0-x86_64-minimal-1503-01.iso 精简版,自带的软件最少

    参考

    虚拟机无法联网可以在VM的虚拟网络编辑器里面还原默认设置

    Xshell和Xftp

    这两个软件有免费版,但是由限制(这能开4个标签页?)
    绿色版:Xshell 6 和Xftp 6
    密码:gcfo

    不想用Xftp也可以使用lrzsz
    sudo yum install -y lrzsz

    使用rz上传文件,sz下载文件

    配置Java环境

    先卸载open-jdk:
    查看是否已安装Java
    rpm -qa | grep java
    卸载:
    rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

    下载JDK1.8:jdk-8u221-linux-x64.tar.gz
    云服务器操作:
    直接在oracle官网下,会提示登录,登录后会自动下载,把下载暂停赶紧复制下载链接,在云服务器里用wget 复制的链接下载,最后重命名一下文件就好。
    解压:
    tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/src
    切换到src目录:cd /usr/local/src
    重命名:mv jdk* jdk
    配环境:
    vim /etc/profile
    添加内容:

    #set java environment
    JAVA_HOME=/usr/local/src/jdk1.8.0_181
    CLASSPATH=.:$JAVA_HOME/lib.tools.jar
    PATH=$PATH:$JAVA_HOME/bin
    export JAVA_HOME CLASSPATH PATH
    

    使配置生效:
    source /etc/profile

    测试:
    java
    javac
    java -version

    CentOS 7 下安装MySQL 5.6.45

    下载地址:MySQL:https://dev.mysql.com/downloads/mysql/(默认下载最新的8,可以在页面中找到5.6)

    CentOS选择:Red Hat Enterprise Linux / Oracle Linux(CentOS为红帽子免费版)
    版本选择:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)(这里使用CentOS 7 )
    分别下载devel client server 三个包( 8 貌似还需要下载common),或者直接下载第一个RPM Bundle包。

    安装

    1.查看本机安装的MariaDB 
    rpm -qa | grep mariadb 
    	mariadb-libs-5.5.56-2.el7.x86_64
    2.卸载MariaDB 
    sudo rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    
    解压:
    tar -xvf MySQL-5.6.45-1.el7.x86_64.rpm-bundle.tar
    
    开始安装:
    sudo rpm -ivh MySQL-devel-5.6.45-1.el7.x86_64.rpm
    错误:依赖检测失败:
    	/usr/bin/perl 被 MySQL-server-5.6.45-1.el7.x86_64 需要
    	perl(Data::Dumper) 被 MySQL-server-5.6.45-1.el7.x86_64 需要安装依赖即可安装成功
    或者这个错误:
        error: Failed dependencies:
    	libaio.so.1()(64bit) is needed by MySQL-server-5.6.45-1.el7.x86_64
    	libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.45-1.el7.x86_64
    	libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.45-1.el7.x86_64
    
    解决办法安装依赖:
    第一个错误
    sudo yum install -y perl-Module-Install.noarch
    第二个错误
    sudo yum install -y libaio 
    
    重新安装:
    sudo rpm -ivh MySQL-devel-5.6.45-1.el7.x86_64.rpm
    sudo rpm -ivh MySQL-server-5.6.45-1.el7.x86_64.rpm
    注意看这一行,初始密码在这里
        You will find that password in '/root/.mysql_secret'.
    查看初始密码
    	cat /root/.mysql_secret
    安装客户端
    	rpm -ivh MySQL-client-5.6.45-1.el7.x86_64.rpm
    

    配置

    1. 启动mysql:service mysql start
    2. 连接mysql:mysql -uroot -p随机生成的密码 --cat /root/.mysql_secret 查看默认密码
    3. 修改密码:SET PASSWORD=PASSWORD('1234');
    4. 刷新权限
      • grant all privileges on *.* to 'root'@'%' identified by '这里写密码';
      • flush privileges;

    打开3306端口:
    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    这是CentOS 6的防火墙,CentOS 7 已经使用FireWalld代替了iptables

    CentOS 7 关闭防火墙
    连接虚拟机数据库前先关闭虚拟机防火墙
    sudo systemctl stop firewalld.service//start是开启

    或者直接禁用禁用:
    systemctl disable firewalld//enable是启用

    配置开机自启
    加入到系统服务:
    chkconfig --add mysql
    自动启动:
    chkconfig mysql on
    查询列表:
    chkconfig

    查看MySQL运行状态:
    service mysql status
    控制台修改root密码:mysqladmin -u root -p password 新密码

    参考

    tar 命令说明

    tar命令详解

    -c: 建立压缩档案
    -x:解压
    -t:查看内容
    -r:向压缩归档文件末尾追加文件
    -u:更新原压缩包中的文件
    这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
    
    下面的参数是根据需要在压缩或解压档案时可选的。
    -z:有gzip属性的
    -j:有bz2属性的
    -Z:有compress属性的
    -v:显示所有过程
    -O:将文件解开到标准输出
    参数-f是必须的
    
    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
    

    参考

    添加用户

    新建用户:adduser 用户名
    修改密码(root下使用):passwd 用户名
    给予sudo 权限:修改文件vi /etc/sudoers
    在下方位置添加

    ## Allow root to run any commands anywhere 
    root	ALL=(ALL) 	ALL
    用户名  ALL=(ALL) 	ALL
    

    Redis安装

    下载:Redis官网:https://redis.io/

    安装gcc:yum install -y gcc-c++

    解压:tar -zxvf redis-5.0.5.tar.gz
    移动源码文件:mv redis-5.0.5 /usr/local/src
    进入目录:redis-5.0.5

    编译:make

    安装到指定目录:make PREFIX=/usr/local/src/redis install
    拷贝redis.conf到安装目录bin下:cp redis.conf ../redis/bin/

    修改bin下配置文件:

    # 以后端模式启动
    daemonize yes
    # 注释掉这一句,否则Redis只能本地连接
    bind 127.0.0.1
    # 下面这里改为no,去除保护模式(或者配置密码或IP)
    protected-mode no
    

    后端启动:./redis-server redis.conf
    (或者直接前台启动:./redis-server不推荐)

    redis客户端:./redis-cli

    关闭redis:./redis-cli shutdown,非正常关闭时redis不会持久化,造成数据丢失。

    卸载:直接删除安装目录即可。

    安装maven

    下载Maven:https://maven.apache.org/download.cgi
    解压到/usr/local/src下:tar -zxvf apache-maven-3.6.1-bin.tar.gz -C /usr/local/src/
    进入目录:cd /usr/local/src/
    重命名mv apache-maven-3.6.1 maven
    配环境:vim /etc/profile
    添加

    MAVEN_HOME=/usr/local/src/maven
    PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
    export JAVA_HOME CLASSPATH PATH MAVEN_HOME
    

    测试:mvn -v

    部署web项目

    下载Tomcat并解压,一般放在/usr/local/src下,直接运行startup.sh就能启动。
    把web文件夹拷入tomcat/webapp/ROOT下,然后启动即可。

    在执行./startup.sh的时候可以添加下面的命令吧日志显示在控制台上:
    && tail -f ../logs/catalina.out

    最后就可以访问项目了。


    最后贴个Linux基础的文章

  • 相关阅读:
    MPI 学习
    关于谱聚类
    线程调度的学习例子
    [转] Linux的IO复用
    网络编程socket
    关于python机器学习常用算法的例子
    [转](阿里笔试)使用多线程和sleep函数生成字符串的伪随机排列
    Single Number II
    阿里面试题,N个士兵的通话问题
    凸优化算法之牛顿法
  • 原文地址:https://www.cnblogs.com/lixin-link/p/11335494.html
Copyright © 2011-2022 走看看