1.在登陸Linux時,一個具備惟一進程ID號的shell將被調用,這個ID是什麼(b)
A.NID B.PID C.UID C.CID
2.下面那個用戶存放用戶密碼信息(b)
A./boot B./etc C./var D./dev
/etc/passwd
3.用於自動補全功能時,輸入命令或文件的前1個或後幾個字母按什麼鍵(b)
A.ctrl B.tab C.alt D.esc
4.vim退出不保存的命令是(d)
A.:q B.q C.:wq D.:q!
5.文件權限讀、寫、執行三種符號的標誌依次是(a)
A.rwx B.xrw C.rdx D.rws
6.某文件的組外成員的權限是隻讀、屬主是所有權限、組內權限是可讀可寫、該文件權限爲(d)
A.467 B.674 C.476 D.764
7.改變文件的屬主的命令是(c)
A.chmod (改權限)B.touch C.chown D.cat
8.解壓縮文件mydjango.tar.gz,咱們能夠用(a)
A.tar -zxvf mydjango.tar.gz
B.tar -xvz mydjango.tar.gz
C.tar -czf mydjango.tar.gz
D.tar - xvf mydjango.tar.gz
9.檢查linux是否(經過yum 安裝軟件)安裝了,可用哪些命令(b) #注意rpm -qi只能查詢用yum安裝的軟件,編譯的查不到
A.rpm -ivh nginx 安裝
B.rpm -q nginx 查詢
C.rpm -U nginx 更新
D.rpm -x nginx
10.Linux配置文件通常放在什麼目錄(a)
A.etc B.bin C.lib D.dev
/etc/nginx.conf
11.linux中查看內存,交換內存的狀況命令是(c) #free -m
A.top B.last c.free D.lastcomm
12.觀察系統動態進程的命令是(b)
A.free B.top C.lastcomm D.df
13.若是執行命令,chmod 746 file.txt ,那麼該文件的權限是(a)
A.rwxr—rw-
B.rw-r—r—
C.—xr—rwx
D.rwxr—r—
14.找出當前目錄以及其子目錄全部擴展名爲」.txt」的文件,那麼命令是(d)
A.ls .txt
B.find /opt -name 「.txt」
C.ls -d .txt
d.find -name 「*.txt」
15.什麼命令經常使用於檢測網絡主機是否可達? c
A.ssh (遠程鏈接)B.netstat (查看端口狀態)C.ping D.exit
16.退出交互式shell,應該輸入什麼? d
A:q! B.quit C.; D.exit
17.在父目錄不存在的時候,添加的參數是? d
A.-P B.-d C.-f D.-p
18.下列文件中,包含了主機名到IP地址映射關係的文件是? b
A./etc/hostname
B./etc/hosts
C./etc/resolv.conf dns 的域名服務器配置文件
D./etc/networks
19.請問你使用的linux發行版是什麼?如何查看linux發行版信息?
centos7
cat /etc/os-release
20.請問你公司的服務器環境是物理機仍是虛擬化?
1)實體服務器 + 虛擬化
我的虛擬化 是 vmware workstation
企業版 vmware vsphere
2)阿里雲服務器 8臺
500人企:
26臺dell power r720服務器,託管在世紀互聯
經過vmware esxi虛擬化的280+linux服務器,有100+centos 100+redhat
分爲三個環境
測試服務器、預生產服務器、生產服務器
技術棧:
svn 、java、apache、tomcat、oracle、nagios、redhat、centos、weblogic
初創企業:
5臺阿里雲
21.vim有幾種工做模式
命令模式
編輯模式
底線命令模式
22.nginx的主配置文件是?如何實現多虛擬主機?nginx反向代理參數是?
nginx.conf
多個server{}
proxy_pass http://ip
23.如何解壓縮後綴是.gz文件?
gipz -d *.gz
24.如何解壓縮後綴是.tar文件?
tar -xf .tar
25.如何解壓縮後綴是.xz文件?
xz -d .xz
26.www服務在internet最爲普遍,採用的結構是?
Browser/Server
27.如何給linux添加dns服務器記錄?
/etc/resolv.conf
添加2條主備dns記錄
nameserver dns服務器ip
28.每個月的5,15,25的晚上5點50重啓nginx
ctontab -e
50 17 5,15,25 * * /usr/bin/systemctl restart nginx
50 17 5,15,25 /opt/nginx112/sbin/nginx -s reload
29.每分鐘清空/tmp/內容
* * * * * /usr/bin/rm -rf /tmp/*
30.天天早上6.30清空/tmp/的內容
30 6 * * * /usr/bin/rm -rf /tmp/*
31.每一個星期三的下午6點和8點的第5到15分鐘之間備份mysql數據到/opt/
5-15 18,20 * * 3 /usr/bin/cp -r /var/lib/mysql /opt/
32.某文件權限是drw-r—rw-,請解讀該權限?
d:目錄文件
rw- 屬主:可讀可寫
r— 屬組:可讀
rw- other:可讀可寫
33.centos版本系統服務管理命令是?
service nginx stop /start /restart centos6
systemctl stop /start /restart nginx centos7
34.如何遠程登陸阿里雲123.206.16.61?
ssh root@123.206.16.61
35.備份mariadb的命令是?
mysqldump -uroot -p --all-databases > /opt/db.sql
36.簡述特殊符號的含義?
root用戶的身份提示符
重啓定向覆蓋寫
重定向追加寫
$PATH 取值符
. 當前目錄
.. 上級目錄
37.若是你發如今公司沒法使用rm,使用提示’禁止你使用rm’,是爲何?
別名alias
38.如何修改test.py屬組爲alex?
chgrp alex test.py
39.如何在windows和linux傳輸文件?有哪些方法?
xftp 第三方工具
lrzsz 第三方工具
scp linux 命令 Windows沒有
40.如何殺死mariad進程?
pkill mariadb
ps -ef|grep mysql
kill pid
killall mariadb
41.簡述dns解析流程?訪問www.pythonav.cn的解析流程
自上而下的順序
1.查找本地/etc/hosts文件,是否有強制解析
2.查找本地dns緩存
3.若是沒有去/etc/resolv.conf指定的dns服務器中查找記錄(需聯網
4.在dns服務器中找到解析記錄後,在本地dns中添加緩存
5.完成一次dns解析
42.linux如何安裝軟件?有幾種方式?
yum
rpm
源碼包
43.出於安全角度,簡述如何安裝啓動redis服務端?
更改端口
開啓protomode yes安全模式
設置redis密碼
redis-server redis.conf
44.如何保證本地測試環境和線上開發環境一致性?思路?
1.docker打包鏡像,經過dockerfile 進行打包
2.手動解決環境問題 pip3 freeze導出依賴
45.virtualenv是什麼?簡述如何使用
在開發Python應用程序的時候,系統安裝的Python3只有一個版本:3.4。全部第三方的包都會被pip安裝到Python3的site-packages目錄下。
若是咱們要同時開發多個應用程序,那這些應用程序都會共用一個Python,就是安裝在系統的Python 3。若是應用A須要jinja 2.7,而應用B須要jinja 2.6怎麼辦?
這種狀況下,每一個應用可能須要各自擁有一套「獨立」的Python運行環境。virtualenv就是用來爲一個應用建立一套「隔離」的Python運行環境。
1.安裝 pip3 install virtualenv
2.建立虛擬環境 virtualenv —no-site-packages —python=python3 env1
3.激活虛擬環境 sourcce /opt/MyVirtualenv/venvDjango1/bin/activate
4.測試 python3 或者 pip3 list
46.virtulevnwrapper是什麼?簡述使用
virtualenv 的一個最大的缺點就是,每次開啓虛擬環境以前要去虛擬環境所在目錄下的 bin 目錄下 source 一下 activate,這就須要咱們記住每一個虛擬環境所在的目錄。
Virtaulenvwrapper是virtualenv的擴展包,用於更方便管理虛擬環
1.安裝虛擬環境 pip3 install virtualenvwrapper
2.建立並進入虛擬環境 mkvirtualenv env1
3.切換虛擬環境 workon 虛擬環境名
redis是什麼?
Redis是一個開源的基於內存的,key-value數據結構的緩存數據庫,支持數據持久化,m-s複製,經常使用數據類型有string set hash list,
最佳應用場景:適用於數據變化快且數據庫大小可碰見(適合內存容量)的應用程序。
例如:股票價格、數據分析、實時數據蒐集、實時通信。
Redis只能使用單線程,性能受限於CPU性能,故單實例CPU最高才可能達到5-6wQPS每秒(取決於數據結構,數據大小以及服務器硬件性能,平常環境中QPS高峯大約在1-2w左右)
其餘nosql數據庫?
Memcached能夠利用多核優點,單實例吞吐量極高,能夠達到幾十萬QPS(取決於key、value的字節大小以及服務器硬件性能,平常環境中QPS高峯大約在4-6w左右)。適用於最大程度扛量。
只支持簡單的key/value數據結構,不像Redis能夠支持豐富的數據類型。
沒法進行持久化,數據不能備份,只能用於緩存使用,且重啓後數據所有丟失。
MongoDB
更高的寫負載,MongoDB擁有更高的插入速度,支持高可用性,支持索引高速查詢,佔用磁盤空間較大,支持持久化
47.redis哨兵是什麼?做用是
Redis-Sentinel是Redis官方推薦的高可用性(HA)解決方案
redis哨兵是監控redis主從服務,不存儲數據的,做用是用於自動切換reidis服務主從關係,即當主庫服務中止後,會將其中一個從庫變爲主庫
48.redis-cluster是什麼?
即便使用哨兵,redis每一個實例也是全量數據存儲,每一個redis存儲的內容都是完整的數據。
爲了最大化利用內存,能夠採用cluster羣集,就是分佈式存儲。即每臺redis存儲不一樣的內容。
採用redis-cluster架構正是知足這種分佈式存儲要求的集羣的一種體現。redis-cluster架構中,被設計成共有16384個hash slot。每一個master分得一部分slot,其算法爲:hash_slot = crc16(key) mod 16384 ,這就找到對應slot。採用hash slot的算法,其實是解決了redis-cluster架構下,有多個master節點的時候,數據如何分佈到這些節點上去。key是可用key,若是有{}則取{}內的做爲可用key,不然整個能夠是可用key。羣集至少須要3主3從,且每一個實例使用不一樣的配置文件。
49.什麼是靜態資源,什麼是動態資源?
靜態資源指定的是網站的CSS/JS/HTML/JPG等文件
動態資源通常指的是數據,即後端給前端提供的數據
50.配置linux軟鏈接的命令?
ln -s 目標文件名 軟鏈接名
51.如何永久添加/opt/python36/的環境變量?
獲取python3解釋器的bin目錄 絕對路徑
vim /etc/profile
添加PATH = /opt/python36/bin:
讀取文件變量 source /etc/profile
52.給以下代碼添加註釋
server{ # 一個虛擬主機
listen 80; # 監聽的端口,訪問的端口80
server_name 192.168.11.11; # 訪問的域名192.168.11.11
location / { # 訪問的路徑 /
root html; # 指定頁面的目錄,訪問/會找到html目錄
index index.html # 指定網頁,訪問/就是訪問index.html
}
}
server{ #虛擬主機
listen 8080; #nginx監聽端口
server_name 192.168.11.11; #nginx訪問域名
location / { #location匹配url
include uwsgi_params; #將uwsgi參數添加進nginx
uwsgi_pass 0.0.0.0:8000; #反向代理轉發請求給uwsgi
}
}
53.supervisor是什麼?如何使用?
進程管理工具
使用:
1.安裝 easy_install supervisor
2.生成配置文件 echo_supervisord_conf > /etc/supervisor.conf
3.寫入自定義的配置
[program:crm] ; 項目名稱
command=/root/Envs/knight/bin/uwsgi —ini /opt/knight/uwsgi.ini ;啓動項目的命令
stopasgroup=true ;默認爲false,進程被殺死時,是否向這個進程組發送stop信號,包括子進程
killasgroup=true ;默認爲false,向進程組發送kill信號,包括子進程
4.啓動supervisor服務
supervisord -c /etc/supervisor.conf
5.啓動全部項目
supervisorctl -c /etc/supervisor.conf start all
54.簡述項目部署流程?如何部署路飛,uwsgi+nginx+supervisor+nginxhtml
1安裝python3環境 源碼包 編譯安裝前端
2安裝mysql redis nginx 用yum 源 安裝vue
3前端部署java
1)安裝node.js 環境node
2)安裝依賴包python
3)修改項目中的api.js 中的端口mysql
4)打包爲dist文件夾 npm install npm run buildlinux
4後端django部署ios
1)安裝virtualenvnginx
2) 建立虛擬環境
3)安裝django 和依賴包
4)修改uwsgi.ini 配置文件
5)uwsgi 啓動後端django項目
5配置nginx.conf文件
1)建立兩個server 虛擬主機 分別監聽 80 和8080
2)80端口訪問前端vue
3) 8080端口訪問反向代理到9000的uwsgi 訪問後端的django項目
6啓動nginx mysql 和redis服務
部署路飛:1.安裝python3 環境2.安裝 mysql,redis,nginx3.部署前端1.安裝node.js的環境2.安裝依賴包3.修改axios的發送的端口接口4.打包4.部署後端1.安裝virtualenv2.建立虛擬環境3.安裝django和uwsgi,以及項目的依賴包4.修改uwsgi的配置文件5.經過uwsgi -ini 配置文件啓動django項目5.配置nginx1.建立兩個虛擬主機,分別監聽80和8000端口2.訪問80端口是訪問呢vue3.訪問8000端口是vue發起的8000端口請求,反向代理到9000的uwsgi6.啓動nginx,mysql,redis7.經過supervisor來管理55.docker是什麼?簡述docker優點linux容器軟件docker應用於快速構建應用 56.你經常使用的docker經常使用命令有哪些?操做鏡像、容器、倉庫的命令docker images # 查看本地鏡像docker serach 鏡像 # 經過docker hub搜索鏡像docker rmi 鏡像 # 刪除鏡像docker save 鏡像 > 路徑 # 導出鏡像docker load < 路徑 # 導入鏡像docker build -t . # 打包生成鏡像操做容器命令:docker run -d 鏡像 解釋器 # 根據鏡像生成容器,後臺容許docker run -it 鏡像 解釋器 # 根據鏡像生成並進入容器docker start/stop 容器id # 啓動/中止容器docker ps # 查看當前運行的容器docker rm 容器id # 刪除容器docker exec 容器id # 進入當前正在運行的容器docker commit 容器id 鏡像名 # 將容器提交爲鏡像docker contain ls # 查看當前運行的容器docker tag 當前的鏡像名 要改後的名字操做倉庫的命令:docker pull 鏡像 # 下載鏡像docker push 鏡像 # 推送鏡像57.哪一個命令沒法查看linux文件內容? dA.tac B.more C.head D.manman 幫助手冊58.使用rm -i 系統會提示什麼信息? bA.命令全部參數B.是否真的刪除C.是否有寫的權限D.文件的路徑59.爲什麼說rm -rf 慎用? -r遞歸刪除 -f強制刪除60.python操做linux的模塊是? os subprocess61.若是端口8080被佔用,如何查看是什麼進程? netstat -tunlp | grep 808062.redis是如何作持久化的?rdbRedis會按期保存數據快照至一個rdb文件中,並在啓動時自動加載rdb文件,恢復以前保存的數據,經過save指令觸發持久化,redis單獨開啓一個子進程進行數據持久化。rdb缺點,按期執行,可能會丟失數據,而且數據量特別大時候,若是服務器cpu性能較低,rdb開啓子進程持久化性能影響很大,影響redis對外提供服務的能力。aofRedis會把每個寫請求都記錄在一個日誌文件裏。在Redis重啓時,會把AOF文件中記錄的全部寫操做順序執行一遍,確保數據恢復到最新。隨着AOF不斷地記錄寫操做日誌,由於全部的操做都會記錄,因此一定會出現一些無用的日誌。大量無用的日誌會讓AOF文件過大,也會讓數據恢復的時間過長。優先:數據安全,不怕數據損壞,如斷電燈問題,還能夠用redis-check-aof修復數據,AOF文件人爲可讀缺點:佔磁盤,性能損耗高,數據恢復慢怎麼用rdb和aof若是既配置了RDB,又配置了AOF,則在進行數據持久化的時候,都會進行,可是在根據文件恢復數據的時候,以AOF文件爲準,RDB文件做廢63.簡述mysql主從複製原理?(1) master將改變記錄到二進制日誌(binary log)中(這些記錄叫作二進制日誌事件,binary log events);(2) slave將master的binary log events拷貝到它的中繼日誌(relay log);(3) slave重作中繼日誌中的事件,將改變反映它本身的數據。64.建立mysql用戶alex,而且授予權限select權限,命令是什麼?grant select on *.* to alex@’%’;65.nginx如何實現負載均衡?upstream {} 定義服務器地址池66.nginx的負載均衡調度算法有幾種?是什麼?調度算法 概述輪詢 按時間順序逐一分配到不一樣的後端服務器(默認)weight 加權輪詢,weight值越大,分配到的訪問概率越高ip_hash 每一個請求按訪問IP的hash結果分配,這樣來自同一IP的固定訪問一個後端服務器url_hash 按照訪問URL的hash結果來分配請求,是每一個URL定向到同一個後端服務器least_conn 最少連接數,那個機器連接數少就分發67.linux下載軟件包的方法有?wget curl68.windows和linux經常使用遠程鏈接工具備哪些?xshellputtysecurecrt69.如何給與一個腳本可執行權限chmod u+x file70.過濾出settings.py中全部的空白和註釋行grep -v 「^#」 file |grep -v 「^$」71.過濾出file1中以abc結尾的行grep 「abc$」 file172.容器退出後,經過docker ps查看不到,數據會丟嗎?不會丟,由於容器中止了,並無被刪除 docker ps -a能夠看到73.如何批量清理後臺中止的容器docker rm `docker ps -aq`74.如何查看容器日誌?docker logs -f75.wsgi是什麼?WSGI是Web服務器網關接口。它是一個協議,描述了Web服務器如何與Web應用程序通訊。76.Django中使用的是?答:Django中實現wsgi的是:wsgiref和uwsgi,wsgiref是開發測試用的,uwsgi是線上用的。Flask中實現wsgi的是:werkzurgTornado中實現wsgi的是:tornado和gevent77.消息隊列的做用?1)程序解耦2)數據冗餘,例如rabbitmq的ack機制,消息確認機制3)削峯能力4)可恢復性,就算系統中部分組件掛掉,消息在隊列也不丟失,待組件恢復後繼續處理消息。5)異步通訊,如發紅包,短信等流程丟入隊列,能夠優先級很低的去處理。78.服務器被攻擊,吃光了全部的CPU資源,怎麼辦?禁止重裝系統1找到吃資源的進程信息2強制kill -9 殺死進程3檢查定時任務4全局搜索病毒文件 find / -name 病毒文件名5 強制刪除病毒文件76.繪製下python web部署圖77.在centos7.2中用一句話殺死全部的test.py進程pkill -9 test.py78.在centos7.2中如何查看程序執行所消耗的cpu,內存等硬件信息top79.unix查詢環境變量的命令是echo $PATHcat /etc/profile80.查詢腳本定時任務的命令是crontabcrontab -e #編輯定時任務的文件crontab -l #列出定時任務的規則81.saltstack、ansible、fabric、puppt工具的做用遠程執行命令 批量管理工具SaltStack(或Salt)是一個基於命令行的工具,能夠設置一個主客戶端模式仍是非集中模式。 Salt基於Python,提供了一種推送方法和一種與客戶端通訊的SSH方法。 Salt容許對客戶端和配置模板進行分組,以簡化對環境的控制。Ansible是用於在可重複的方式將應用程序部署到遠程節點和配置服務器的開源工具。 它爲您提供了使用推送模型設置推送多層應用程序和應用程序工件的通用框架,Chef是配置管理的開源工具,專一於開發方爲它的用戶羣。 Fabric是在應用程序部署精簡SSH一個基於Python的工具。 它主要用於跨多個遠程系統運行任務,但也可使用插件擴展以提供更高級的功能。 Fabric將配置您的系統,執行系統/服務器管理,並自動部署您的應用程序。Puppet是在全面配置管理空間長期工具之一。 它是一個開源工具,但考慮到它已經存在多久,它已經被良好的審查和部署在一些最大和最苛刻的環境中。 Puppet基於Ruby,可是使用更接近JSON的定製的域腳本語言(DSL)來在其中工做。 它做爲主客戶端設置運行,並使用模型驅動方法。 Puppet代碼設計做爲依賴關係列表,這可使事情更容易或更混亂,這取決於您的設置。82.uwsgi、wsgi是什麼?wsgi是一種通用的接口標準或者接口協議,實現了python web程序與服務器之間交互的通用性。uwsgi:同WSGI同樣是一種通訊協議uwsgi協議是一個'uWSGI服務器'自有的協議,它用於定義傳輸信息的類型,'uWSGI'是實現了uwsgi和WSGI兩種協議的Web服務器,負責響應python的web請求。83.supervisor是什麼?# Supervisor:是一款基於Python的進程管理工具,能夠很方便的管理服務器上部署的應用程序。是C/S模型的程序,其服務端是supervisord服務,客戶端是supervisorctl命令# 主要功能:1 啓動、重啓、關閉包括但不限於python進程。2 查看進程的運行狀態。3 批量維護多個進程。84.解釋PV,UV的含義?PV訪問量(Page View),即頁面訪問量,每打開一次頁面PV計數+1,刷新頁面也是。UV訪問數(Unique Visitor)指獨立訪客訪問數,一臺電腦終端爲一個訪客。85.解釋QPS是什麼?'QPS(Query Per Second)'每秒查詢率,是對一個特定的查詢服務器在規定時間內所處理流量多少的衡量標準86.什麼是靜態資源?什麼是動態資源? 靜態資源指定的是網站的CSS/JS/HTML文件 動態資源通常指的是數據,即後端給前端提供的數據 nginx實現動靜分離,靜態請求nginx直接返回 動態請求 uwsgi_pass 後端uwsgi的地址87.saltstack如何採集服務器靜態數據?salt採用 granis組件 採集88.請用yaml語法表示以下python數據結構{「老男孩」:[{「老師」:[「太白」,」女神」,」吳老闆」]},{「學生」:[「20期佳增同窗」]}]}"老男孩": "老師": - "麗華" - "小黑" - "老徐" "學生": - "大寶" - "b哥" - "超弟"89.消息隊列做用?當程序系統發現某些任務耗費時間且優先級較低,遲點完成也不影響整個任務,就把這個任務丟給消息隊列。90.什麼是docker生命週期?鏡像 容器 倉庫 三大生命週期91.docker容器有哪些狀態?容器能夠被建立、啓動、中止、刪除、暫停92.dockerfile經常使用指令?FROM centoLABLE 做者信息RUNWORKDIRADDCOPYCMDENVEXPOSEADD除了有添加的做用,還有解壓縮的做用 WORKDIR /root 切換路徑copy就是把本地的文件,拷貝到容器空間內,沒有解壓做用ENV #環境變量,儘量使用ENV增長可維護性RUN93.dockerfile中copy和add的區別ADD與COPY COPY拷貝宿主機的文件 放到 容器中 - 優先使用COPY命令 -ADD除了COPY功能還有解壓功能添加遠程文件/目錄使用curl或wget94.經常使用docker命令?你經常使用的docker經常使用命令有哪些?操做鏡像、容器、倉庫的命令 docker images # 查看本地鏡像 docker serach 鏡像 # 經過docker hub搜索鏡像 docker rmi 鏡像 # 刪除鏡像 docker save 鏡像 > 路徑 # 導出鏡像 docker load < 路徑 # 導入鏡像 docker build -t . # 打包生成鏡像 ```操做容器命令: docker run -d 鏡像 解釋器 # 根據鏡像生成容器,後臺容許 docker run -it 鏡像 解釋器 # 根據鏡像生成並進入容器 docker start/stop 容器id # 啓動/中止容器 docker ps # 查看當前運行的容器 docker rm 容器id # 刪除容器 docker exec 容器id # 進入當前正在運行的容器 docker commit 容器id 鏡像名 # 將容器提交爲鏡像 docker contain ls # 查看當前運行的容器操做倉庫的命令: docker pull 鏡像 # 下載鏡像 docker push 鏡像 # 推送鏡像```95.如何退出一個交互式的容器終端,而不終止它?exit開啓docker exec -it 容器id 96.容器如何端口映射?數據卷映射?-p 端口映射 -v 數據卷映射Docker 端口映射即映射容器內應用的服務端口到本機宿主機器。docker port 容器id 97.redis如何實現隊列?利用list 數據類型的特性 ,它是一個雙向隊列能夠用 lpush 往左邊插入數據 再利用 rpop從右邊取出數據98.redis能夠生產一次,消費屢次嗎?能夠 發佈訂閱的特性99.nginx的access.log可以統計哪些信息?IP相關統計頁面訪問統計每秒請求量統計性能分析TCP鏈接統計100.rabbitmq如何實現隊列,消息持久化?# 聲明一個隊列(建立一個隊列)channel.queue_declare(queue='西遊記')# 聲明一個隊列(建立一個隊列)# 默認此隊列不支持持久化,若是服務掛掉,數據丟失# durable=True 開啓持久化,必須新開啓一個隊列,本來的隊列已經不支持持久化了'''實現rabbitmq持久化條件 delivery_mode=2使用durable=True聲明queue是持久化 '''一、建立隊列和發送消息時將設置durable=Ture,若是在接收到消息尚未存儲時,消息也有可能丟失,就必須配置publisher confirm channel.queue_declare(queue='task_queue', durable=True)二、返回一個ack,進程收到消息並處理完任務後,發給rabbitmq一個ack表示任務已經完成,能夠刪除該任務三、鏡像隊列:將queue鏡像到cluster中其餘的節點之上。在該實現下,若是集羣中的一個節點失效了,queue能自動地切換到鏡像中的另外一個節點以保證服務的可用性git經常使用命令1:git init—————————初始化2:git add .————————-從工做區,添加到版本庫3:git commit -m」xxx」————從暫存區,添加到分支4:git status————————查看狀態5:git log —————————查看版本庫的日誌6:git reflog————————查看全部日誌7:git reset —head 版本號—-切換8:git stash————————-保存9:git stash————————-將第一個記錄從「某個地方」從新拿到工做區(可能有衝突)git stash list——————————————————————————查看「某個地方」存儲的全部記錄git stash clear—————————————————————————-清空「某個地方」git stash pop——————————————————————————-將第一個記錄從「某個地方」從新拿到工做區(可能有衝突)git stash apply —————————————————————————編號,將指定編號記錄從「某個地方」從新拿到工做區(可能有衝突)git stash drop —————————————————————————編號 ,刪除指定編號的記錄10:git branch dev—————建立分支11:git branch -d dev———-刪除分支12:git checkout dev————切換分支13:git merge dev—————-合併分支14:git branch———————查看全部分支15:git clone https:xxx——-克隆16:git add origin https:xxx-起個別名17:git push origin dev ——添加到dev分支18:git pull origin master—拉代碼19:git fetch origin master-去倉庫獲取20:git merge origin/master-和網上下的master分支合併協同開發:默認是master分支——————————master開發的分支—————————————dev作代碼review————————————reciew程序員本身的分支——————————…….1:每一個員工建立本身的分支2:將本身的代碼提交的到本身的分支—————xxx,sss,wwww…….3:由組長或老大作代碼的review,——————-代碼提交的review分支4:再提交到dev.5: 再合併到master分支熟悉 Linux經常使用操做。1:man rm———————————————查看命令幫助2:mkdir———————————————-建立目錄3:touch———————————————-建立文件4:cd—————————————————切換。5:ls—————————————————查看目錄6:ls -lh————————————————查看目錄詳細7:pwd————————————————-查看當前目錄8:vim————————————————-添加內容9:echo————————————————追加內容10:cat————————————————查看文件內容11:mv————————————————-移動12:cp————————————————-拷貝13:mv————————————————重命名15:find———————————————-搜索16:rm————————————————-刪除數據17:ping———————————————-查看能不能上網19:tar cf ————————————————打壓縮20:tar xf——————————————-解壓縮安裝:yum installrpm包安裝編譯安裝快捷鍵:1:Tab鍵—————————————-自動補全命令或路勁。2:ctrl+l—————————————清屏3: ctrl+c—————————————取消當前操做4:vi/vim 快捷鍵:複製當前行 ——————————yy粘貼—————————————-p剪切—————————————-dd撤銷—————————————-u恢復—————————————-ctrl + r