課程敘述
你知道有90%以上的網站是架設在Linux上嗎?
網站架設不光是把程式寫好,系統設定與架構更是改善效能的大重點。
無論你多會PHP、Ruby on Rails、JAVA、Python還是NodeJS,
如果不會對於Linux作業系統沒有基本程度的瞭解,還是很難說你多會網站架設!
畢竟無論哪種語言的基本函式庫功能都取自於系統的支援。
如果你對Linux這個名詞還不熟悉,可以參考我們的文章:
Linux是什麼?從網站開發到物聯網無所不在的OS作業系統介紹。
對新手最友善的Linux 分布版 Ubuntu
你認識最適合新手入門Linux發行版Ubuntu嗎?那你知道Debian為何常被一起提起?
如果你還不認識亞馬遜 Amazon AWS可以參考
為什麼熟悉Amazon AWS總是高薪工程師的加分條件? 深入淺出的AWS服務教學介紹。
此外,架設網站除了作業系統外,還有一個很重要的部分就是網頁伺服器(Web server)程式。一般的工程師都只有了解怎麼設定,並沒有對自己使用的網頁伺服器設定做深刻的了解,因此平白浪費了需多的效能與可能性。
而最常用的網頁伺服器就是此課程包含的Apache 與 Nginx。
這堂課會從頭開始詳細介紹設定指令,連Linux新手都可以清楚地了解自己每個指令後面的意義,一步一步帶你了解網站架設的每一個細節,不再讓你只有複製貼上祈禱他們會正常運作了,
最後更將之運用在業界常用的Amazon AWS 雲端運算服務上。讓同學對於自己的工作內容更加的掌握!
進階輔助課程組合:
Linux AWS Apache Nginx + MySQL 進階輔助課程組合
課程難度
初級,此課程需要一點基本程式經驗。
請參閱課程需求
課程需求
1. 有一台電腦
2. 對架設網站有興趣
3. 不排斥撰寫沒有使用者圖像介面(GUI)的程式
4. 有一顆不畏懼艱難的心
課程目標
1. 學習Linux基本指令
2. 了解網站基本邏輯
3. 了解如何使用Web Service(Apache 與 Nginx)
4. 能夠使用VPS或是AWS架設網站
課程特點
從基本的Linux作業系統開始講解,不會跳來跳去好像需要強大的知識背景。
同時提供本機端與雲端的練習環境架設教學。
使用業界市佔率最高的Amazon AWS 來做教學。
同時包含Apache 與 Nginx兩大最多人使用的網頁伺服器。
基礎常見的網站系統優化與架構教學
第一章 (總長2.8小時)
-
play_arrow
01. Linux 雲端伺服器課程介紹(web server)
06:33 -
lock
02. VirtualBox下載與常見的雲端虛擬主機介紹
07:03 -
lock
03. Linux系統簡介與常用的Linux版本介紹
20:55 -
play_arrow
04. [MAC] 於VirtualBox上安裝Ubuntu18.04與安裝中文輸入法
23:38 -
play_arrow
05. [Windows] 於VirtualBox上安裝Ubuntu18.04
12:57 -
lock
06. [Mac][Windows] 於VirtualBox安裝Ubuntu Server版
10:10 -
lock
07. [MAC][Windows] 利用SSH連進本地端VirtualBox的Ubuntu Linux系統
13:36 -
lock
08. [Windows] 利用putty ssh連上Linode與VirtualBox上的Linux伺服器
06:24 -
lock
09. [補充] VirtualBox VM 備份還原
08:47 -
play_arrow
10. 在Linode上架設Linux(Ubuntu, CentOS)
17:01 -
play_arrow
11. [補充 ]在Vultr VPS上架設Ubuntu Linux 主機 (免費100美金額度)
26:10 -
lock
12. [補充] 如果網路連不上線再看 - DNS設定(resolv.conf)
15:02
第二章 (總長3.7小時)
-
play_arrow
01. 使用者目錄概念、切換路徑(cd)與現在路徑(pwd)
18:07 -
play_arrow
02. 絕對路徑
12:01 -
play_arrow
03. 相對路徑
11:53 -
lock
04. 產生空白資料夾、檔案與命名注意事項(mkdir, touch)
10:42 -
lock
05. 文字輸出檔案與串連(echo, printf, cat)
11:01 -
play_arrow
06. 文字編輯器的基本編輯(vim.tiny vim)
08:57 -
play_arrow
07. 安裝程式(apt, apt-get install, remove, autoremove)
11:16 -
lock
08. 文字編輯器的基本編輯2 (vim: undo redo, which, whereis)
07:40 -
lock
09. 檔案的複製、移動、刪除、改名與刪除路徑風險(mv, rm, cp)
18:35 -
lock
10. 資料夾的複製、移動、刪除、改名與萬用字元的風險(mv, rm, cp, rmdir, recursive, *)
15:00 -
lock
11. 檔案的讀寫與執行權限(chmod & shell script)
18:46 -
lock
12. 系統變數與bash的初始化(bashrc)
15:43 -
lock
13. 幾種shell script傳遞結果的方式(source)
08:42 -
lock
14. 使用者與bash,利用python與ruby寫可執行script (!#)
13:42 -
lock
15. 背景執行程式與刪除(ps, top, kill, while, sleep)
14:45 -
lock
16. 新增刪除使用者、更改sh至bash與增加刪除Group(useradd, usermod, gpasswd, su)
14:36 -
lock
17. 改變檔案擁有者與擁有群組(chown)
08:20
第三章 (總長5.5小時)
-
play_arrow
01. 口語化的Web Server概念
09:52 -
play_arrow
02. 安裝Apache2與建立第一個網頁
11:25 -
lock
03. 改變Ubuntu 監聽port號與初探反向代理
14:30 -
lock
04. ufw防火牆設定
13:02 -
lock
05. 3種Apache service的開關方式與它隱含的意思(systemctl, service, apache2)
14:58 -
lock
06. etc 底下的apache2檔案分佈用途介紹
15:57 -
lock
07. [補充] 為了教學與練習把etc apache加入git
04:54 -
lock
08. Apache.conf 詳細介紹(一)
15:25 -
play_arrow
09. Apache.conf(二) 如何簡單的搞砸系統安全性 [Directory, denied, granted, DocumentRoot]
15:28 -
lock
10. [補充] Option詳解
18:07 -
lock
11. 利用不同port號架設多重站台(VirtualHost, a2ensite, a2dissite)
18:52 -
lock
12. 網域網址設定,利用不同網址Domain架設多站台
14:15 -
lock
13. [補充] 同步遠端程式的幾種方案介紹
05:25 -
lock
14. 利用 Brackets SFTP上傳檔案(其他方法請看補充章節)
05:30 -
lock
15. 利用Rewrite module 把index.html 導向首頁路徑(mod_rewrite)
18:45 -
lock
16. 使用htaccess,RewriteRule在VirtualHost與htaccess之間的陷阱
13:01 -
lock
17. AllowOverride 與 AllowOverrideList和htaccess的安全性設定
14:00 -
lock
18. 移動Log檔到個別專案資料夾
11:51 -
lock
19. 路徑變化前的條件判斷,RewriteCond 與 RewriteBase
19:26 -
lock
20. 架設靜態網站於VirtualBox(scp 指令)
12:07 -
lock
21. 架設靜態網站於VPS上面 - 以Linode為例
13:46 -
lock
22. 看懂Chrome Network 網站速度相關訊息與簡易壓力測試
14:00 -
lock
23. 利用github page實現CDN概念與防止圖床被盜連
11:21 -
lock
24. module headers 與防止網站被iframe嵌入
05:32 -
lock
25. 利用Let's Encrypt 安裝HTTPS與SSLProtocol變更
08:48 -
lock
26. crontab使用與Let's encrypt自動更新
08:16
第四章 (總長5.4小時)
-
play_arrow
01. AWS免費方案介紹
10:02 -
play_arrow
02. 帳號註冊與認證
07:52 -
lock
03. 建立EC2 instance (Ubuntu)
16:42 -
play_arrow
04. [Windows] 利用putty ssh連上AWS上的Linux伺服器
09:50 -
lock
05. Apache安裝與基本分散式架構講解(Public IP, Private IP, Security Group)
11:06 -
lock
06. 綁定固定IP與網域Domain name(Elastic IPs)
07:01 -
lock
07. [MAC] 將靜態網站從Github Page移植到EC2 (scp)
07:47 -
lock
08. [Windows] 將靜態網站從Github Page移植到EC2 (WinScp)
04:43 -
lock
09. 為什麼要使用CDN 或 S3
10:57 -
lock
10. AWS S3介紹與介面操作
19:20 -
lock
11. AWS RDS介紹與獨立出資料庫的優劣分析與原因
18:52 -
lock
12. 建立 MySQL RDS Instance與利用MySQL Workbench連線
23:17 -
lock
13. 安裝PHP7與PHPMyAdmin與利用private連線至RDS MySQL
16:57 -
lock
14. 建立與刪除RDS快照(snapshot),還原資料庫要注意的事項
12:24 -
lock
15. AWS SES Email免費信件服務介紹與使用
14:38 -
lock
16. AWS SES Email服務脫離Sandbox 模式
05:58 -
lock
17. 將 SES Email收到的信件存進S3
08:22 -
lock
18. AWS SNS 介紹與建立Topic與Subscription通知Gmail收到信了
10:24 -
lock
19. EC2 Load Balancer、Auto Scaling簡介
07:01 -
lock
20. 製作AMI
07:29 -
lock
21. 建立Auto Scaling Configuration設定檔與Group
10:48 -
lock
22. 測試Auto Scaling與細項設定講解
10:01 -
lock
23. 建立Load balancer與設定路徑對應不同instance
08:34 -
lock
24. 利用IAM管理AWS使用者權限
11:42 -
lock
25. 利用CURL與IAM使用者上傳檔案到S3
13:23 -
play_arrow
26. CDN介紹,使用AWS CloudFront
09:11 -
lock
27. CloudFront設定(包含S3與AWS Certificate Manager, ACM)
24:16 -
lock
28. 利用CloudFront或S3架設靜態網站
05:03 -
lock
29. 簡易帳單頁面導覽
03:17
第五章 (總長3.7小時)
-
play_arrow
01. 安裝Nginx與更換首頁
12:41 -
lock
02. 利用port號不同架設多站台
08:10 -
lock
03. [補充] 在Nginx上使用FCGI(以PHP與Ruby為例)
26:23 -
lock
04. 通用的FCGI與程式語言專用的FCGI概念上的差異(FCGIWrap, PHP-FPM)
05:08 -
lock
05. 安裝PHP-FPM與產生html cache與Linux權限安全性
14:31 -
lock
06. 在同一個主機IP下掛多個不同網址網站
05:59 -
lock
07. 多站台分別使用不同版本PHP
06:15 -
lock
08. 利用Let's Encrypt加入SSL憑證(HTTPS)
08:39 -
lock
09. 使用Rewrite與Location改變網頁對應內容
14:51 -
lock
10. 各種Location吻合的可能性與優先順序
11:46 -
lock
11. 利用Github Page與Chrome來看系統速度優化的條件
18:08 -
lock
12. 與Cache相關的Http Header的使用與設定方式(Cache-Control, Expires, Etag, Last-modified)
23:39 -
lock
13. add_header的試用方式與陷阱
09:10 -
lock
14. 基本的Nginx設定參數講解
17:44 -
lock
15. 擺上靜態網站並設定好參數
19:05 -
lock
16. CDN與反向代理(Reverse Proxy)的實作與講解
18:16
第六章 (總長2.9小時)
-
lock
01. 建立可以HTTPS連線的Ubuntu與Nginx的AMI
11:04 -
lock
02. 利用AWS LoadBalacer 建立路徑邏輯
08:30 -
lock
03. Redis與AWS ElastiCache的邏輯與基本使用
17:09 -
lock
04. [WordPress]PHP環境設定與利用proxy_pass安裝PHPMyAdmin
20:38 -
lock
05. [WordPress] 安裝WordPress與WooCommerce
11:25 -
lock
06. [WordPress] Nginx設定與記憶體調整
19:35 -
lock
07. [WordPress] 將MySQL移到RDS釋放系統資源與調整php-fpm
18:27 -
lock
08. [WordPress] 利用WP Super Cache來加速網站與介紹原理
17:06 -
lock
09. [WordPress] Request分析與Chrome開發者工具的解讀
08:02 -
lock
10. [WordPress] 利用CDN來解決流量問題,使用S3與CloudFront
23:47 -
lock
11. [WordPress] 重新產生不同大小縮圖與驅動自動上傳CDN
03:49 -
lock
12. [WordPress] 用Redis降低資料庫負荷
13:13 - 章節尚未完全完結,我們會持續更新!!
第七章 (總長2.5小時)
-
play_arrow
01. 自製簡易Web Server章節介紹
06:23 -
lock
02. 建立main.c與Makefile,完成環境設定
13:13 -
lock
03. TCP與OSI模型介紹,建立Socket
19:19 -
lock
04. 將Socket綁定(bind)在port號與監聽(listen)
14:49 -
lock
05. Accept連線與讀取印出內容
12:21 -
lock
06. 回應(Response)首頁與404頁面
12:13 -
lock
07. 用setsockopt設置Socket參數,讓開發變得比較順暢
03:38 -
lock
08. 重構程式來實現頁面Preload
11:10 -
lock
09. 處理Header與建立Route機制
15:53 -
lock
10. 重構程式與資料共用問題
11:51 -
lock
11. Process、Thread與Epoll,Apache與Nignx在實作上的差異
05:50 -
lock
12. fork 函數建立多重Session
14:35 -
lock
13. 使用Cookie與建立Session機制
08:58
第八章 (總長1.7小時)
-
lock
01. 購買網域的注意事項(以GoDaddy為例)
16:13 -
lock
02. 購買網域的注意事項(以PCHome買網址為例)
09:20 -
lock
03. CloudFlare 介紹與註冊
15:38 -
lock
04. [補充] [Windows] 使用SFTP (WinSCP, Brackets)
13:48 -
lock
05. JMeter介紹與用途
04:15 -
lock
06. [Mac] 安裝JMeter與基本使用
16:14 -
lock
07. [Windows] 安裝JMeter與基本使用
16:05 -
lock
08. 利用JMeter做完整的HTTP頁面讀取與User-Agent的用途
12:28
課程講師
縱裕
iOS 工程師 / Ruby On Rails 網站工程師
現職為iOS 工程師,但同時也在鑽研網站技術並且建立多個網站。
曾協助多個新創公司,範圍包含網站前端到桌面應用程式倉存管理與電子機關互動。
從網站架設,手機APP到系統底層都有豐富的經驗。
擅長不同系統架構的整合與創新想法的實現。
經歷:
進度條 技術顧問
Digilog.tw 網站與倉庫後台程式架構設計與建置
Zooe 線上教學平台 網站架構設計與建置
HelloStudy 楓禾留遊學網 設計與建置
Funlock 放樂工作室真實密室逃脫遊戲 - 魔鏡迷城 電子機關設計與製作
iOS App - Rock Click 節拍器
Nexcom ARM韌體與軟體工程師
Insyde BIOS工程師