一個前端的nginx之旅
前段時間買了個伺服器和域名,開始折騰伺服器。安裝了node和nginx作為伺服器容器,對於nginx的使用有了基本的了解,於是寫了這篇文章,希望對大家有幫助。
這是我的博客地址:Sesine Blog
安裝及命令
下載及安裝、配置方法
下載地址:http://nginx.org/en/download.html
Linux環境下可以用命令直接安裝
Windows環境下通過下載壓縮包,很迷你只有1.33MB,解壓後雙擊 就可以直接運行
本文使用環境為windows
常用命令
首先得打開 (快捷鍵 + ), 命令進入nginx的安裝目錄
常用的命令:
查看nginx版本
驗證配置文件是否正確,在啟動或重啟前建議執行此命令查看配置是否正確
啟動nginx
快速停止nginx
完整有序停止nginx並保存相關信息推薦
重新載入nginx
重新打開日誌文件
nginx遵循了unix哲學的緘默原則,運行成功不會有提示,出現錯誤時才會有信息
配置方法
配置文件在conf目錄下,其中 為主配置文件本文所有配置都請寫在 塊內
解決跨域問題
跨域應該是日常工作中最常見的問題了,本地測試環境與api伺服器環境屬於兩個域。由於瀏覽器的同源策略,在本地測試環境上的瀏覽器無法請求不是同一個域的api伺服器的介面。這時候使用nginx可以很方便的解決這個問題,上線時也無需切換域名。
同源策略具體如下:
具體代碼如下:
https配置
微信小程序強制要求所有請求都使用https協議,其實是因為App Store從17年開始強制要求使用https,現在很多主流網站比如BAT基本上都從http切換到了https,數據傳輸變得更加安全,而且可以有效避免運營商劫持(出現在網頁中的運營商廣告,移動的流量提示小球就是一個很好的例子)
https為什麼安全,可以看一下這篇知乎提問,牟旭東同學回答的小和尚跟老和尚的故事挺有意思的。
哪裡可以申請到免費的ssl證書?
阿里雲
百度雲
騰訊雲
來自BAT大廠,值得信賴
錯誤頁面配置
如上圖,nginx的錯誤頁面是很簡(jian)潔(lou)的
可以添加配置來自定義錯誤頁面,首先要在 塊中添加
然後使用如下的配置,使用 重新設置根目錄,會指向到nginx安裝目錄下的html文件夾,這樣子可以整個伺服器使用統一的錯誤頁面
如果要定義不同的可以將 刪除,那麼 表示網站根目錄下的404.html文件(不建議放在根目錄)
禁止ip訪問
直接ip訪問的問題
https證書警告,因為https的ssl證書是頒發給域名而不是ip地址的,在瀏覽器會出現不安全的警告
訪問統計數據不準確,由於一個ip可以綁定多個域名。如果直接用ip訪問,統計訪問很難定位準確的入口
域名使用的是動態ip,ip更換後會無法訪問
法律限制,網站應該用域名訪問,有些主機商會封未備案的伺服器的80埠
那麼如何防止ip直接訪問呢?具體配置如下:
TAG:FecoderClub |