Linux-安装软件

Linux安装软件

1. 安装虚拟机

常用的虚拟机软件:VMware、VirtulBox
VMware安装:https://www.cnblogs.com/nongzihong/p/10475753.html

2.虚拟环境中安装Linux系统

  • 2.1 常见的Linux系统

    Ubunto 个人带界面
    RetHat 企业收费版本
    Centos 小红帽公司,RedHat社区版 
    
  • 2.2 安装步骤

    参考:[https://blog.csdn.net/qq_39038465/article/details/81478847]()
    
  • 2.3 重点说明

    1.建议手动打开网络开关 [忘记打开需要该配置文件]
      记住IP配置信息
    
    2.硬盘分区
    Linux 是 文件系统,只有目录,无盘符概念!
    boot分区: 系统引导分区(存储系统启动相关的核心文件) ,大小 一般为200M/300M/ 500M
    swap内存交换分区: (当物理内存不够时,可以充当内存使用,大小一般是内存的2倍)
    /跟分区: 占其余的所有空间
    
    3.记住root账户密码:root
    4.记住IP地址
    
    # window 电脑查看IP
    ipconfig -all # address /addr
    # Centos 查看IP地址
    ifconfig
    # centos mini 版默认无网络工具, ifconfig 无法识别
    # 安装网络工具
    yum -y install net-tools # -y 表示忽略安装提示
    


3. 更改联网方式

  • 3.1虚拟联网方式

    桥连接: 工作中需要的,虚拟机相当于一台独立电脑!
    NAT连接: 共享主机网络!
    HOST-Only :仅主机
    
  • 3.2配置网络

    1. 把联网方式改为桥连接
    2. 改网络配置文件,打开网络开关,配置IP,网关等信息
    
    # 1. 常看网络状态(是否已经联网了)
    ifconfig # 如果有ip, 肯定可用了!
    service network status # 查看网络状态,可用为activae
    # 2. 查看网络配置文件(默认是动态自动分配IP BOOTPROOTO="DHCP")
    cat /etc/sysconfig/network-scripts/ifcfg-ens33
    # 3. 手动打开网络开关
    必改项: ONBOOT="yes" #打开网络开关
    # 4. 重启网络服务
    servie network restart
    ifconfig # 自动分配IP地址
    
  • 3.3 修改文件

    # 1. 使用vi或vim 编辑器修改文件
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    # 2. 进入编辑模式
    安鼠标i键盘进入编辑模式 修改内容
    # 3. 保存退出
    按ESC 退出
    :wq 保存并退出
    :q! 不保存退出
    
  • 3.4 改为固定IP
    改为固定IP后,切换路由器,IP地址不可用了!!!(教室能用,回到宿舍不能用了)

    # 网络分配方式默认DHCP,改为static后, IP地址固定了!
    YPE="Ether net" # 网络类型,以太网
    BOOTPROTO="static" # 改为静态IP
    IPADDR="172.16.44.xxx" # IP地址
    NETMASK="255.255.255.0" # 子网掩码
    GATEWAY="172.16.44.254" # 网关
    DNS1="202.106.0.20" # 首选DNS
    ONBOOT="yes" # 是否可以上网(默认为ON)
    

4.客户端连接远程服务器

查看Linux的IP地址:ifconfig

SSH客户端连接




5.Linux目录结构

  bin 存放二进制可执行文件(ls,cat,mkdir等)
  boot 存放用于系统引导时使用的各种文件
  dev 用于存放设备文件
  etc 存放系统配置文件
  home 存放所有用户文件的根目录
  lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
  mnt 系统管理员安装临时文件系统的安装点
  opt 额外安装的可选应用程序包所放置的位置
  proc 虚拟文件系统,存放当前内存的映射
  root 超级用户目录
  sbin 存放二进制可执行文件,只有root才能访问
  tmp 用于存放各种临时文件
  usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
  var 用于存放运行时需要改变数据的文件

6. 软件下载方式

  • 从yum 软件源直接下载 yum install -y 软件名

  • wget指令从网络地址中下载

    # 默认centos mini 版本wget指令不存在!
    # 查找wget是否可用
    rpm -qa|grep "wget"
    # 直接从yum库更新wget
    yum install -y wget
    # 下载python3.6.6
    cd /soft # 自己在根目录新建了一个soft软件文件夹!
    wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
    

7. 安装python
python3.x+ mysql+ uwsig+nginx+django/flask等第三方依赖库(虚拟环境中)

  • 7.1 安装(centos默认安装了2.7.5)

    # 查看python版本信息
    python -V
    # 查看python 命令解析流程
    which python #查看python命令位置
    cd /usr/bin
    ls -al python* # 看到解析 python--->python2 ---> python2.7
    

  • 7.2 源码安装

    # 1. 更新系统软件
    yum update -y # 建议更新完后,制作一个镜像!!
    
    # 2. 下载开发工具(包管理器)
    yum -y groupinstall "Development tools"
    
    yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
    
    # 3. 下载或上传软件到 /usr/local 目录 (所有自己软件我放在了/soft下)
    cd /soft
    cp Python-3.6.6.tgz /usr/local/ #复制到/usr/local下
    
    # 4. 解压
    tar -zxvf Python-3.6.6.tgz
    
    # 5. 编译 --prefix=指定未来安装目录
    cd Python-3.6.6
    ./configure --prefix=/usr/local/python3 # [一定确保开发工具包已经下载成功]
    
    # 6. 安装
    cd /usr/local/Python-3.6.6
    
    # 先执行 make 再执行 make install
    make 
    make install 
    # make install > python_log.log  # 写日志!
    
    # 7. 建python软连接
    ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
    
    # 测试
    python3 -V # 能打印版本号,成功
    
    # 8. 建pip的软连接
    ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
    
    # 测试
    pip3 -V
    pip3 list #提示版本太低 [注意:pip list 可能会报错!]
    
    # 测试python3是否安装成功
    python3 -V #打印版本号
    pip3 -V #打印pip版本号
    pip3 list #查看默认虚拟环境中的依赖列表
    
    # 更新pip版本
    pip3 install --upgrade pip  # 更新版本
    
  • 7.3 卸载python

    # 1. 进入/usr/bin目录查看软连接
    cd /usr/bin
    ls -al python*
    ls -al pip*
    
    # 2. 删除软连接
    rm -rf pip3
    rm -rf python3
    
    # 3. 删除安装目录
    cd /usr/local
    rm -rfPython-3.6.6
    
    # 卸载完成!
    

8. 创建虚拟环境 下载依赖库

  • 8.1 建目录

    # 新建虚拟环境目录 和 项目目录 -p参数表示递归创建,如果父目录不存在就自动创建!
    mkdir -p /data/env   # env表示虚拟环境目录
    mkdir -p /data/wwwroot   # 后期存放项目源码目录
    

建虚拟环境

  • virtualenv / virtualenvwrapper

  • venv Python3.3以后自带的虚拟环境管理软件

  • pipenv pip和virtualenv的结合版

  • 8.2 自带的venv创建虚拟环境

    # 进入自己的虚拟环境目录
    cd /data/env
    # 新建
    python3 -m venv my_env01 # 新建虚拟环境 my_env01
    # 激活
    cd /data/env/my_env01/bin
    source activate
    # 各种命令操作
    pip list # 虚拟环境内部 pip 可用!
    pip install django ==2.1.8
    pip uninstall django
    # 导出虚拟换件中所有依赖包
    pip freeze > rquirements.txt
    # 根据依赖包的文本文档,导入
    pip install -r rquirements.txt
    
  • 8.3 使用virtualenv管理虚拟环境

    # 下载 
    virtualenv pip3 install virtualenv
    # 新建
    cd /data/env
    virtualenv --python=/usr/bin/python my_env02
    # 激活
    cd /data/env/my_env02/bin
    source activate  # 激活
    # 各种库操作指令
    pip list
    pip install xxx
    pip uninstall xxx
    deactivate  # 退出
    
  • 8.4 下载uwsgi(在虚拟环境中)

    cd /data/env/my_env/bin
    # 激活
    soruce activate
    # 下载
    pip install django==2.1.8
    # 下载
    pip install uwsgi
    # 创建软连接方便使用
    ln -s /data/env/my_env01/bin/uwsgi /usr/bin/uwsgi
    # 退出
    deactivate
    
  • 8.5 源码安装nginx

    # 1. 下载
    cd /usr/local
    wget http://nginx.org/download/nginx-1.13.7.tar.gz
    # 2. 解压
    tar -zxvf nginx-1.13.7.tar.gz
    # 3. 编译
    ./configure --prefix=/usr/local/nginx #指定安装目录
    # 4. 安装
    make
    make install
    # 5. 启动nginx
    cd /nginx/sbin/
    ./nginx #启动
    ./nginx -s stop/reload
    停止 重新启动
    # 6.本地测试访问ngixn
    curl 127.0.0.1:80
    # 7.关闭防火墙
    systemctl stop firewalld.service
    # 主机测试
    http://172.16.44.40:80 #就可以访问到欢迎页面!
    

查看软件端口 判断软件是否运行

  # 查看端口
  netstat -atunp

  # 杀死端口
  kill pip编号
  kill -9 pip编号   # 强制关闭,一般需要关好几遍

  • 8.6 测试外网能否访问nginx默认页面

    # 1. 查看ngixn路径
    whereis nginx
    
    # 2. 检查nginx端口是否启动
    netstat -atunp  #80有表示ngxin启动了!
    
    # 3. 启动
    cd  /usr/local/nginx/sbin
    ./nginx  #启动
    ./nginx  -s reload/stop #重启/停止
    
    # 4. 本地测试nginx是成功
    curl  127.0.0.1:80
    

# 5. 阿里云服务器后台打开80端口
   入口/出口方向

  # 6. 浏览器通过IP访问
  http://阿里云服务器域名:80
  http://39.98.39.17:80   # 成功

9. 安装MariaDB

  • 1、安装MariaDB

    通过yum安装就行了。简单快捷,安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个
    是客户端。
    
  • 2、配置MariaDB

    1)安装完成后首先要把MariaDB服务开启,并设置为开机启动
    2)首次安装需要进行数据库的配置,命令都和mysql的一样
    3)配置时出现的各个选项
    #https://blog.csdn.net/Jack_Roy/article/details/86184625 mysql卸载!!!
    #https://www.cnblogs.com/huchong/p/9152117.html mysql 完全卸载!!!
    1 [root@mini ~]# cat /etc/redhat-release
    2 CentOS Linux release 7.5.1804 (Core)
    3 [root@mini ~]#
    [root@mini ~]# yum install mariadb-server
    [root@mini ~]# systemctl start mariadb # 开启服务
    [root@mini ~]# systemctl enable mariadb # 设置为开机自启动服务
    [root@mini ~]# mysql_secure_installation
    Enter current password for root (enter for none): # 输入数据库超级管理员root的密码
    (注意不是系统root的密码),第一次进入还没有设置密码则直接回车
    Set root password? [Y/n] # 设置密码,y
    New password: # 新密码
    Re-enter new password: # 再次输入密码
    Remove anonymous users? [Y/n] # 移除匿名用户, y
    4)测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了
    3、设置MariaDB字符集为utf-8
    1)/etc/my.cnf 文件
    在 [mysqld] 标签下添加
    2)/etc/my.cnf.d/client.cnf 文件
    在 [client] 标签下添加
    3)/etc/my.cnf.d/mysql-clients.cnf 文件
    在 [mysql] 标签下添加
    4)重启服务
    Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程
    登录
    Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,
    数据库中会有一个test数据库,一般不需要
    Reload privilege tables now? [Y/n] # 重新加载权限表,y。或者重启服务也许
    [root@mini ~]# mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 8
    Server version: 5.5.60-MariaDB MariaDB Server
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    MariaDB [(none)]>
    
  • 3、设置MariaDB字符集为utf-8

    1)/etc/my.cnf 文件
    在 [mysqld] 标签下添加
    2)/etc/my.cnf.d/client.cnf 文件
    在 [client] 标签下添加
    3)/etc/my.cnf.d/mysql-clients.cnf 文件
    在 [mysql] 标签下添加
    4)重启服务
    Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程
    登录
    Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,
    数据库中会有一个test数据库,一般不需要
    Reload privilege tables now? [Y/n] # 重新加载权限表,y。或者重启服务也许
    [root@mini ~]# mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 8
    Server version: 5.5.60-MariaDB MariaDB Server
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    MariaDB [(none)]>
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    default-character-set=utf8
    default-character-set=utf8
    [root@mini ~]# systemctl restart mariadb
    5)进入mariadb查看字符集
    MariaDB [(none)]> show variables like "%character%";show variables like
    "%collation%";
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_connection | utf8 |
    | character_set_database | latin1 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | latin1 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.01 sec)
    +----------------------+-------------------+
    | Variable_name | Value |
    +----------------------+-------------------+
    | collation_connection | utf8_general_ci |
    | collation_database | latin1_swedish_ci |
    | collation_server | latin1_swedish_ci |
    +----------------------+-------------------+
    3 rows in set (0.00 sec)
    MariaDB [(none)]>
    MariaDB [(none)]> show variables like "%character%";show variables like
    "%collation%";
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    +----------------------+-----------------+
    | Variable_name | Value |
    +----------------------+-----------------+
    | collation_connection | utf8_unicode_ci |
    | collation_database | utf8_unicode_ci |
    
  • 4、远程链接mariadb数据库

    mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库
    1)关闭防火墙
    ① 关闭防火墙 systemctl stop firewalld
    ② 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙
    2)先查看mysql数据库中的user表
    3)将与主机名相等的字段改为 "%" ,我的主机名为mini,
    | collation_server | utf8_unicode_ci |
    +----------------------+-----------------+
    3 rows in set (0.00 sec)
    MariaDB [(none)]>
    [root@mini ~]# systemctl stop firewalld
    [root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
    no
    [root@mini ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启
    3306端口
    success
    [root@mini ~]# firewall-cmd --reload # 重启防火墙
    success
    [root@mini ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
    yes
    [root@mini ~]# mysql -u root -p # 先通过本地链接进入数据库
    MariaDB [mysql]> select host, user from user;
    +-----------+------+
    | host | user |
    +-----------+------+
    | 127.0.0.1 | root |
    | ::1 | root |
    | mini | root |
    +-----------+------+
    3 rows in set (0.00 sec)
    4)刷新权限表,或重启mariadb服务,一下二选一即可
    注意:刷新权限表是在数据库中,重启服务是在外部命令行中
    6)重新远程链接mariadb
    

posted @ 2020-10-30 16:49  摘掉星星  阅读(118)  评论(0)    收藏  举报