Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Linux Racterub @ ITAC 1
Slide 2
Slide 2 text
我是誰 • 元智電通英專⼤⼀ • ID: Racterub • 2017-19 AIS3 學員 • 2019 台灣好厲駭 學員 • 最近在補技術債QQ • 我就爛 2
Slide 3
Slide 3 text
Linux • Linux 是什麼? 3
Slide 4
Slide 4 text
Linux • Linux 是什麼? • ⼀個作業系統 (廢話) 4
Slide 5
Slide 5 text
Linux • Linux 是什麼? • ⼀個作業系統 (廢話) • 今天會讓你們實際操作,希望你們已經先載好了 5
Slide 6
Slide 6 text
Linux • Linux 是什麼? • ⼀個作業系統 (廢話) • 今天會讓你們實際操作,希望你們已經先載好了 • 沒載好的找我領 USB 6
Slide 7
Slide 7 text
Linux • Linux 是什麼? • ⼀個作業系統 (廢話) • 今天會讓你們實際操作,希望你們已經先載好了 • 沒載好的找我領 USB • Linux 有什麼⽤? 7
Slide 8
Slide 8 text
Linux • Linux 是什麼? • ⼀個作業系統 (廢話) • 今天會讓你們實際操作,希望你們已經先載好了 • 沒載好的找我領 USB • Linux 有什麼⽤? • 炫砲 8
Slide 9
Slide 9 text
我原本在想要不要講他的一些背景 但是大概你們會先睡死 9
Slide 10
Slide 10 text
Ubuntu • Linux 底下的⼀個分⽀ • 新⼿好入⾨ • ⽬前⼤約有⼀億⼈在使⽤ ubuntu 10
Slide 11
Slide 11 text
• / 根⽬錄 • /bin 系統內建會⽤到的執⾏檔 • /boot 系統啟動會⽤到的檔案 • /dev Linux 核⼼有認識的設備和裝置的資訊 • /etc 系統設定檔 • /home 所有(非 root)使⽤者的家⽬錄 Filesystem 11
Slide 12
Slide 12 text
Filesystem • /lib & /lib64 系統程式庫和核⼼模組 • /media & /mnt 裝置的掛載點 • /opt 無法透過套件安裝的軟體的安裝點 • /proc 每個 process 相關檔案 • /root root 使⽤者的家⽬錄 • /usr/bin Ubuntu 預載或是透過套件安裝的安裝點 12
Slide 13
Slide 13 text
Filesystem • /usr/local ⾃⼰⼿動編譯安裝的安裝點 • /var 常態性變動的檔案 • /tmp 暫存檔 (每次重開機都會清除) Ref: http://linux.vbird.org/linux_basic/0210filepermission.php#dir_fhs 13
Slide 14
Slide 14 text
好ㄌ 該來實際用用看 了 14
Slide 15
Slide 15 text
VM • Ubuntu 18.04.3 bionic • 匯入 • ⼯具 -> 匯入 • 密碼: itac 15
Slide 16
Slide 16 text
VM • How to use? • 打開 Terminal • 輸入 cd ~/Desktop/ • (如果要重置的話輸入 removepg ) • (輸入完再輸入 cd ../playground ) 16
Slide 17
Slide 17 text
VM • 檢查⼀些設定 • 設定 -> 網路 -> 連接埠轉送 • 應該會長這樣
Slide 18
Slide 18 text
常見指令 我們這裡只討論 Bash :D 18
Slide 19
Slide 19 text
? • 如果想知道指令該怎麼⽤,有什麼 option 可以⽤ • man && -- help • man • -- help 19
Slide 20
Slide 20 text
Commands • ls [options] :列出當前⽬錄 • options • -a all • -l long-list • -h human-readable • cd :切換當前⽬錄 20
Slide 21
Slide 21 text
Commands • cp [options] :複製檔案/資料夾 • -r recursive • rm [options] <file> :刪除檔案/資料夾 • -r recursive 21
Slide 22
Slide 22 text
Command • mkdir :建立資料夾 • rmdir :刪除資料夾 • rmdir v.s rm? • rmdir 只能刪除空資料夾,rm 則沒限制 22
Slide 23
Slide 23 text
Command • find [options] :搜尋檔案/資料夾 • -type • d 資料夾 • f 檔案 • l 連結檔 (Only symbolic link) • s socket 23
Slide 24
Slide 24 text
Command • find [options] :搜尋檔案/資料夾 • -name <filename> • 這個指令建議配 sudo 使⽤,要不然會噴⼀堆垃圾給你 24
Slide 25
Slide 25 text
Command • cat <filename> :讀取並輸出檔案內容 • head / tail [options] <filename> :讀取前⾯部分檔案內容並 輸出 • -c 讀取前N-bytes • -n 讀取前N⾏ 25
Slide 26
Slide 26 text
Command • ssh @ [options] • options • -p 指定 port • -i 指定 key file • -R -L 可做 port-forwarding • https://dev.to/samuyi/the-how-to-of-ssh-port- forwarding-1f4e
Slide 27
Slide 27 text
Command • vim / emacs • 痾那個 • 我不會⽤ emacs • 不要砲我 • 會的可以上來教 • https://emacs.was.best 27
Slide 28
Slide 28 text
Vim • Vim 共有三個 mode (常⽤到的 • Normal mode • Insert mode • Visual mode 28
Slide 29
Slide 29 text
Vim • Normal mode • 輸入 “:” 就可以輸入指令 • :w 寫入檔案 • :q 離開 vim • 也可 :wq 就是寫入後離開 • 按下 i 就可以進入 insert mode 29
Slide 30
Slide 30 text
Vim • Insert mode • 就簡單的輸入模式 • 要切換成 normal mode 就按 esc 30
Slide 31
Slide 31 text
阿系統空空的是能幹嘛? 用 apt 安裝 ! 31
Slide 32
Slide 32 text
apt • sudo apt [arg1, arg2 …] • command • install • update • upgrade • show • list • info • remove 32
Slide 33
Slide 33 text
Webservers 33
Slide 34
Slide 34 text
Webserver • 主流 • IIS (Microsoft) • Apache (Apache Software foundation) • Nginx (Nginx, Inc. or F5 Networks) 34
Slide 35
Slide 35 text
Webservers • IIS • 是由微軟公司提供的基於運⾏Microsoft Windows的網際 網路基本服務。 35
Slide 36
Slide 36 text
36
Slide 37
Slide 37 text
Webservers • Apache • Based on httpd • 有多個模組可以使⽤, 包含 php, python .. ,亦有認證 模組 37
Slide 38
Slide 38 text
38
Slide 39
Slide 39 text
Webservers • Nginx • 這跟剛剛兩款⼜有⼀點不⼀樣了,除了網⾴伺服器,他 還可以反向代理,負載平衡和 HTTP 快取 • 效能相對 apache 會好⼀點 (不⼀定) • 這次會教你們⽤ nginx 接上 php 39
Slide 40
Slide 40 text
40
Slide 41
Slide 41 text
該來手動架 server 了 41
Slide 42
Slide 42 text
Nginx • 系統內建並沒有 nginx ,所以必須透過 apt 安裝 • sudo apt install nginx 42 ▲安裝完成⽤瀏覽器會看到這⼀⾴
Slide 43
Slide 43 text
Nginx • 好的,這樣就算架好 server 了 • 我們可以寫⾃⼰的 html 來玩 • 預設的網⾴根⽬錄是在 /var/www/html 43
Slide 44
Slide 44 text
Nginx • 可以顯⽰⾃⼰要的東⻄了,但是我們要接 php 才可以在網 ⾴上顯⽰ php 執⾏出來的內容 • 我們依舊需要 apt 來安裝 :D • sudo apt install php-fpm (ubuntu 18.04 預設是 7.2 版的 ㄛ) 44
Slide 45
Slide 45 text
Nginx + php • Nginx 跟 php-fpm 是載好了,但是兩個完全沒搭上線,需 要⾃⼰進 nginx 的設定檔才⾏ 45
Slide 46
Slide 46 text
Nginx + php ▲注意,這邊 php7.0-fpm.sock 要改成 php7.2-fpm.sock 46 安裝完了之後就要在 Nginx 接上 php,所以需要在兩個地⽅改設定 ▲在 index.html 後⾯加上 index.php
Slide 47
Slide 47 text
Nginx + php • 最後還要修改⼀個 php 的設定,他會造成你的 php server 出現漏洞 • 檔案在 /etc/php/7.2/fpm/php.ini • ;cgi.fix_pathinfo = 1 ➤ cgi.fix_pathinfo = 0 47
Slide 48
Slide 48 text
Nginx + php • 最後重啟 nginx 跟 php-fpm 就可以了 • sudo systemctl restart nginx • sudo systemctl restart php7.2-fpm 48
Slide 49
Slide 49 text
Nginx + php • 在 /var/www/html 撰寫⾃⼰的 php 檔應該就可以正常顯⽰ 了喔 ! 49
Slide 50
Slide 50 text
Domains? 50
Slide 51
Slide 51 text
Domains • 簡單來說,domain ⼤概會像這樣運作 w w w.yzu.edu.tw ? DNS Server Client 51
Slide 52
Slide 52 text
Domains • 簡單來說,domain ⼤概會像這樣運作 w w w.yzu.edu.tw ? 139.162.77.188 DNS Server Client 52
Slide 53
Slide 53 text
Domains
Slide 54
Slide 54 text
Domains • 簡單來說,domain ⼤概會像這樣運作 racterub.m e? 139.162.77.188 DNS Server Client www.yzu.edu.tw (140.138.8.10) HTTP GET 54
Slide 55
Slide 55 text
Domains (racterub.me)
Slide 56
Slide 56 text
Domains 56
Slide 57
Slide 57 text
Domains 57
Slide 58
Slide 58 text
資源 • ⿃哥 http://linux.vbird.org/ • DigitalOcean https://www.digitalocean.com/community/ tutorials/how-to-install-linux-nginx-mysql-php-lemp- stack-ubuntu-18-04
Slide 59
Slide 59 text
QA? 59
Slide 60
Slide 60 text
@racterub @racterub 60