巨蟒python全栈开发linux之centos2
1.一些命令回顾
在vm中,右击"打开终端",输入命令ifconfig,得到的下图算是一个终端,并且我们可以看到服务器的ip是192.168.34.128
我们通过windows上边的Xshell连接服务器,
我们可以看到上边有5个终端
再开一个终端:下边就显示六个终端了
我们可以用w命令看一下是否有人过来做坏事!!!
w 显示终端连接数的命令
pwd 我在哪的命令
whoami 我是谁?
看下python解释器在哪里?
取出路径,注意PATH是区分大小写的,我们必须写大写的字母
注意,从前向后是有优先加载顺序的,并且用冒号进行分割
echo $PATH
在终端下输入这个命令回车 会显示你的环境变量值
which+文件 表示找到命令的绝对路径
Linux的文件系统格式 复习
1.是一个树状图
2.定点是根目录
3.查看根目录下面有什么内容的命令: ls /
4.用户家目录 超级用户root的家目录 /root
/root 根/root 表示的就是根下面有一个root文件夹
/ 根
5.普通用户家目录 /home/xiaobai
/home/xiaolv #再创建一个用户
/home/铁锤 #再创建一个用户
6.一些常用的文件夹:
/opt 存放第三方软件的目录,大型软件的目录,比如python,django
/etc 存放各种配置文件的目录
/var/log
cron表示定时任务日志
.log是日志文件
6.对文件夹,文件操作的命令:
文件夹(蓝色)的操作:
mkdir(增)
ls(查)
mv 改名
rm -r 才能删除文件夹
文件(白色)的操作:(例如:xx.py xx.php xx.go xx.c )
cat(查看)
touch vim (创建文本)
rm 删除
mv 改
1.今日内容的一些命令
root代表用户名
@是三八分割线
主机名默认是localhost
~ 波浪线表示当前你在哪?路径,现在是代表在家目录
# 表示身份提示符号
8.linux的命令提示符
我们不知道我们当前的位置,只有通过操作才会知道,见下图
看时间:
如何修改命令提示符?
取出命令提示符,PS1的变量控制
默认的命令提示符:
echo $PS1
结果显示是:
[\u@\h \W]\$
修改变量的值
PS1="[\u@\h \W]\$"
\u 表示user用户信息
@表示占位符
\h 表示主机名
\W 表示工作目录的最后一位
命令hostname 显示的是主机名
我们将上边的变量的值进行修改:
PS1="[\u@\h \W]\$"
PS1="[\u@\h \w \t]\$"
将W变成w再加上空格,再加上\t
这个时候变成了绝对路径,并且结果中显示的时间了
我们如果嫌弃设置的太长可以,退出,重新登录,就没有了
变量只是执行一次,下次需要需要重新设置
后边我们会学习怎样让这个数据永久生效!!!!!
这里还没有学习,只是个一次性的!!!
9.linux命令参数的用法
下图是以列表的方式列出来:
ls -l
ls -la #显示出所有的内容(包括原来隐藏的内容)
ls -lah #显示出所有的内容(包括原来隐藏的内容)
#加上h表示文件大小的单位
有些单位太小,我们看不到具体的值
打开校花电话
添上一些信息之后,我们得到下面的内容:
现在变成了12k
后边的参数变化的扩展名变化,可能是一些错误的操作导致的
9.linux命令参数的用法:
ls -l
ls -la
ls -lah
10.查看文本的命令
删除tmp下面的所有内容
现在,我们看到下图中有两个"校花"删不掉
这个时候,我们看到的是单个,我们指定删除,就可以删除掉了
直接运行:
rm -rf * #隐藏文件是删除不掉的
/tmp/a/b
/tmp/c/d
mkdir方式
我们可以通过两条命令创建,但是可不可以通过一条命令进行创建?
tmp/q/w/e/r
创建上边的形式的递归
-p 确保目录名称存在,如果目录不存在的就新创建一个。
安装tree
这个时候,我们就看到了目录
vim不能直接创建文本,必须在后边加上要创建的文件名
下面,我们查看一下
cat相当于open某个文件,只能是小文件,不能是只能读2G,你给我10G,直接挂掉
cat用于看小文件
显示行号的方式:
cat也能用于写入文件: >> 追加符号
>>输入 <<输出
EOF表示文件的结尾
这个时候,再看一下这首诗:
执行:
more命令用于查看内容较多的命令
查看存放用户密码的文件
一共是44行
多次回车
10.
Vim有颜色高亮显示,
用Vi打开,全是黑白:
下面我们用vim打开,然后处理
回车之后,显示行号:
如何看前4行,后4行?
11.查看文件的前十行,后十行
head -10 filename
tail -10 filename
现在的情况是,我们用的是w模式写入:
现在我们换成a模式,开始写入:
原来有一条,现在我们追加了4条,现在里边有5条命令了
这个时候,就变成了了5条
2.python3&&django环境配置
依赖文件的路径:(自定义的一个固定位置的安装)
依赖文件下载命令:
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
路径切换到opt,,显示当前目录的问你安,开始下载包
下入是我们已经下载完成的截图:
这个时候就有了安装包:
下面我们删除foleng和rh
我自己的删除命令:
老师演示的删除命令: 删除文件和目录是一个命令
去掉后边的 xz后缀
两种解压缩的方式:
上图是解压命令,下图是解压后的文件:
进入python3.6.7的源代码:
下面我们进行"编译安装"参考文档:源代码的安装过程
这样就安装成功了,文件夹中就多了Makefile和Modules文件
我们再执行上边的后续命令,这个过程可能需要一点时间
ctrl+d是退出当前登录的用户:
安装到这一步代表安装成功了
输入下面的命令为什么python3没有出来?
输入python+Tab出来下面的内容,可能速度慢一些,不要着急
在注意一下步骤:
下面我们进行第六步,"配置python3的环境变量 PATH"
.取出当前的path变量
echo $PATH
.填写python3的bin目录到PATH中
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
.将环境变量,写入到全局配置文件/etc/profile
vim /etc/profile .写入如下代码,在最底行写入如下配置
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
.读取配置文件,加载变量生效
source /etc/profile
第一步之后我们取到路径:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
进入之后,按向下的键,走到最后一行,直接输入i,开始输入,复制制作好的PATH路径
我们需要将这个数据修改到硬盘中:
保存的命令:
如何保存?
上边错误的原因是,是先esc,在输入上边的命令+enter
这个时候,我们输入python3,得到下图:
下面我们安装django,运行django
.安装django模块
pip3 install -i https://pypi.douban.com/simple django
.升级pip
pip3 install --upgrade pip
.通过命令创建django项目
安装django的1.11.11版本,更新pip版本为最新版本19.0.3
查看版本
下面我们通过django创建项目
我们将项目创建在opt文件夹下面
我们在windows里边跑这个地址,跑不出来?
127.0.0.1:8000是本地的回环地址,没有跑django,自然不会出现了
需要在服务器运行的时候,写服务器的ip和端口
访问0.0.0.0:8000,代表对所有的linux的ip进行绑定
liunx对外访问的ip是下图:也就是192.168.34.128:8000
端口号使我们运行的端口号
现在,我们访问不了信息,可能是linux的防火墙对其进行了拒绝访问
iptables -L [chain [rulenum]]
列出 chain 或者所有 chain(当未指定 chain 名称时)中的 第 rulenum 条规则或者所有规则(当未指定 rulenum 时)。不过要注意,如果未指定 chain 则不能带 rulenum 参数。
列出防火墙的规则:
理解:校区门口的保安
也就是一种规则
下面是一些规则:
我们将防火墙的规则撕毁:
iptables -F
清空规则之后,我们再次访问:
需要将配置添加到"settings.py"里边
再次查看一下命令:
setenforce表示关闭防火墙
关闭防火墙之后,我们再次执行django程序
依然是这个界面:
在windows里边也可以ping通程序:
我们换一下端口执行:9999
依然是下面的这个界面:
我们也可以直接将ip换成服务器的ip
再次访问,依然是下面的这个界面:
上边的大黄页,需要进行配置:
我的这个tree命令,也就是目录结构没有
视频中老师测试的结果:
我们可以看到上图中settings.py的位置.
上边树状图没有产生的原因是没有安装了插件,因此,我们需要安装插件
插件的命令是yum install tree -y
:
安装完成之后,我们再次输入tree就可以看到树状图了
我们想快速找到:
输入/ALLOW +回车
这样我们就找了
在中括号里边输入"*",输入之前需要先输入i进行插入模式
输入完成之后,在输入esc
最后在输入:
回车,这样就配置好了
这个时候,我们再次执行运行命令:
这个时候,就运行成功了:
在后边追加/admin ,可以访问到admin地址:见下图
我们在app上如何运行命令?
访问hello,出现,"俺们都是东北人!"
查看crm项目下面的文件,以及crm的树状图
编辑,下面的语句:
i开始编辑:
yyp直接复制当前行,相当于是ctrl+d
可以在项目上边直接创建一个路由:
:q!
:wq!都是离开的意思
我们也可以再创建一个app,下面我们用app 创建爱你一个:
现在我们开始编辑crm里边的urls.py
输入i,开始插入:
必须不是插入模式,输入yyp才能复制上一行
esc退出
输入:
最后得到下图:
输入i,进行插入代码:
用空格,不要用Tab键
输入esc:
退出:
app01需要导入到settings.py里边
输入i,开始插入"app01",
输入esc,在输入下图
回车,运行项目:
端口范围是0-65535
正常用8000之后,
执行运行命令:
运行后:
再次修改settings.py
将DEBUG修改成False,不能将我们的视图暴露给其他人
将DEBUG修改成False为默认值.
修改完成之后,我们再次启动:
访问,依然是下图所示页面:
再次运行hello:
这个调试不能关闭:
再次运行:
报上边的错误,没有发现
出现上边的原因,是在主项目下没有导入路径,
:q! 表示退出不保存
:wq! 表示写入并且离开
运行程序
再次修改项目里边的urls.py和app01里边的views.py
今日笔记:
.学习linux,安装的方式
在你的windows上安装一个 vmware虚拟化软件(基于它可以安装各种系统) .公司中 会提供一个云服务器给你用 服务器ip 123.206.16.61 公网ip
账号 :xiaozhang
密码: xiaozhang666 .登录linux的流程
windows客户端:下载一个远程连接工具
ssh xiaozhang@123.206.16.61 回车过后
输入xiaozhang用户的密码,即可登录 macos:
ssh xiaozhang@123.206.16.61
ubuntu:
ssh xiaozhang@123.206.16.61 .显示终端连接数
w 命令 .我在哪的命令
pwd .我是谁
whoami .找到命令的绝对路径
which .linux的文件系统格式 复习
.是一个树状图
.顶点是 根目录 /
. 查看 根目录 下有什么 内容 ls /
.用户家目录 超级用root的家目录 /root
.普通用户家目录 /home/xiaobai
/home/xiaolv
/home/铁锤
.常用的文件夹
/opt 存放第三方软件的目录,大型软件的目录
/etc 存放各种配置文件的目录
/var/log
.对文件夹,文件操作的命令 (蓝色的文件夹)文件夹的操作: ls mkdir mv 改名 rm -r 才能删文件夹
(白色的文件夹,xx.py xx.php xx.go xx.c )文件的操作:
cat touch vim rm mv 改名 .linux的命令提示符
[root@localhost log]# 如何 修改命令提示符
PS1 的变量控制的
默认的命令提示符
echo $PS1
结果是
[\u@\h \W]\$
修改变量的值 PS1="[\u@\h \w \t]\$" .linux命令参数的用法 ls -ahl .查看文本的命令
cat more .查看文件的前十行,后十行 head - filename
tail - filename
实时监控的命令,可以用于检测nginx的 access.log 也能看各种日志信息 tail -f filename 实时监控filename的 变化,写入 .echo追加写入文件
> 重定向覆盖输出符
>> 重定向追加输入符 [root@localhost tmp]# echo "亚洲的第一个秘密" > 亚洲的秘密.txt
[root@localhost tmp]# echo "亚洲的第一个秘密" > 亚洲的秘密.txt
[root@localhost tmp]#
[root@localhost tmp]#
[root@localhost tmp]# cat 亚洲的秘密.txt
亚洲的第一个秘密
[root@localhost tmp]#
[root@localhost tmp]#
[root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt
[root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt
[root@localhost tmp]# echo "亚洲的第一个秘密" >> 亚洲的秘密.txt .复制的命令
cp 文件 新文件夹 cp -r 文件夹 新文件夹 .历史记录命令
history 历史记录命令,记录系统的命令敲过的历史 快捷方式
使用 !加上 命令的序号,可以快捷执行 .查找命令,查找机器上的文件,或者文件夹 find / -name views.py #找到机器上所有的 views.py
find /etc -name *.py #找到/etc目录下 所有名字叫做 .py的文件
find / -name python* #找到 机器上 所有的python开头的文件和文件夹
find / -type f -name python* #找到机器上 所有以python开头的文件
find / -type d -name python* #找到机器上所有python开头的文件夹 .查看命令帮助信息,如何查看有什么参数?
http://linux.51yip.com/ 命令 --help man 手册
man 命令 .linux的系统管道符 grep -v "^$" settings.py | grep -i "allow"
#过滤出文件的有用信息,也就是排除 注释行,空白行
grep -v "^#" settings.py | grep -v "^$" .linux的别名功能 #当用户输入 rm的时候,就提示他 “你这个二货,求你了别坑我了 ” alias rm="echo 你这个二货,求你了别坑我了" #取消别名
unalias rm .更改主机名字
hostnamectl set-hostname wangdachui .xshell的快捷键
ctrl + l 清屏 ctrl + d 是快速推出会话 logout shift + ctrl + r 是快速连接会话 .远程传输文件的命令 scp 你想传输的内容 你想传输到的地方 #实例
#把本地的test.sh 传输到远程服务器上
scp test.sh root@服务器ip:/opt/ #把远端服务器的内容,传输到自己的机器上 scp -r root@123.206.16.61:/opt/pythonav /tmp/ .安装一个windows和linux传输文件的 软件 yum install lrzsz 的工具 它提供2个命令,一个是上传 一个是下载 rz (接收文件) 直接rz sz (发送文件) sz 传输的内容 直接拖拽 .在线下载资源的命令 wget 资源的url
wget http://www.xiaohuar.com/d/file/20190227/257e9f91df2bbd45c537f9416ae3afbb.jpg .统计文件 文件夹大小的命令 ls -lh 方式1
du -h 文件 #统计文件大小
du -sh . #统计当前文件夹大小合计
du -sh /var/log #统计/var/log大小 .linux的任务管理器top .linux的时间命令 date 可以查看当前时间日期
进行linux时间同步的命令
ntpdate -u ntp.aliyun.com .下载python3,进行编译安装,运行django程序
.解决python编译安装所需的软件依赖(右键//鼠标滚轮按下去)
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y .下载python3源码包
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz xz -d Python-3.6..tar.xz
tar -xf Python-3.6..tar #解压缩,生成一个python源码文件夹 .进入python源码文件夹
cd Python-3.6.
.进行编译安装,编译三部曲
.第一曲
./configure --prefix=/opt/python36/
--prefix 参数解释:指定python36安装的位置
.第二曲
make
.第三曲 ,此时就开始安装python3软件
make install .进入python36安装目录 ,检查bin目录 .配置python3的环境变量 PATH
.取出当前的path变量
echo $PATH
.填写python3的bin目录到PATH中
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
.讲环境变量,写入到全局配置文件/etc/profile
vim /etc/profile .写入如下代码,在最底行写入如下配置
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
.读取配置文件,加载变量生效
source /etc/profile .安装django,运行django
.安装django模块
pip3 install -i https://pypi.douban.com/simple django .升级pip
pip3 install --upgrade pip .通过命令创建django项目
巨蟒python全栈开发linux之centos2的更多相关文章
- 巨蟒python全栈开发linux之centos1
1.linux服务器介绍 2.linux介绍 3.linux命令学习 linux默认有一个超级用户root,就是linux的皇帝 注意:我的用户名是s18,密码是centos 我们输入密码,点击解锁( ...
- 巨蟒python全栈开发linux之centos6
1.nginx复习 .nginx是什么 nginx是支持反向代理,负载均衡,且可以实现web服务器的软件 在129服务器中查看,我们使用的是淘宝提供的tengine,也是一种nginx服务器 我们下载 ...
- 巨蟒python全栈开发linux之centos3
1.作业讲解 (1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng} 下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其 ...
- 巨蟒python全栈开发linux之cento9
1.docker入门学习 查看机器中已经启动的所有的进程. ps -ef 2.docker常用命令学习 3.docker学习3 4.dockerfile与镜像 5.docker私有仓库 6.rabbi ...
- 巨蟒python全栈开发linux之centos7
1.crm项目部署回顾(小BOSS) crm部署 nginx+uwsgi+django+mysql nginx 前端 uwsgi+django 后端 mysql 数据支撑 crm是一 ...
- 巨蟒python全栈开发linux之centos5
1.nginx安装使用 2.nginx访问日志和压测命令 3.nginx反向代理配置 nginx的404页面 访问:淘宝官网的一个错误地址:http://taobao.com/eeeeeeee 淘宝的 ...
- 巨蟒python全栈开发linux之centos4
1.linux虚拟环境1-4 2.linux运行crm代码
- 巨蟒python全栈开发linux之cento8
1.复习路飞部署学习 2.mysql数据库远程访问 3.mysql主从复制 4.redis安全方式启动 5.redis数据类型 6.redis发布订阅 7.redis持久化 8.redis哨兵 9.r ...
- 巨蟒python全栈开发linux之centos6 第二篇
1. .nginx负载均衡的实现 .准备三台机器,准备3台虚拟机,或者和俩同桌交流一下 192.168.226.128 是nginx资源服务器,返回页面的 192.168.226.129 用作ngin ...
随机推荐
- CMD常用功能
1.导出文件目录树状结构 命令:“tree>file.txt /f”
- SQL联查语句加上order排序之后速度超级慢
项目中使用到了分页查询,形式如下 select * from ( select row_number() over (order by a.id0) as seq,a.* from PMS_T_D_S ...
- redis bgsave 内存不够
客户反应很慢,程序玩不了,登录服务器,查看,发现cpu/io正常,内存也还有,但是负载很离谱的飙高到了30多,查原因: 因为用了redis,最近redis数据增长量很大,而且优化过,怀疑是redis问 ...
- LeetCode之小孩分糖果
给定一群站好队的小孩而且按某项分值排名(姑且如果为年龄吧),年龄大的要比他身边年龄小的拿的糖要多.求怎么分配糖果使得分配的糖果数最少. 用一个数组从左到右再从右到左的遍历,向前遍历时若右边的比左边的大 ...
- 使用 %matplotlib inline 出错?
%matplotlib inline 是一个魔法函数(Magic Functions).官方给出的定义是:IPython有一组预先定义好的所谓的魔法函数(Magic Functions),你可以通过命 ...
- protobuf 在win10系统如何编译jar包
最近在搞java服务器项目,前段要求用protobuf进行数据传输,以前没搞过,查了很多资料,走了一些弯路! 先把一些需要下载的链接放上来: protobuf下载地址:https://github.c ...
- pthread_create11121
#include <stdlib.h> #include <stdio.h> #include <pthread.h> void* test(void* args) ...
- kafka consumer assign 和 subscribe模式差异分析
转载请注明原创地址:http://www.cnblogs.com/dongxiao-yang/p/7200971.html 最近需要研究flink-connector-kafka的消费行为,发现fli ...
- java-MapDemo
Map数据结构的使用 package com.example; import java.util.HashMap; import java.util.Map; /** * MapDemo.java D ...
- js基础系列框架:JS重要知识点(转载)
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...