[Linux]Centos7部署django项⽬
Linux
必读⼊门⼿册:鸟哥的私房菜
1. 简介
1.1 为什么学习Linux
1、⼤部分服务端都是使⽤Linux操作系统
(Pyhton/JavaEE的项⽬是部署到服务器中的.企业级项⽬都部署在Linux上)
2、⼀些企业和学校(国外学校)采⽤Linux进⾏研发和教学
3、很多嵌⼊式开发使⽤Linux系统
4、⼤数据、云计算,采⽤Linux操作系统(CentOS)
1.2 Linux系统的特点
1、开放、开源、多⽤户的⽹络操作系统
2、可靠地系统安全、良好的移植性
3、出⾊的运⾏速度
4、基于UNIX
5、加⼊了GNU组织(GNU---⾃由软件组织 CopyLeft)
1.3 Linux的组成
1、内核:是系统的⼼脏,是运⾏程序和管理像磁盘和打印机等硬件设备的核⼼程序。
网络打印机拒绝访问2、Shell(外壳):是系统的⽤户界⾯,提供了⽤户和内核进⾏交互操作的⼀种接⼝。它接收⽤户输⼊的命令并把它送⼊内核去执⾏,是⼀个命令解释器。但它不仅是命令解释器,⽽且还是⾼级编程语⾔,shell编程。
3、⽂件系统:⽂件系统是⽂件存放在磁盘等存储设备上的组织⽅法,Linux⽀持多种⽂件系统,如ext3,ext2,NFS,SMB,iso9660等。类似于window的fat32
和ntfs
4、应⽤程序:标准的Linux操作系统都会有⼀套应⽤程序例如X-Window,Open Office等。
1.4 Linux版本
2、发⾏版本,⼀些⼚商将Linux系统内核与应⽤软件和⽂档包装起来,并提供⼀些安装界⾯和系统设定管理⼯具的⼀个软件包的集合,例如RedHat Linux,CentOS,Debian,Ubuntu(个⼈界⾯版), Novell/SuSE Linux等。
RedHat : Rhel(企业版收费的) CentOS(社区版)
Debian:Debian Ubuntu(桌⾯)
公司常⽤:Centos
2 Linux安装
2.1 安装虚拟机
虚拟机软件,可以帮我们模拟⼀台真实电脑!
VMWare
Virtualbox
安装重点
# 1. 虚拟的联⽹⽅式桥连接,  NAT
相当于⼀台新电脑. ⾃动分配和主机⼀个⽹段的IP
⽐如:  主机IP: 172.16.45.42  ⾃动分配的: 172.
# 2. 要打开⽹络开关
忘记打开,后期⼿动改⽹络配置⽂件
# 3. ⼿动分区(分配⽂件⼤⼩)
boot 启动分区:  保存系统启动的引导⽂件的,⼤⼩⼀般300M/500M
swap内存交换分区: 物理内存不⾜时.充当内存⽤!
/
跟分区:  占剩余的所有空间!
linx系统中,⽆盘符概念! 只有⽂件
# 4. ⼀定记住root密码
所有linxu系统.默认最⾼权限⽤户:root.  默认常⽤密码:root/123456
# 5. 记住⾃⼰IP
# window 电脑打查看Ip
ipconfig -all
# centos  查看IP
ifconfig        # 或  addr /address
# ifconfig 默认不能⽤!,需要安装⽹络⼯具
yum -y install net-tools  # -y表⽰忽略安装提⽰  # yum 和 pip⼀样,都可以从软件内置仓库中下载资源
2.1 VMWare使⽤
使⽤快照备份和还原系统[经常使⽤]
右击系统菜单----快照---拍摄快照-->输⼊名字和介绍
右击系统菜单----快照---快照管理--->选择恢复到哪个
克隆
右击系统--->管理--->克隆
编辑虚拟机
2.2 虚拟机中系统的联⽹
第1: 虚拟机联⽹⽅式(选桥接)
桥连接: 相当于⼀台局域⽹中的新电脑!
和主机在同⼀个⽹段
IP: x IP地址由4位组成! 256 1和256 都被路由器使⽤!
主机: 172.16.45.44
同⼀局域⽹段: 172.
IP的前两位相同, 就默认是⼀个局域⽹.是可以相互通讯的!
NAT连接: 不同的是IP的第4位, 最多模拟254台电脑!
NAT模式: 不同的是IP的第3位, 1-255 组建⼤型局域⽹!
仅主机(虚拟机和主机之间通讯)
第2: 确保⽹络开关已经打开
# 1. 检查是否有IP,  检查⽹络状态
ifconfig    # 如果有IP.联⽹成功了!
service  network  status    # 检查⽹络装填!  可⽤显⽰active表⽰可⽤!
# 2. 查看⽹络配置⽂件(默认是动态分配IP,⽹络开关是关闭的:ONBOOT=no) cat /etc/sysconfig/network-scripts/ifcg-ens33
# 3. ⼿动打开⽹络开关
必须改: ONBOOT="yes"  #打开
#4. 重新启动⽹络服务
service network restart
第3: ⼿动修改⽹络配置⽂件打开⽹络开关
# 1. Linux⾃带vi⽂本编辑器      vim是vi的升级版(yum install -y  vim)
vi /etc/sysconfig/network-scripts/ifcg-ens33
# 2. 进⼊编辑模式
键盘i键---->表⽰进⼊编辑模式/状态
各种修改...
# 3. 保存退出
按键 ESC  -----退出编辑状态
:wq ---------- 保存退出
:q! ---------- 不保存退出
# 4. 必须重启⽹络服务器
service network restart
第4: 安装⽹络⼯具
centos mini版不⾃带⽹络⼯具的,需要⼿动下载
⽹络⼯具软件: net-tools
# 安装⽹络⼯具
yum  -y install  net-tools  # 默认ifconfig 不能⽤!
#查看IP的指令
ifconfig
第5: 客户端(SSH)连接
Putty
FinalShell ()
是SSH客户端,可以通过命令控制服务器
⾃带FTP软件,实现⽂件上传!
XShell
等....
3. Linux⽬录结构(重要)
在linux系统中,⽆盘符概念,都是⽂件/⽬录
⾃⼰软件安装位置: /usr/local
系统配置:/etc
还可以操作(,opt) opt:是yum下载安装的地址
bin 存放⼆进制可执⾏⽂件(ls,cat,mkdir等)
boot 存放⽤于系统引导时使⽤的各种⽂件
dev ⽤于存放设备⽂件
etc 存放系统配置⽂件
home 存放所有⽤户⽂件的根⽬录
lib 存放跟⽂件系统中的程序运⾏所需要的共享库及内核模块
mnt 系统管理员安装临时⽂件系统的安装点
opt 额外安装的可选应⽤程序包所放置的位置
proc 虚拟⽂件系统,存放当前内存的映射
root 超级⽤户⽬录 sbin 存放⼆进制可执⾏⽂件,只有root才能访问
tmp ⽤于存放各种临时⽂件
usr ⽤于存放系统应⽤程序,⽐较重要的⽬录/usr/local 本地管理员软件安装⽬录
var ⽤于存放运⾏时需要改变数据的⽂件
4. 常⽤的Linux指令
查看常⽤命令⽂档
Linux命令速查⼿册
5. 软件下载和安装⽅式
从yum软件仓库源中下载
yum 和pip 指令⼀样,都可以从远程软件源/仓库中下载软件!
yum install -y  xxxx  #安装    -y 忽略安装提⽰!
yum remove  xxx      #卸载
yum update            #更新所有的软件源
yum update xxxx      #更新某个
yum list              #查看所有课安装的软件列表
yum search  xxx      #从软件源仓库中查软件
默认软件源地址:
添加新软件源(阿⾥的软件源仓库)
centos ⾃带的源位于国外服务器,可能下载速度慢!可以添加国内的软件仓库/软件源! wget 指令从某个⽹址中下载
# 默认Centos mini 版本 wget不存在
# 查本地wget指令是否可⽤
# rpm  -qa| grep 'wget'  (了解)
# 安装
yum install -y wget
# 下载python3.6.6
wget /ftp/python/3.6.6/Python-3.
window下完安装包,传到linux中
6.Django项⽬发布
centos7+nginx+uwsgi+python3+django+其他依赖模块+ 数据库
python3.x --->底层运⾏环境
通过pip 安装第三⽅库(django,flask,pymysql,requests,....)
uwsgi: 项⽬发布软件,发布django项⽬(启动后就可以在浏览器访问django项⽬ )
nginx: web项⽬发布软件(⽐uwsgi强) 可以绑定域名! 做负载均衡....
数据库: mysql,sqlite,
6.1 安装开发⼯具包
耗时长!安装完后⼀定制作快照
# 1. 更新yum库
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 6.2 安装Python3
centos ⾃带python2.7
# 1. 查看python是否安装
python -V
# 2. 查看python指令解析流程
which  python  # 看到python位置
cd /usr/bin
ls -al  python*  # 查看python相关指令
需要安装python3.x
实现⽅式:添加 python3指令--->软件连接指向python3.6.6的安装⽬录
# 1. 下载Python3.6.6
cd /usr/local
wget /ftp/python/3.6.6/Python-3.
# 2. 解压
tar -zxvf Python-3.
# 3. 进⼊解压⽬录,编译
cd /usr/local/Python-3.6.6
./configure --prefix=/usr/local/python3 # 编译时会检查安装个包是否可⽤,且指定安装⽬录
# 4. 安装
cd /usr/local/Python-3.6.6
make
make install
# 5. 建⽴python3 指令软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
# 6. 测试python是否可⽤
python3 -V
#7. 建⽴pip3 软连接
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
# 8.测试
pip3 -V
pip3 list
# 9. 更新pip3指令
pip3 install --upgrade pip
6.3 卸载python3
所有安装步骤: 下载安装包, 解压, 进⼊解压⽬录 ,编译, 安装, 建软连接, 加配置所有软件删除步骤:
1. 删了软件安装⽬录!
2. 删除软件连接!
3. 删除配置⽂件!
# 1. 进⼊  /usr/bin ⽬录,查看软连接
cd /usr/bin
ls -al python*
ls -al pip*
# 2. 删安装⽬录 (安装⽬录在/usr/local)
cd /usr/local
dir  # 查看⽬录
rm -rf python3
6.4 建虚拟环境下载依赖库
习惯在 /data⽬录中新建 evn: 保存所有的虚拟环境!
wwwroot : 保存所有项⽬源码!
(个⼈习惯,其它⼈可根据⾃⼰的实际情况处理)
建⽬录
mkdir -p /data/env    #  env保存所有虚拟环境    -p表⽰递归创建:如果data⽬录不存在,会⾃动创建! mkdir -p /data/wwwroot  # 保存待发布的项⽬源码