部分名词的理解:python
Ubuntu Server:部署环境,用来部署项目的linux server操做系统(绝大部分的项目是跑在linux服务器上的)。mysql
XShell:用来链接linux的工具,方便操做linux。linux
pycharm:开发工具(专业版对于web开发更友好)ios
python3:编程语言。web
安装篇redis
至于选择哪个发行版作server,看这里:http://mitblog.pixnet.net/blog/post/41037058(须要本身搞定上网问题)sql
(一).镜像下载完后,我选择用VMWare安装。VMWare为咱们会进行简易安装,很方便的。就是本身设置好喜欢的用户名和密码便可。注:ubuntu18.04 LTS的安装界面有很大的变化,得本身一步一步设置。mongodb
(1).提示1:系统装完,先升级apt,否则你不少插件都装不上!命令:sudo apt update 而后 sudo apt upgradeshell
(2).提示2:新的系统,确定有不少程序没有安装过,执行命令的时候,若是没有这个程序,ubuntu server会有对应的提示。直接提示了安装的命令,照着敲就能够了。数据库
(3).查看当前系统的版本:sudo lsb_release -a
(二).XShell链接虚拟机
若是出现问题,看这篇文章:http://blog.51cto.com/mofansheng/1586203
(三).安装Python3
本人安装了2018/6/27发布的python3.7.0
# 先安装依赖。避免 ModuleNotFoundError No module named "_ctypes" 这个错误 sudo apt-get -y update sudo apt-get -y upgrade sudo apt-get -y dist-upgrade sudo apt-get -y install build-essential python-dev python-setuptools python-pip python-smbus sudo apt-get -y install libncursesw5-dev libgdbm-dev libc6-dev sudo apt-get -y install zlib1g-dev libsqlite3-dev tk-dev sudo apt-get -y install libssl-dev openssl sudo apt-get -y install libffi-dev # 事先准备好源码包 # 开始安装,依次执行下面代码 tar -xvf Python-3.7.0.tar.xz cd Python-3.7.0 ./configure make sudo make altinstall # 若是没有报任何错误,就表明安装成功了 # 解释器的默认路径 /usr/local/bin/python3.7 # 若是须要建立软链,可参考下面的命令 # ubuntu16.04 LTS,自带了Python3.5.2,若是须要共存就指定下软链的名字 ln -s /usr/local/bin/python3.7 /usr/bin/ # 试一下有没有成功 python3.7
(四).安装MySQL
(1).安装mysql
直接执行命令:sudo apt install mysql-server mysql-client
注意事项:装完MySQL后,若是 mysql -u root -p 被拒绝了,执行下面的代码:
$ sudo mysql -u root mysql> use mysql; mysql> update mysql.user set authentication_string=password('qwe123') where user='root' mysql> update user set plugin='mysql_native_password' where User='root'; mysql> flush privileges;
(2).开启mysql远程链接
mysql中的root用户默认是拒绝远程链接,要么改root用户的链接方式:
1.用命令行进入mysql mysql -u root -p 2.user表是在mysql这个数据库中,须要进入mysql这个数据库中 use mysql; 3.执行sql命令 update user set host='%' where user='root' AND host='localhost'; 4.刷新系统权限相关的表 FLUSH PRIVILEGES;
要么添加一个新用户(推荐此操做):
# 1、进入mysql操做 # 1.建立普通用户 CREATE USER 'username'@'%' IDENTIFIED BY 'password'; # 2.给普通用户赋权 GRANT ALL ON *.* TO 'username'@'%'; # 3.刷新系统权限相关表 FLUSH PRIVILEGES;
修改mysql的配置文件(必须修改):
# 1. vim /etc/mysql/mysql.conf.d/mysqld.cnf # 2. 找到bind-address,把值127.0.0.1 改成 0.0.0.0 # 容许全部IP访问 # 3.重启mysql service mysql restart
(五).安装Redis
(1).先 sudo apt update
(2).输入命令:sudo apt install redis-server 直接安装
(3).输入命令:redis-server 启动服务
(4).可使用"redis-server -v",来查看当前redis的版本
(六).安装MongoDB
(1).直接执行命令:sudo apt install mongodb
(2).可以使用"mongod --version",查看版本
(七).注意事项
(1).ubuntu系统默认是禁止root用户登陆的
全局与虚拟环境:
(一).概念
首先,虚拟环境它不是虚拟机,它是在虚拟机中的一个开发环境。
虚拟机至关于一个水池,虚拟环境就是水池中的一个水桶。一个虚拟环境一个水桶,水桶与水桶之间相互独立,互不相关。
在全局中配置的python3环境,与虚拟环境也互不相关。
(二).用途
不一样的项目也许用的是不用的解释器。好比,西瓜皮,它只支持python2.7。
难道会由于一个项目,而去改动全局环境吗?改很差,全局环境也崩了。
那么就建一个虚拟环境,而后在pycharm中,链接此虚拟环境中的解释器。
而其余项目,链接其余虚拟环境中的解释器。各个虚拟环境互不相关,因此也不会发生斗殴事件。
1、两个经常使用的虚拟机
虚拟机是什么?就是电脑系统中的一台小电脑。
1.VirtualBox:
对系统要求很高,非正版系统会有不知明的问题。先进入VirtualBox的官网,步骤看下图:
若是这两步完了仍是不行,果断换VMware!
2.VMware:
专业的虚拟机软件,很是好用!(就是吃内存厉害)
VMware11开始再也不支持32位系统,VMware10是最后一个支持32位系统的版本。
特别注意:32位系统中运行"Ubuntu1604_server_32bit.oav"会有问题,须要在物理机的文件中,用记事本打开"Ubuntu1604_server_32bit.vmx",
把本来virtualhw.version="11"这一行中的"11",改为"10"。保存以后,再运行就没问题了。结果以下图:
2、两种联网模式
1.桥接:适用于wifi。和主机级别同样,就至关于再插了一根网线。
2.nat模式:至关于把物理机当成路由器,外面机子上网。
补充:virtualbox使用nat模式的话,xshell链接须要端口转发。VMware则极少须要端口转发。
端口不要随便写,避免写:80 8080 443 3389 8443,会占用!尤为是80 8080!
XShell采用SSH服务链接linux。
3、Linux基础内容
Linux稳定,并且多用户之间互不干扰。每个用户都是在家目录下的一个文件夹。
Linux没有盘符,只有一个根目录,全部文件放在根目录下。
Linux一切皆文件,哪怕是目录,也是一个文件。
linux分区大小写!命令与参数之间要有空格!
4、Linux基础命令
(一).pwd 显示当前完整路径
(二).cd 交互目录
默认进入家(home)目录。切换根目录:cd / 切换回家目录:cd ~ 切换用户:su root 退出当前用户,回到上一个用户:exit 只要不是根目录,就是相对路径:cd 目录名称/ 上一次目录:cd -
补充:修改root密码:sudo passwd xxxxx。这个oav的root用户密码是随机的。root用户标识:#,普通用户标识:$。
(三).ls 查看
ls -a 全部文件(隐藏文件前有个点".")
ls -l 详细信息
ls -h 比较人性化
(常常是:ls -lh 出来的结果可视性特别好)
ls -S 区分大小写
(四).man 帮助
man +命令。可是cd没有帮助,是个例外。翻页:b向上,F向下,q退出
(五).tree 树状查看,看目录结构
若是报错了,就须要先安装一下:sudo apt-get install tree sudo提权(root用户不用提权)
(六).mkdir 建立目录
mkdir -p 分级建立;mkdir -v 看过程;
例1:mkdir -vp aa/bb/cc 先建立aa,再在aa下建bb,再在bb下建cc;同理删除也能够 -vp
例2:mkdir qw we er 是三个同级目录了。
(七).touch 新建文件(可被编辑的)
例:touch demo.py 注:linux中的后缀是给人看的。linux没有区分什么文件,认为都是文件。
(八).rmdir 删除空目录(若是目录下有文件,就不会删)
例1:rmdir a/b/c 删除的是c目录,由于路径精确到了"c"
(九).rm 删除文件
rm -r 分级删除
例:rm -r a 删除了整个a目录
rm -f 强制删除
例:rm -rf * 能够这样说:千万不要用!全删了!恢复linux的代价至关巨大。
(十).cat 查看,cat猫,像猫同样瞄一下。
(十一).more / less
more翻完了自动退出,less必须按Q退出。
(十二).软硬连接
软硬连接:源文件中的内容改变了,连接文件的内容也同时修改了。
不一样的是源文件被删后,软连接就废了。而硬连接仍是可使用。
硬连接至关因而备份。
(十三).
5、查看硬件信息
/dev 目录是用来存放设备文件
/etc 目录下是存放的存放系统程序或者通常工具的配置文件
/proc 目录下就是存放的操做系统运行时,进程(正在运行中的程序)信息及内核信息
(一).硬件信息的查看方式
一种是经过cat在/proc目录下去查看对应硬件的信息;而另外一种就是系统提供的专门命令。
第一种方式,能够说是一招鲜,吃遍天,但不够全面和直观。而第二种,可能在使用的过程当中,更全面,可是须要记识更多的命令。
(二).cat方式
经过cat命令查看/proc目录下的各类硬件设备信息
(1).查看CPU信息
cat /proc/cpuinfo
(2).查看板卡信息
cat /proc/pci
(3).查看内存信息
cat /proc/meminfo
(4).查看USB设备
cat /proc/bus/usb/devices
(5).查看键盘和鼠标
cat /proc/bus/input/devices
(6).查看各设备的中断请求(IRQ)
cat /proc/interrupts
(三).专用命令方式
针对多个硬件的命令有:
(1).lipic:主要是有来列出机器中的PCI设备,好比声卡、显卡、猫、网卡等,主板集成设备也能列出来。
(2).dmidecode:查看硬件信息,包括bios、cpu、内存等信息。是一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既能够获得当前的配置,也能够获得系统支持的最大配置。
(3).dmesg:dmesg是一个显示内核缓冲区系统控制信息的工具,可是须要注意的是dmesg工具并非专门用来查看硬件芯片组标识的工具,但经过这个工具能让咱们知道机器中的硬件的一些参数。
(4).hwbrowser:当前硬件配置的图形化浏览器,这个工具是图形的。可能系统在默认的状况下没有安装,须要另外安装才行。
(四).此外,还有一些设备能够经过专门的命令进行查看,好比查看cpu的lscpu,参看硬盘的lsblk,参看系统的uname。