前端最基礎的就是 HTML+CSS+Javascript。掌握了這三門技術就算入門,但也僅僅是入門,如今前端開發的定義已經遠遠不止這些。前端小課堂(HTML/CSS/JS),本着提高技術水平,打牢基礎知識的中心思想,咱們開課啦(每週四)。css
截止到 2019-05-30 期,全部成員都進行了一次分享。內部對課程進行了一些調整,以後會針對項目開始 review 。我這邊預期準備進入中級階段,中間仍是會穿插一些實戰。 前端培訓目錄html
今天爲何會開這個題目?前端
公司想要加快網頁訪問速度(前端緩存),爲了測試,我改了我本身服務器的 nginx 配置。nginx
定義虛擬主機相關。server
中經過 server_name
來匹配域名,listen來匹配端口express
用於匹配域名,須要已經映射的域名。
舉個栗子,我在阿里雲有一臺雲服務器 IP:123.56.16.33:443
。買了一個域名 lilnong.top
。
我如今把個人域名指向了個人ip。那全部請求我域名的都會到我這臺服務器上。我須要用 server_name 來判斷請求的是那臺主機,再進行分發gulp
用於匹配端口號,通常來講,咱們當作服務的就須要加上 80 和 443segmentfault
協議 | 端口 | 用途 |
---|---|---|
http | 80 | 瀏覽器訪問 |
https | 443 | 瀏覽器訪問 |
ftp | 21 |
*.lilnong.top
www.lilnong.*
~^\.www\.lilnong\.com$
若是都不匹配windows
location 是用於在 server 服務中,根據 URL 進行匹配查找。屬於 ngx_http_core_module 模塊。瀏覽器
location [ = | ~ | ~* | ^~ ] uri {...}
緩存
=
: 精確匹配,匹配成功,則中止搜索正則; 不能有嵌套的 location。能夠加速 request 的處理。~
: 區分大小寫的正則匹配~*
:不區分大小寫正則匹配^~
:不進行正則的匹配。/
、/static/
\.(gif|jpg|png|js|css)$
匹配時要注意/
的使用。是否要封閉。
location /static { # 能夠匹配到 URL 如: '/static/html' 和 'statichtml/html` } location /static/ { # 只可匹配到 URL 如: '/static/html' 和 'static/**' }
用來指定請求資源的真實路徑,本地磁盤路徑
location /nginx/ { root /var/log/; #請求http://nginx.lilnong.top/nginx/20190227_access.log #>/var/log/nginx/20190227_access.log }
用來指定請求資源的真實路徑,本地磁盤路徑。會丟棄 location 所匹配的,這是和 root 的區分
location /nginx/ { alias /var/log/nginx/; #請求http://nginx.lilnong.top/nginx/20190227_access.log #>/var/log/nginx/20190227_access.log }
語法:rewrite regex replacement [flag];
flag 描述
#這是我把ip訪問重定向到個人網頁 server { listen 80; server_name 123.56.16.33; rewrite ^/(.*)$ https://www.lilnong.top/$1 permanent; }
訪問 https://nginx.lilnong.top/static/html
location /static/ { proxy_pass http://www.lilnong.top; #結尾不帶 `/`,將匹配到 http://www.lilnong.top/static/html } location /static/ { proxy_pass http://www.lilnong.top/; #結尾帶 `/`,將匹配到 http://www.lilnong.top/html }
nginx -s reload
nginx -s reopen
nginx -s stop
nginx
nginx/logs/error.log
看錯誤日誌來排查問題。