題目

linux 配置4 各類命令 記背 就行了

要足夠努力,纔可能遇到更好的本身,更好的人,作到更好的事。php

xshell 是封裝了ssh命令,mac本沒有xshell
tac
ctrl + alt + F1-F7換成7個終端
2 以根目錄爲開始 分爲
絕對路徑
相對路徑css

3 mkdir -p /tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}html

4 ls -l /tmp/前端

5 /根目錄 , 目錄分割符
/tmp/
~ 當前登陸的用戶家目錄 qq 登陸 /home/qq /root 超級用戶的家目錄
-上一次的工做目錄python

6 使用vim命令mysql

vim 打開文件名   
i 進入編輯模式
寫完代碼 , esc退出編輯模式
輸入 冒號wq! 結束操做

7 cat -n /etc/passwd 以及不要直接操做服務器 , 不支持上傳下載,養成好習慣,maC本沒有xshell xshell封裝了 ssh,直接操做ssh,進行遠程鏈接linux

tac -n /etc/passwd : 反過來,從後往前打印
yum install sl -ynginx

1 kill -9 3022
2 pkill -9 yum
sl 相反git

8 查看文本的命令
head
tail
cat
less
tacweb

9 ctrl + l clear 清屏
如何echo 清空一個文件
10 . echo '' > hehe.txt
11 . cp -r /tmp/* /home
12 . mv test.py my.py
13 . rm -rf /tmp/*
14 . find / -type f -name settings.py
從哪找 類型是什麼 內容名
16 . grep -i -n 'root' /tmp/passwd # 若是還有大寫的ROOT,忽略大小寫
cat /etc/passwd > /tmp/passwd
20 . tail -f /var/log/py.log
21 .
sed
awk
grep

linux 三劍客

22 .sed -i 's/root/ROOT/g' /tmp/passwd g global全局 -i insert 插入文件中
sed 命令 -i 將修改結果寫入文件 s 是替換模式 /你想替換的內容/替換後的內容
23 alias rm = 'echo 禁止你用'
24 遠程傳輸scp是「供應鏈合做關係」英文(Supply Chain Partnership)簡稱

scp 你想要的內容 你想放到那
scp /tmp/my.py 用戶名@服務器2的ip:/opt/
25 統計文件夾總大小
s 是統計總大小 h是單位 du -sh
27 chattr + a settings.py
28 ntpdate -u ntp.aliyun.com
30 0.0.0.0 綁定機器全部的網卡
192.168.16.37 對外提供訪問的東西

192.168.16.37 網卡1 192.168.16.38 網卡2
python3 manage.py runserver 0.0.0.0:8000都開了網卡
127.0.0.1 本級迴環地址 給與內部硬件信息,調試使用
如何開
linux 代碼雨 編譯安裝 作頁面 cmtitx

編譯步驟

1 下載軟件源代碼
2 解壓縮源代碼,進入源代碼目錄
3 編譯三部曲
1 : ./configure --prefix=軟件安裝絕對路徑
2 : 開始編譯,調用c語言的gcc編譯器  make指令
3 make install 纔是真正生成軟件文件夾

2 理解pyhton 虛擬環境配置
virtualenv工具
virtualenwrapper工具 升級版

3 配置好阿里雲 yum源

1 找到阿里雲網址
2 wget centos-base.repo源
3 wget epel.repo源

4 yum源工做目錄

/etc/yum.repos.d/
在目錄下,只有第一層,且名字是*.repo結尾的就會被識別爲yum倉庫

2 rz 接收文件 sz 文件名 (發送文件)

5 root 增刪改查 普通用戶 useradd userdel usermod

root 隨意切換用戶名 su - 用戶名

普通用戶 無權修改其餘用戶名

普通用戶之間切換,須要輸入密碼

ifup 網卡名

usermod 更改用戶權限

/etc/init.d/network start/stop/restart

7 sudo su -# 切換root用戶 輸入本身的密碼臨時切換root 給個sudo權限了不得的
su - 輸入root密碼

8

visudo 打開文件

找到以下配置,添加你想使用sudo命令的用戶信息

找到 /root

添加allow ALL

qq ALL

sudo 命令, 以預設的身份去執行命令,默認身份是root

12 chmod 666 test.py

14 linux 如何創建軟鏈接
ln -s 目標文件絕對路徑 快捷方式的絕對路徑
ls -s /opt/python/bin/python3 /user/bin/python3
15 PS1 控制命令提示符的變量 =‘’
16 用什麼命令管理系統服務 systemctl start nginx
17 nslookup (name server look up) 解析dns的命令是什麼
18 tar -zcvf ALL_log.tar.gz /tmp/* #-zcvf + 壓縮的文件 必須跟要壓縮的名字
mv ALL_log.tar.gz /home 壓縮移動
19 . 解壓縮python源碼包
tar -zxvf Python-3.7.ob3.tgz tar --help
ps -ef #顯示全部進程
ps -aux #顯示全部進程 老師講的沒槓,忘記了
-zcvf = -z -c -v -f

-R = --block-number

20 . 查看mysql端口狀態

netstat -tunlp | grep mysql
ps -ef | grep nginx

22 kill -9 id pkill -9 nginx killall nginx 名字

26 /etc/resolv.conf 裏面寫入一個參數

nameserver dns服務器地址(主)

nameserver dns服務器地址2(備) 給dns添加服務

28 /usr/bin/cp -r /var/log/* /tmp/ 絕對路徑找/var/ 和/tmp/

37 0 10,16 * * *

38 cat /etc/os-release uname -a #顯示linux的內核信息 # 如何查看發行

39 /etc/profile ~/.bash_profile
free -m 顯示內存

42 top 指令 輸入1 展開cpu信息
cat /proc/cpuinfo # cpu核數

43 啓動crm

crm 配置

運行的是day78天的nbcrm, 由於沒有用到數據庫(內置的,數據也考過來了),因此,不須要加載。。。這麼簡單,爲何不會呢? 這兩天在幹啥? 主要是沒思路,可是沒嘗試啊,慘!

先把zip文件的,改一下壓縮格式,拉到xshell

unzip 解壓一下

配置一下settings , ALLOWED_HOSTS = ['*']而後就行了

在有manage.py文件加下 運行 python3 manage.py runserver 0.0.0.0:8001

出錯了:

訪問 http://192.168.230.129:8001由於要訪問的是login ,就行了

不知道需不須要網 ,沒有網登不上

激活虛擬環境 統一管理

2 安裝另外一個
爲何沒有找到複選字段的模塊呢?

須要安裝 pip3 install -i https://pypi.douban.com/simple django-multiselectfield (通常來講直接複製no module named 'xx' 的名字就能夠裝, 可是這個不同)

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

3 最好新建一個虛擬環境去安裝

確認虛擬環境可用 , mk + tab 鍵 mkvirtualenv

mkvirtualenv nbcrm 新建虛擬環境

python3 manage.py r 不是啓動項目的任務,而是對象的單機調試的命令

django 爲何不能作web服務器 本質是一個 socket服務端,進行socket通訊 wsgi不是自帶的 而是經過wsgirf增的,單進程的 之後會用 uwsgi 和uWSGI 多進程的

下載了 django 以爲好了, 卻連不上,不知道爲何,作了一些無用的操做好了,不知哪裏的問題,感受是網址輸錯了(url),好像也不是

以後登錄缺乏pillow 顯示的是缺乏PIL

pip3 install -i https://pypi.douban.com/simple pillow 錯誤 : install - i 順序我給弄反了 後面的網址是對的,這個是對的

應該是電腦卡或者什麼的,需多長時間才顯示出來網頁,剛開始顯示鏈接不上

nginx整個框架

ngnix 訪問 , 互相訪問 ,老師說是用的橋接的,而我是16網段,同樣,因此能夠訪問,mack本也能夠訪問,由於也是16網段的

web服務器學習 web server

django flask bottle (基於wsgi運行的框架)

坑: no app found

解決: uwsgi 沒找大 django項目第二層的wsgi.py文件中application這個變量 nbcrm/nbcrm 應用程序內網中 防火牆保護防止蹦 nginx沒事

爲何用ngnix uwsgi(c語言開發,多進程多線程) : 讓併發行更高

內網跑,躲在防火牆後面, 應用

nginx 暴露在公網 併發性強,安全性高 ,動靜處理(若是都給Django會很卡,同事處理)

cul -i taobao.com 響應頭返回

淘寶 : 的併發都是用的ngnix 的二次開發 tengnix Server: Tengine

Server: nginx/1.4.2 這樣就很差了, 版本的漏洞容易被黑客黑

(windous 的是 linux阿帕奇,吃內存,配置難,老大哥)

nginx 爲何這麼快 :

3萬併發 10個Nginx  才消耗200m
由於走得是 異步模型---epoll

yum install nginx 配置阿里雲yum源(受限:版本可能會很低)

注意 是 yum 安裝 和編譯安裝 同時存在

卸載

yum remove - f

編譯ngnix 安裝

關於 / 和 空的

cd opt 由於 opt沒有配置在環境裏 ,因此 opt 不能使用和./不同
cd /opt/

1 解決軟件依賴 ssl 解決https的 yum

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 openssl openssl-devel -y

2 下載 源代碼包

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

用tengine

加入path

也能夠 軟鏈接 ln -s /opt/tngx231/sbin/ngnix /usr/bin

軟鏈接 path 由於/usr/bin 在前面 ,因此限制性 若是加入path 或者 bin都有

/usr/sbin/nginx

linux 一切皆文件

1 安裝依賴

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 openssl openssl-devel -y

​ 若是作過了,顯示Nothing to do

2.下載nginx的源代碼包

[img](file:///C:\Users\ADMINI~1\AppData\Local\Temp[5UQ[BL(6~BS2JV6W}N6[%S.png)

wget http://tengine.taobao.org/download/tengine-2.3.1.tar.gz

3.解壓縮tnginx包
tar -zxvf tengine-2.3.1.tar.gz

4.進入源碼目錄,開始編譯三部曲

./configure --prefix=/opt/tngx231/
make && make install

5.可使用了

./nginx #啓動         一次不能使用 ,重裝了一次多是環境變量                        粗了或者是conf.裏 的文件改了  
./nginx -s stop #關閉
./nginx -s reload #從新加載

發現缺乏sqllite這個一個軟件依賴包,就得直接刪除編譯好的軟件,從新編譯便可

6.進入安裝好的tngx321目錄,查看有哪些東西
conf 存放nginx的配置文件

html 存放前端文件的
logs 存放nginx的日誌文件
sbin 存放了nginx的可執行命令

7.配置path變量,能夠快捷使用nginx命令

由於 which ngnix

/usr/bin/which: no ngnix in (/usr/sbin/nginx:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin)   沒在

/opt/tngx231/sbin (裏面放的ngnix) 不用具體到,已經加載下面的

或者 ln -s /opt/tngx231/sbin/nginx /usr/bin/ 這樣

/usr/sbin/nginx:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

usr/bin(二進制文件) PATH 理由 , 因此能夠編輯進去 而後軟鏈接到了/usr/sbin/nginx下 同樣

8.查看nginx的首頁文件 index.html

/opt/tngx231/sbin
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#error_log  "pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;
    #access_log  "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G"  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #access_log  "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G"  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;

#user  nobody;
worker_processes  1;
/opt/tngx231/sbin

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#error_log  "pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

nginx 的功能

1 作一個站點把(能夠在這個站裏放一些資料,把MP4拉進來就可使用了,改個名,要是有域名的話就行了,可是沒域名,只能同一局域網使用 橋接的能夠)
在html 裏,寫一個index.html網站
在html 裏,寫一個jpg文件 wget

wget http://b-ssl.duitang.com/uploads/item/201507/05/20150705145227_SvwEt.jpeg    直接的鏈接不對,還圖片格式小,解壓縮的60%,變的很小了
mv 20150705145227_SvwEt.jpeg nuanyang.jpg

進程數: 進程數設置 以cpu核數爲準 worker_process 4 ;

root      38287      1  0 20:28 ?        00:00:00 nginx: master process ./nginx
nobody    38288  38287  0 20:28 ?        00:00:00 nginx: worker process

重啓了仍是一個子進程,寶哥說,你reload了嗎?果真!

nginx.conf 是c語言寫成的,花括號表明一個

1 配置參數講解

events 事件驅動鏈接
http  主代碼核心配置,web配置在這
log_format  #log格式  remote_addr: 進入到訪問的ip user 請求get/post  status 狀態碼:sent發送多少數據  refer從哪裏過來的
user_agent 自適應 電腦仍是手機  http_x_forward_for 被人封掉了 統一個路由ip 公網  : 怎麼作,用別人的ip,能夠把真實的給找到,可是能夠撥號,一層層 

404 不會退出網站 ,到一些相關信息,錯誤信息優化,淘寶的

server nginx的虛擬主機參數,網站的功能性參數定義 
listen 80  下一個填域名的

2 訪問日誌功能

找到nginx.conf中的http 代碼塊

找到 access_log los/access.log main;

杜絕訪問 deny 192.168.16.0/24 192.168.16.0 網段都不能訪問 24子網掩碼

指定網頁的功能 :85 / 就走location配置 root網頁根目錄 root /opt/html;root參數是定義網頁根目錄的,能夠修改 index index.html 定義網頁首頁名字 得寫一個index.html文件,由於變化了 參數

當用戶請求 是 :85/pic/nuanyang.jpg就走下面的路徑 alias 別名去下個路徑找 alias /opt/pic/;

error_page 404 錯誤 頁面 error_page 錯誤狀態碼

3 錯誤日誌功能

error_log logs/error.log

4 404頁面

當請求錯誤碼是404時,就返回一個404.html給用戶查看,而且這個文件在網頁根目錄下

error_page 404 /404.html; # 不是根路徑,是相對路徑不知道爲何這麼寫 訪問一個奇怪的網站,就返回一個404網址

5 虛擬主機功能, 一個nginx下運行多個網址

1 個server 標籤就是一個網站 一個服務器多個虛擬站點,分配空間

找到 conf文件夾,conf

經過寫多個server 實現

2直接輸入 nginx 是啓動

unknown directive "        #開啓nginx狀態功能" in /opt/tngx231//conf/nginx.conf:62

nginx -s stop 中止
nginx -s reload 平滑加載,不重啓nginx,從新讀取配置文件,生效

進程不重啓 重啓(先kill進程,而後從新開始)的話,數據(提交就)就丟了兩個server走第一個

config 參數

最好cp一下 192.168.16.142 --> 先走第一個server 再走第二個

gzip on 開啓網站壓縮功能 50m壓縮到幾百兆 ,在進行css js jp等等資源傳輸的時候,進行壓縮

nginx 的虛擬主機參數,網站的功能性參數定義
server {listen:80 (默認)server_name: ..}
nginx -s load

配置參數講解 : 若是每一個參數都講解,作到運維的水平,每個意義都寫下來,運維---運維,就是運維配置 功能性參數 改 ,各類記呀,背呀

訪問日誌功能,參數以下

找到nginx.conf 中的

loss access.log

tail -f access.log 實時監控的命令

location / {deny 192.168.。。} 封ip 在訪問就是forbidden

deny 192.168.16.0/24; 把,16網段的都給封掉了

Nginx的指定網頁根目錄的功能,修改虛擬主機的家目錄

/#網站的路徑匹配,如同urls匹配,對用戶的訪問url進行路徑分配

location /pic{

參數html root 參數定義網頁根目錄 斜槓相對路徑

root /opt/html;

訪問的網址的html

}
當請求url張這樣時,192.168.16.142: 就走以下location配置

當用戶請求url是.jpg時

location /pic{}

location /media {alias /opt/media;}

能夠把網站作的特別漂亮 : 404頁面

配置以下 域名在windows裏找

etc/hosts

改完nginx.conf 的配置,須要重啓nginx-sreload

分別準備hanju和lol的數據文件夾

c:\windwows\system32\drivers ..

內容以下 192.168.1。。。 s20/ 或者同一個域名 不一樣的端口 80 81

linux 的壓測命令 10萬個請求 (相似)

人心皆散亂,一念便純真
1 安裝 ab命令

yum -y install httpd-tools

2 使用ab壓測命令

ab -kc 同時訪問 -n 同時多少個請求 k 啓用keepalive 功能 一個http會話執行多個請求

logs/access.log 訪問記錄

能夠作成網站· y流量圖

反向解析 虛擬架構

5 . nginx 的狀態模塊功能,檢測請求鏈接數

找到nginx.conf 而後在找到一個虛擬主機,server標籤,添加以下配置便可 location /status{ stub_status on;}

面試 :

不僅是技術 , 和人打交道 ,心理戰。。。

公司試用期,培訓一我的,是很大代價的

面試官過了,hr跪了 。。。 搬到公司附近,給人家一個定心丸 爲何來北京: 各類坑

面試官 給工資 範圍 hr壓工資 做爲這個月的提成績效

動畫演示10個有趣但毫無用處的Linux命令

https://blog.csdn.net/u014028063/article/details/81978804

wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
tar -zxvf asciiquarium.tar.gz
cd asciiquarium_1.1/
cp asciiquarium /usr/local/bin
chmod 0755 /usr/local/bin/asciiquarium

週六 學cms

分兩個

1 運維開發 --代碼自動發佈平臺

ansible   -3
django    -0    
linux     -3    最好是學的不錯的                
git       -1    要把於超老師榨乾了
logging   ---分析的    爬蟲的,能夠用

2 人工智能 - 智能玩具(挑戰性的)

flaskweb        
mongodb         
AI 應用           
部分NLP機器學習       
移動端應用app開發      
websocket  IM即時通信 (本身說的話發過去)
server {
                listen       80;
                server_name  www.s20hanju.tv;
                location / {
                    root   /opt/s20/hanju;
                    index  index.html;
                }
            }
            server {
                listen  81;
                server_name www.s20lol.tv;
                location / {
                        root /opt/s20/lol;
                        index index.html;
                }
            }
相關文章
相關標籤/搜索