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


浙公网安备 33010602011771号