svn代码托管 java apache web服务 oracle nagios 监控软件 redhat
git python java nginx web服务 mysql(mariadb) zabbix centos
suse 数据库安全程度高   fedora 最新技术
虚拟机 VMware
双系统
xshell 远程连接工具

https://opsx.alibaba.com/mirror#阿里云官方镜像站
iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的
推荐图像。):https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-
DVD-1804.iso


pip3 install -i https://pypi.douban.com/simple django

虚拟机 稍后安装操作系统

桥接 大家在一个局域网,可以互相通信
nat 无法互相通信
将虚拟磁盘拆分多文件
bask web server 选 develop tools python
小键盘会乱码,不要用

https://www.cnblogs.com/pyyu/articles/9313587.html 忘记密码

Linux查看ip方式:
方式1:ip addr
方式2: ifconfig
var 放日志
bin 放可执行命令的目录
蓝色 文件夹 白色 普通文件

Windows安装 xshell工具
ctrl atl 释放鼠标

 

tty    查看当前终端
who am i 仅显示当前用户正在使用的终端和登录时间
w       查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)

ssh 用户名@IP

超哥之前说过“Linux一切接文件”,也就是在Linux系统中修改服务程序,都得去修改它对应的配置文件,sshd程序的配置文件是/etc/ssh/sshd_config,检查配置文件参数
登陆远程电脑
ping通就可以登陆
创建文件夹 mkdir 文件夹1
ls 查看文件夹信息
cd 进入
pwd 我在那里
touch 文本.txt
ehco"相当于输入" > 文本.txt >重定向符号
cat 文本.txt 看文本内容
rm 删除文件 rm -rf /* 根目录
虚拟机快照 回到以前
rm -r 删除目录 不要提示是否删除 -rf f是强制性的意思
mv 移动 mv caozuoduixiang .. 移动到上一级
cd / 切换到根目录
ls -la 显示内容的详细信息和隐藏内容 a 隐藏文件 l列表方式展示

cd . 当前目录
.. 上一层目录
- 前一个工作目录
~ 当前【用户】所在的家目录
如果没有ifconfig 少装了 yum install net -cools -y
mkdir -p 递归创建文件夹
mkdir diyi dier disan创建多个
rm -rf /tmp/* tmp下所有文件
mkdir -p /tmp/luffy/(first,second,third) 创建三个文件夹
touch /tmp/first.py touch ../qishi.txt
~用户家目录
useradd name 创建用户
passwd name 创建密码
vi vim 记事本
输入i 进入编辑模式 esc 回到命令模式 ;进入底线命令模式 :w将文件写入:q退出不保存
:wq! 写入退出
退出会话 logout
清屏 clear
快速登陆 shift+ctrl+r 快速登陆上次退出的会话
tab补全代码
代码里输入#coding:utf8 py2可以显示中文
mv /tmp/onepiece /opt/
mv /tmp/onepiece /opt/重命名
path 环境变量的变量名
echo 写什么输出什么
echo $变量名
变量名=“水电费” 不能有空格
echo $PATH
pwd 我在哪 打印绝对滤镜 whoami 我是谁 which ls 命令在哪里
添加py3环境变量 最后一个是bin 可执行 /opt/python3/bin
> 重定向输出符 “东方闪电”> text.txt 覆盖写入
“东方闪电”> >text.txt 追加写入
w 显示终端
ctrl+atl+F1--F7 切换终端 7个,终端1默认图形化界面
只要最开始没有 / 就不是从根目录,就是相对路径
hostname 主机名
用户名@主机名 目录 #身份 ~用户家目录 #超级用户 $普通用户
PS1命令提示符变量 \U \W只显示最后一级目录 \t显示24小时制时间\h PS1="[\u@\h \w绝对
路径工作目录]\$"
cat /etc/passwd -n 带数字行号显示
vi /etc/passwd :nu 同上
hostnamectl set-hostname qishione
cat >>kun.day<< EOF 重定向写入
水电费
EOF 结束
cat不适合看大文件
more 分页读取文件
less 分页读取文件
cp kun.day kun.day.bak
rm -rf kun.day
mv kun.day.bak kun.day
cp -r 递归,复制目录以及目录的子孙后代
yum install tree -y 安装tree命令
tree . 当前目录
cp --help 帮助手册 man cp 详细手册
alias 别名功能 rm=rm -i
rm="echo'sdfsdfsdf'"
unalias rm 恢复rm 功能
找文件 find Windows everthing
find / -name settings.py
find / -name *.py
-type 指定文件类型
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件

find /tmp/ -type f -name "oldboy.py"
ls -l == ll命令 查看文件类型

1.tab键 用于自动补全命令/文件名/目录名
2.ctrl + l  清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作

ifcfg-lo 本地回环地址
ifcfg-ens33 网卡名字
ip a 查看网络信息

ps-ef 查看命令管理器
Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输
入。
常见用法:
#检查python程序是否启动
ps -ef|grep "python"
#检查nginx的端口是否存活
netstat -tunlp |grep nginx

0.0.0.0 代表 127.0.0.1 加 本机IP
easy_install django py2 装软件
grep 文本搜索 支持正则
grep "我要找什么" /tmp/oldboy.txt
#排除 -v,排除我要找的东西
grep -v "我要找什么 /tmp/oldboy.txt
语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
head -5 默认是前十行
tail -5 filename
head -30 | tail -10 取出20-30行数据
scp 远程传输 关闭Linux防火墙-控制程序端口的出入规则

iptable -F 清空防火墙
iptable -L 查看防火墙规则
systemctl stop/start/restart firewalld 临时关闭
systemctl disable/enable firewalld永久关闭
history 历史命令
关系系统自带美国航空局的selinux
getenforce 查看状态
setenforce 0 临时关闭

scp 本地文件 远程用户名@远程ip:远程文件夹/
-r :递归复制整个目录
#复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/
df-h 查看磁盘大小
ls- lh 查看文件大小 h友好的单位形式 l详细信息
du -h ./* 统计当前目录大小
-s 合计
du * 当前各自文件大小
du ./* 统计当前的所有内容

redis-cli -a 密码登陆
修改默认端口号 ,修改数据文件夹
top 系统负载 任务 cpu 内存
free -m 查看内存
chattr +a settings.py文件枷锁
chattr -a settings.py
lsattr settings.py 查看锁
date 显示时间 系统时间
hwclock 系统时间
ntpdata -u ntp.aliyun.com 与阿里云的时间服务器同步

wget url 下载
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com
文件中
reboot命令用于重启机器
poweroff用于关闭系统
传输到Windows yum install lrzsz -y 一路yes
rz (recive) sz发送 下载文件
yum install vim -y
a i o 都是编辑模式
o 下一行 i 光标所在位置 a 在光标所在字符后面编辑
0 行首 $ 结尾
命令模式 yy复制一行
p 打印刚才的复制
:set nu 显示行号 底线命令模式
7yy 复制7行,光标所在及以下7行
g 第一行 G 文件末行
:行号 快速定位到某行
/查找内容 字母n 向下查找
?查找内容 从下网上找
dd删除光标所在航
2dd光标以清空
dG 清空光标所在行以下的内容
u 撤销上一次的动作
x删除光标所在的字符
用户id 组 id
etc/group
root新建用户 uid是在1000开始的

系统服务的用户1-1000
useradd
userdel yonghu 只删除etx/passwd /home/下没有删除
userdel -r yonnghu 彻底删除
用户身份切换
su - alex -代表完全切换
logout退出到上一次登陆的用户
#先看下当前用户(我是谁)
whoami
#切换用户
su - oldboy
#退出用户登录
logout
ctrl + d
#添加用户
useradd oldboy
#设置密码
passwd redhat
编辑sodu
vim /etx/sudoers
!vim 退回上一步
visodu
复制root 改为其他用户
普通用户 权限不足 用 sudu
已经可以使用sudo ls /root 命令
Linux权限主要依据三种身份来决定:

user/owner 文件使用者,文件属于哪个用户
group 属组,文件属于哪个组
others 既不是user,也不再group,就是other,其他人

-文件类型 rw- user属主 r-- 组权限 r--其他人权限
-rw-r--r-- 1 root root o jan 文件名
-普通文件 d 文件夹 l 快捷方式,软连接link
r w x - 可读 可写 可执行 没有权限
每三个1位
chmod u+x wenjianming u代表user x代表可执行
vim alex.sh echo"dd"
./alex.sh
chmod o-r 让其他用户不能读
r 4 read可读,可以用cat等命令查看
w 2 write写入,可以编辑或者删除这个文件
x 1 executable 可以执行
r 可以对此目录执行ls列出所有文件
w 可以在这个目录创建文件
x 可以cd进入这个目录,或者查看详细信息
000 777 4+2+1 r-x 4+0+1=5
chown root 改变文件属主
chgrp root filename 改变属组

id指令查看用户所属群主
[root@oldboy_python ~ 16:34:52]#id root
uid=0(root) gid=0(root) 组=0(root)


软连接
/opt/python3/bin/python3.6
直接可执行Python
1加入path
2软连接
ln -s /opt/python3/bin/python3.6 /usr/local/bin/python3 重命名为Python3

ln -s /opt/python3/bin/pip3 /usr/local/bin/pip3
xftp 支持断点续传
tar -zxvf解压文件
tar -zcvf压缩文件
-x 解压
-z 调用gzip命令
-v 显示压缩过程
-f 指定一个文件
-c 压缩文件
tar -cf(指定文件名) alltmp.tar ./* 当前目录所有内容
tar -xf alltmp.tar
tar -zcvf alltmp.tar.gz z以字母gz结尾 c文件后缀tar 压缩当前的所有内容到alltemp
文件中
解压缩 一个后缀后缀的去解压
gzip -d alltmp.tar.gz
tar -xf alltmp.tar tar       -zxf alltmp.tar.gz

netstat -tunlp
netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;
ps  命令常用参数
-a 显示所有进程
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
root yonghu 91286 pid进程id      grep --color=auto vim进程的命令 ps -ef|grep mysql多出
来的是grep 产生的进程
kill pidnumber
kill -9 pid 强制杀死
pkill vim正则
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,这
个功能管理员又爱又恨,大多数生产环境也是关闭的做法,安全手段使用其他方法。
大多数ssh连接不上虚拟机,都是因为防火墙和selinux阻挡了
1.修改配置文件,永久生效关闭selinux
cp /etc/selinux/config /etc/selinux/config.bak #修改前备份
2.修改方式可以vim编辑,找到
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
3.用sed替换
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4.检查状态
grep "SELINUX=disabled" /etc/selinux/config
#出现结果即表示修改成功
getenforce #获取selinux状态
#修改selinux状态
setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
数字0 表示permissive,给出警告,不会阻止,等同disabled
数字1表示enforcing,表示开启

centos7默认已经使用firewall作为防火墙了
1.关闭防火墙
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld#关闭防火墙开机启动
systemctl is-enabled firewalld.service#检查防火墙是否启动
iptables -L 查看规则
iptables -F 清空规则

乱码核心解决办法
1.系统字符集utf8
2.xshell字符集utf8
3.文件字符集一致zh_CN.UTF-8
vim /etc/locale.conf
LANG="zh_CN.UTF-8"

df(选项)(参数)
-h或--human-readable:以可读性较高的方式来显示信息;

dns
1去本地dns缓存中查找域名记录
2/etc/hosts文件中查找
3etc/resolv.conf指定的DNS服务器中查找

114.114.114.114 114的DNS
119.29.29.29腾讯
223.5.5.5阿里
223.6.6.6 阿狸
nslookup www.oldboyedu.com
定时
crontab -l 查看计划任务的规则
-e 编辑任务
*****/usr/bin/echo "sd">>/tmp/lv.txt
tail -f .tmp/lv.txt
分时日月周 命令 命令的绝对路径
2816*** systemctl restart nginx 重启 4:28
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条
件后每月都执行该命令操作。
30 08 * * * 每天8.30去上班
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。
同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com 每隔三分钟执行下时间同步
source /etc/locale.conf 重新读下配置文件使其生效
***** /usr/bin/rm -rf /tmp/*
centos软件包格式
rpm格式 手动解决依赖关系 难用
macos dmg
yum工具
仓库中搜索rpm软件包,自动搜索软件,解决以来
/etc/yun.repos.d 在这个目录下,并且以repo结尾的才被识别为yum仓库
自定义yum仓库,修改源
mirror.aliyunbaba.com
wget -o 制定下载后的文件存放到某个路径,且改名

清空yum缓存 yum clear all
生成新的缓存 yum makecache
epel仓库
systemctl start redis 只有通过yum安装的才可以通过systemctl管理
redis-cli 登陆
key * 看下是否有数据
ping PONG
systemctl status redis 查看状态
systemctl stop/start network
systemctl enable redis 开启加载
systemctl disable redis 禁止开机自启


xshell 查看 撰写 多终端输入 加号:开启对话,可以设置编码

centos6/rhel 6 service redis start/stop/restart

tar -zcf /home/aaa.tar.gz /tmp/*

50 17 5,15,25 * * /usr/bin/cp systemctl restart nginx
0 23 * * 3-5 /usr/bin/cp -r /var/log/ /vmtp/
rm -rf /tmp/ 删除文件夹
rm -rf /tmp/* 删除文件夹下的文件
#网卡配置文件
/etc/sysconfig/network-script/ifcfg-eth0网卡名
#linux的dns客户端配置文件,实现域名和ip的互相解析
/etc/resolv.conf
#本地dns解析文件,设定ip和域名的对应解析,开发测试最常用的临时域名解析
/etc/hosts/
#系统全局环境变量永久生效的配置文件,如PATH等
/etc/profile 变量写入这个文件
变量只设置一次的话,只对当前会话生效
source /etx/profile
当前登录用户
~/.bash_profile

.yincangwenjian.txt 点开头的是隐藏文件


#! shebang 声明的作用
1.1下载python源码包
https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
1.1.1安装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
stackoverflow 报错查询网站

这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参
数来对安装进行控制,比如代码:

./configure --prefix=/usr
上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的
/usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。

同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以
加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许
./configure --help 察看详细的说明帮助。
1进入源码包目录 到configure
2 ls 查看源码包内容
3 释放编译文件 makefile
./configure --prefix=/opt/python36/ 安装路径
make && make install 编译 用gcc去编译 安装后会生成文件
python3 放入path 第一位
/etc/profile 写入
pip3 install -i https://pypi.douban.com/simple django==1.11.16
pip3 list 查看解释其信息
创建Django dango-admin startproject mysite
cd mysite/
python3 manage.py runserver 0.0.0.0:8000
vim mysite/settings
ALLOWED_HOSTS=["*"]
django-admin startapp app01

1.安装virtualenv
pip3 install virtualenv


2.创建目录
mkdir Myproject
cd Myproject
3.创建独立运行环境-命名
virtualenv --no-site-packages --python=python3 venv#得到独立第三方包的环境,并且
指定解释器是python3
4.进入虚拟环境
source venv/bin/activate#此时进入虚拟环境(venv)Myproject
5.安装第三方包
(venv)Myproject: pip3 install django==1.9.8
#此时pip的包都会安装到venv环境下,venv是针对Myproject创建的
6.退出venv环境
deactivate命令
7.
virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制
一份到virtualenv的环境,用命令source venv/bin/activate进入一个virtualenv环境时,
virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

source /opt/qishidjango/mysite/qishifenshen1/bin/activate
--no-site-packages 纯净的
--python 本体
使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的
目录,并且省去了source的步骤。
ctrl + C 中断
模块导出 pip3 freeze > allpkg.txt
pip3 install -i https:--- -r allpkg.txt
pip3 install virtualenvwrapper

打开文件
vim ~/.bashrc /root/.bashrc

WORKON_HOME=~/Envs #设置virtualenv的统一管理目录
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的
参数,生成干净隔绝的环境
VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 #指定python解释器
source /opt/python34/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
读取文件,使得生效,此时已经可以使用virtalenvwrapper
mkvirtulenv name1
workon xunihuanjingmingzi 激活
lsvirtualenv
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages
删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115

mariadb 官方yum
touch Mariadb.repo
添加repo仓库配置
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
当 MariaDB 仓库地址添加好后,你可以通过下面的一行命令轻松安装 MariaDB。

yum install MariaDB-server MariaDB-client -y
官方很慢
确保mariadb服务器启动后,执行命令初始化

mysql_secure_installation

\s 查看编码方式
中文编码设置,编辑mysql配置文件/etc/my.cnf,下入以下内容
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
log-error=/var/log/mysqld.log
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
restart 后生效
查看数据库的编码方式
show create database qishi1;
安装redies
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar xzf redis-3.0.6.tar.gz
cd redis-3.0.6
make && make install
redis-server touch redis-6379.conf

port 6380
daemonize yes 后台运行
pidfile /data/6380/redis.pid 存放redis pid 的文件
loglevel notice日志等级
logfile "/data/6380/redis.log"日志生成目录
dbfilename dump.rdb 数据文件夹的目录
dir /data/6380
protected-mode yes
requirepass mima 设置密码

redis-server redis-6380.conf
redis-cli -p 6380 指定端口
redis-cli -p 6380 -a mima指定端口 -a显示的填写密码

web服务器(nginx):接收HTTP请求(例如www.pythonav.cn/xiaocang.jpg)并返回数据
apache lighthttp IIS(window的web服务器)
web框架(django,flask):开发web应用程序,处理接收到的数据


auth mima

绑定ip,如需要远程访问,需要填写服务器ip
bind 127.0.0.1

端口,redis启动端口
port

守护进程方式运行
daemonize yes

rdb数据文件
dbfilename dump.rdb

数据文件存放路径
dir /var/lib/redis/

日志文件
logfile /var/log/redis/redis-server.log

主从复制
slaveof


web框架吞吐量
django 600 req/s flask 900 req/s tornado 1200req/s 异步非阻塞
sanic py3.7 uvloop select模型 2600req/s
linux ab 压测命令
golang n内置goroutine net/http 60000req/s
nginx+uwsgi+django 支持10万的并发 tengine淘宝的nginx
rhcsa 红毛系统管理
rhce 红帽工程师认证
rhca 红帽的架构师
技术栈 收费 redhat java oracle memcachd tomcat apache vue svn
yum remove redis 一台机子不要安装2个
readline-devle 代码输入记忆模块
1.下载源码包
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
2.解压缩源码
tar -zxvf nginx-1.12.0.tar.gz
3.配置,编译安装 开启nginx状态监测功能
./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-
http_stub_status_module
make && make install
4.启动nginx,进入sbin目录,找到nginx启动命令
cd sbin
./nginx #启动
./nginx -s stop #关闭
./nginx -s reload #重新加载 修改了nginx.conf 不用重启,加载新的配置
linux 屏保 http://www.linuxidc.com/Linux/2016-04/129746.htm
conf 存放nginx所有配置文件的目录,主要nginx.conf 所有功能控制的文件
html 存放nginx默认站点的目录,如index.html、error.html等
logs 存放nginx默认日志的目录,如error.log access.log
sbin 存放nginx主命令的目录,sbin/nginx
history查看使用命令的历史记录
!历史记录号
{ 按住% 找到下一个}


核心代码 http
工作进程数
worker_processes 5;

 

posted on 2021-01-02 09:35  必须登录  阅读(136)  评论(0)    收藏  举报