centos
cat /etc/os-release
虚拟化:
我26台dell power edge R720 ,实体服务器,通过vmware vsphere虚拟化的 300+linux服务器
8台阿里云
2个nginx负载均衡,2个web服务器,2个前端服务器,2个数据库
1.命令模式
2.编辑模式
3.底线命令模式
nginx.conf 文件
server {
listen 80;
server_name pythonav.cn;
location / {
proxy_pass 另一台机器的ip;
}
}
tar -zxf *.gz
tar -xf *.tar
xz -d .xz
yum install xz -y
b/s
打开配置文件
vim /etc/reslov.conf
文件中添加如下信息
nameserver 114.114.114.114
分 时 日 月 周
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
50 17 5,15,25 * * /opt/nginx112/sbin/nginx restart nginx
yum安装的nignx
systemctl restart nginx
* * * * * /usr/bin/rm -rf /tmp/*
分 时 日 月 周
30 6 * * * /usr/bin/rm -rf /tmp/*
分 时 日 月 周
5-15 18,20 * * 3 mysqldump -uroot -p --all-databases > /opt/mysql.dump
d 文件夹
rw- user可读可写
r-- 组内成员 可读
rw- 其他人 可读可写
systemctl restart network
systemctl restart mariadb
systemctl restart redis
mysqldump -uroot -p --all-databases > /opt/mysql.dump
# 注释
. 当前目录
… 上级目录
$PATH $是取值符,$PATH表示取path环境的值
rm被设置了别名
设置别名方法
alias //自定义命令="Linux命令"
alias //查看当前系统里所有的自定义命令
unalias //自定义命令 //删除自定义命令
chgrp alex test.py
chown wupeiqi test.py
1.scp 可以用于 linux与linux 或者 macos 与linux
scp 你想要的资源 这个资源放到哪 #这是拿别人的资源
scp 你的资源 其他人机器的目录 #传输你的资源给别人
2.远程拷贝其他人的资源
scp -r [email protected]:/opt/mydjango/ /opt/
-r 表示递归远程传输
3.其他方法
lrzsz 或 xftp
ps -ef |grep mariadb
kill mariadb的pid
浏览器输入域名,做什么事了
1.在当前机器dns缓存中寻找 记录
2.去 本地 hosts文件中寻找对应记录
3.如果没有就取dns服务器中找
4.如果服务器解析到了dns地址,会缓存到本地dns缓存中
redis-server
1.自己写一个redis.conf配置文件,指定redis的启动ip地址,和端口,和密码
bind …
port 6388
requirepass kangchendapangzi
redis-cli
auth kangchendapangzi
OK
ping
打包压缩本地代码,发送到服务器 xftp
配置服务器python解释器的环境,并且解决所有模块依赖的问题
pip3 freeze > requirements.txt
然后把 requirements.txt 发送到linux服务器上
服务器直接安装这个文件,
pip3 install -r requirements.txt
此时解释器 可以正常运转
对python解释器的一个分身,可以在机器上创建多个解释器环境,并且相互没有关系
对virtualenv的一个升级版,更简单好用
Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器
redis集群,为了大流量下的稳定性
静态资源,指的是 jpg css js gif html
动态资源 ,不同的参数指定,有不同等结果,例如 登录 注册 等等 ,不同的url,对数据库有交互的视图请求
ln -s 目标文件 软连接名字
echo $PATH
#注意path是有优先级顺序的,并且path是放一堆文件夹的绝对路径
/opt/python37/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/kafka_2.11-2.1.0/bin:/root/bin
#虚拟主机
server{
#监听端口
listen 80;
#域名
server_name 192.168.11.11;
#对url的匹配 ,当我请求是 http://192.168.11.11:80/
location / {
#定义虚拟主机的根目录
root html;
#定义网页首页文件的名字
index index.html;
}
}
server{
listen 8080;
server_name 192.168.11.11;
location / {
#包含语法,添加反向代理请求头的文件,包含当nginx配置当中
include uwsgi_params;
#基于uwsgi协议的反向代理,转发请求给后端的uwsgi
uwsgi_pass 0.0.0.0:8000;
}
}
任务管理工具 ,可以用supervisor,启动uwsgi
docker是linux的容器方案
解决环境依赖,项目打包上线方便简单
docker run 镜像名 #启动一个docker容器
docker images
docker ps #查看正在运行的容器
docker ps -a #查看所有运行过的容器记录
docker logs #查看容器内的日志
docker port #查看容器的端口映射关系
docker exec -it 容器id /bin/bash #交互式的进入一个容器
docker build . #对一个dockerfile进行打包
A.tac B.more C.head D.man
A.命令所有参数
B.是否真的删除
C.是否有写的权限
D.文件的路径
rm -r 递归删除文件夹及其子目录
-f 强制删除,且不提示
os模块
netstat -tunlp|grep 8080
rdb 基于数据快照进行持久化,生成一个二进制数据文件,save触发持久化
aof 基于命令日志追加的方式,持久化,生成一个aof文件,记录所有数据变动的命令
grant select on *.* to alex@’%’;
反向代理,参数是 proxy_pass
负载均衡参数 upstream{}
#写入这么一个后端应用地址池
upstream {
server
server
server
server
}
nginx的负载均衡调度算法有几种?是什么?
调度算法 | 概述 |
---|---|
轮询 | 按时间顺序逐一分配到不同的后端服务器(默认) |
weight | 加权轮询,weight值越大,分配到的访问几率越高 |
ip_hash | 每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器 |
url_hash | 按照访问URL的hash结果来分配请求,是每个URL定向到同一个后端服务器 |
least_conn | 最少链接数,那个机器链接数少就分发 |
wget url
xshell
putty
securecrt
macos -> iterm2
macos -> 自带的命令行终端 只要是有ssh
chmod u+x file
chmod g+x file
chmod o+x file
grep -v "^$" settings.py #过滤出除了空白行的内容
grep -v "^#" settings.py
grep -v “^#” file |grep -v “^$”
grep “abc$” file1
不会丢,因为容器停止了,并没有被删除 docker ps -a可以看到
docker rm docker ps -aq
docker rm "docker ps -aq"
docker logs -f 容器id