1.查看nginx在哪个包里面有
yum list nginx
2.添加epel源(这个很关键,红帽旗下企业级的包)
yum -y install epel-release(国外源)
wget -O /etc/yum.repos.d/Centos-Baes.repo https://mirrors.aliyun.com/repo/epel-7.repo(阿里源)
3.查看源信息
yum repolist
/etc/yum.repos.d 下面有repo源信息
cd /etc/yum.repos.d
4.清除原来的yum数据
yum clean all
5.更新新的yum仓库信息
yum makecache
6.查看端口信息
netstatt -antlp | grep 9200
7.上传本地文件到远程机器指定目录
scp /etc/elasticsearch/elasticsearch.yml 192.168.137.143:/etc/elasticsearch/
8.pycharm的一些用法
ctrl+alt+F7
ctrl+q
ctrl+shift+i
9.静态代码分析
inspect code
10.git的一些用法
git init
查看自己的仓库
git remote -v
添加仓库
git remote add demo xxxxxx.git
注:demo:github上面创建仓库的名称
xxxx.git:你自己项目的地址
提交到暂存区
git add 文件名
提交到本地仓库
git commit -m “xxx”
拉下来
git pull demo master
推上去
git push demomaster
分支之间进行比较
在url后面直接加compare
issure
可以反映开源项目是否活跃,看看问题还有close的东西
settings-webhooks介绍
消息触发机制,jenkens
11.LTS代表长期支持版
12.切换到root用户
sudo su
13.没有域名可以用github.io
14.ls -l 查看文件的所有信息
15.创建虚拟环境
pip install virtualenv
virtualenv 环境名称
cd Scripts
soure activate
退出虚拟环境
deactivate
16.windows下查看开启的服务
net start
17.windows下查看端口是否被监听
netstat -an | grep '80'
18.开启关闭某服务
net start [services] //启动指定服务
net stop [services] //停止指定服务
注意:要先配置环境变量
19.redis设置密码(临时)
config set requirepass yourPassword
20.windows下的坑
https://blog.csdn.net/L_BestCoder/article/details/78076864
21.Python连接虚拟机redis大坑
https://www.jianshu.com/p/3178b009d300
22.标准流程:
1)改配置的时候先关闭redis
systemctl stop redis
2)cd 到redis的文件夹下
3)打开配置文件
vim redis.conf
4)注释掉bind或改成
bind 0.0.0.0
bind 指定的ip
5)protected-mode在redis3.2之后新加的字段
是禁止公网连接redis为了安全
是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码 和bind,可以开启。否 则最好关闭,设置为no。
6)daemonize
redis采用的是单进程多线程的模式。
当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。
在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项
pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
当daemonize选项设置成no时,当前界面将进入redis的命令行界面,
exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
7)用修改的配置开启redis(非常关键)否则一切修改都不生效
cd /usr/local/bin
./redis-server ~/redis-5.0.4/redis.conf(后面要填自己的redis文件夹和配置文件路径)
8)启动生效
systemctl start redis
9)开机自启动
systemctl enable redis
困扰我几个小时的报错问题终于解决了,最后附上一段Python连接redis代码
import redis
client = redis.StrictRedis(host="192.168.137.144(虚拟机ip)", port=6379, password="填你自己的,不让你看")
client.set("name", "cui")
print(client.get("name"))
舒服了鸭
23.redis使用快速上手 https://redis.io/topics/quickstart
24.https://github.com/andymccurdy/redis-py/ github官方文档
25.七牛云做后端的配置
QINIU_ACCESS_KEY = 'VvulZ1nWkjzwmURaRCfu6Lz-TU66f5TRklxr_peJ'
QINIU_SECRET_KEY = 'rp431fMqVQu2gtSQWoYbpR1GJjmC4eaa3dN8JVZ8'
QINIU_BUCKET_NAME = '**' # 你的存储空间名字
QINIU_SECURE_URL = False # 使用http
QINIU_BUCKET_DOMAIN = '**.bkt.clouddn.com' # 外链默认域名
PREFIX_URL = 'http://'
# 文件系统更改
MEDIA_URL = PREFIX_URL + QINIU_BUCKET_DOMAIN + "media/"
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace("\\", "/")
# MEDIA_ROOT = 'media/'
DEFAULT_FILE_STORAGE = 'qiniustorage.backends.QiniuMediaStorage'
STATIC_URL = QINIU_BUCKET_DOMAIN + '/static/'
# STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
STATIC_ROOT = 'static/'
STATICFILES_STORAGE = 'qiniustorage.backends.QiniuStaticStorage'
https://www.jianshu.com/p/6b543668462b 实际部署分享
https://developer.qiniu.com/kodo/sdk/1242/python 官方文档
https://github.com/piglei/django-qiniu 开源
26.Contributing代码的流程
登录 https://coding.net 或 https://github.com
仓库地址分布:
Coding仓库:https://coding.net/u/widuu/p/chinese_docker/git
github仓库:http://github.com/widuu/chinese_docker
oschina仓库:http://git.oschina.net/widuu/chinese_docker
创建您的特性分支 (git checkout -b my-new-feature)
提交您的改动 (git commit -am ‘Added some feature’)
将您的改动记录提交到远程 git 仓库 (git push origin my-new-feature)
然后到 coding 网站的该 git 远程仓库的 my-new-feature 分支下发起 Pull Request
27.docker中文文档 https://www.widuu.com/chinese_docker/index.html
28.centos的dockerfile https://github.com/CentOS/CentOS-Dockerfiles(里面有Django,python,nginx!!!)
29.http://houdunren.gitee.io/note/git/git.html#%E5%AE%89%E8%A3%85 git的详细教程
30.mysql 事务 一组操作要么成功要么失败
31.锁:数据库支持多线程 支付场景 不能同时修改
32.Python的gc机制 对象映射,当为0时自动回收,当程序执行完毕时自动回收
未完待续
33.python3默认的的编码 utf-8
34.解释型:当程序运行时将代码一行一行的解释成二进制再运行。
优点:排错快,开发效率高,可以跨平台,不像go,还得进行编译再运行。
缺点:执行效率低
典型的语言:python
35.编译型:一次性全部编译成二进制再运行
缺点:排错慢,开发效率低,不能跨平台
优点:执行效率高
典型:C
36:python的种类:cpython,默认解释器,转换成字节码再转换成c语言
pypy:一次性转化成二进制,执行效率高
37.tar包 在linux系统里面的,jar包也是,tar包放的是一个项目
38.切片:列表,字符串。[起始索引:截止索引:步长]
39.s[:] 全取
40.原则:顾头不顾尾
41.upper() 全部大写 lower() 全部小写
42.swapcase() 大小写翻转
43.title() 每个单词的首字母大写
44.startswith() 判断以什么为开头
45.endswith() 以什么为结尾
46.strip() 去除首尾的空格,换行符(\n),tab键(4个空格 用\t表示)
47.lstrip() 去除左边的空格、换行符、tab键
48.rstrip() 去除右边的空格、换行符、tab键
49.strip()还可以去除指定的字符串
50.find() 通过元素找索引
还有一个函数index(),也是同样的功能
不同的是,index()找不到,直接报错
find()找不到时,会返回-1
51.count() 寻找元素出现的个数,可切片
52.replace() 替换
s1 = s.replace('东北','黑龙江')
我的老家在黑龙江,黑龙江有很多人
53.split() 分割,将字符串转换为列表
s = 'wo zai tai bei'
s1 = s.split()
print(s1)
['wo', 'zai', 'tai', 'bei']
s = 'awozaiataiabei'
s1 = s.split('a')
print(s1)
['', 'woz', 'i', 't', 'i', 'bei']
54.format() 格式化输出
s = '我叫{},今年{},爱好{}'.format('MT',18,'打怪')
print(s)
s = '我叫{0},今年{1},爱好{2},我依然叫{0}'.format('MT',18,'打怪')
print(s)
s = '我叫{name},今年{age},爱好{hobby}'.format(age=18,name='MT',hobby='打怪')
print(s)
isalnum() 字符串由字母或数字组成
isalpha() 字符串只能由字母组成
isdigit() 字符串只能由数字组成
55.for 循环是有限循环,while 循环是无限循环,for循环会自动停止
56.8位 = 1 byte 表示一个字符。
57.jion的用法
s = '@'.join('我是谁')
print(s)
我@是@谁
58.使用join方法将列表转换为字符串
li = ['wusir', 'taibai', 'xiao']
print(' '.join(li))
wusir taibai xiao
59.使用split方法将字符串转换为列表
s1 = 'wusir taibai xiao'
print(s1.split())
['wusir', 'taibai', 'xiao']
60.数据类型的分类:
可变数据类型(不可哈希):list,dict,set
不可变数据类型(可哈希):int,bool,str,tuple
61.容器类型:
容器类(承载各种数据类型):list,tuple,dic
62.== 比较的是数值 is 比较的是内存地址
63.str不能直接存储和传输,必须要转换为bytes类型,才可以。
64.str的编码方式:unicode 。 bytes编码方式是:GBK,utf-8
65.字符串转换为bytes
s = '中国'
s1 = s.encode('utf-8')
print(s1)
66.bytes转换为str
s1 = b'\xe4\xb8\xad\xe5\x9b\xbd'
s2 = s1.decode(encoding='utf-8')
print(s2)
只有将字符串写入文件或者发送数据时,才需要用到编码转换
67.对于元组:如果只有一个元素,并且没有逗号,此元素数据类型不会改变。如果结尾有逗号,就是元组类型
tu = ([1,2,3])
tu1 = ([1,2,3],)
print(tu,type(tu))
print(tu1,type(tu1))
[1, 2, 3] <class 'list'>
([1, 2, 3],) <class 'tuple'>
字符串直接转换为元组是没有方法的。
除非把字符串转换为列表,再转换为元组
数字,字符串,列表,元祖,字典对应的布尔值的False分别是什么?
数字0
字符串 ‘’
列表 []
元组 ()
字典 {}
68.set的pop() 随机删除
69.clear() 清空集合
70.del 删除集合
71.闭包
def wrapper():
def inner():
print(666)
inner()
wrapper()
72.迭代器最大的好处,就是节省内存
73.生成器和迭代器的区别
迭代器: 有内置方法
生成器: 开发者自定义
74.内部含有__iter__方法的对象就叫做可迭代对象
内部必须有__iter__方法和__next__方法的对象,叫做迭代器
75.生成器使用__next__()方法取值,或者for循环
76.http://mishengqiang.com/sweetalert/ 插件 可以选择一个你喜欢的样式进行下载
77.
生成ssh秘钥,一路狂回车
ssh-keygen
声明身份
git config --global user.name “肖祥”
git config --global user.email “xx@qq.com”
克隆代码
git clone git@github.com:Money-set/s11_menoy.git
创建个人分支
git branch xiaoxiang
切换到个人分支
git checkout xiaoxiang
复制代码到此目录
添加到暂存区
git add .
提交文件
git commit -m “xiao的博客系统”
提交到远程分支
git push origin master
78.python的语法
创建空列表: list = []
创建空元组:tuple = ()
创建单个元素的元组:tuple_single = (‘1’,)
创建空字典: dict = {}
创建空集合:set = set()
79.安装管理虚拟环境的工具
安装插件
pip install virtualenvwrapper-win
创建虚拟环境
mkvirtualenv you-get
列出所有的虚拟环境
lsvirtualenv
workon venv
停止虚拟环境
deactivate
删除虚拟环境
rmvitualenv venv
https://www.cnblogs.com/suke99/p/5355894.html 参考
80.zsh切换bash bash切换zsh
切换bash
chsh -s /bin/bash
切换zsh
chsh -s /bin/zsh
要重启下哦
81.虚拟网络技术
桥接:物理网卡做交换机
82.dockerfile自建镜像 类似于模板
通过环境变量启动 通过配置文件启动
容器化时代不建议文件,而是传环境变量
83.制作镜像dockerfile
84.Linux生成私钥和公钥免密连接
https://www.cnblogs.com/ExMan/p/10908269.html