
cover20220907.png
- 字數(shù):961字
- 完稿用時:1小時26分(中間出去群聊了會)
- 完稿時速:670字/時
- 發(fā)稿用時:20分鐘(發(fā)到gzh時發(fā)現(xiàn)表格的形式顯示不友好,就花了點時間排版)
一直沒系統(tǒng)的學習過前后端(主業(yè)是游戲開發(fā))。
畢竟工作之余不多花時間,只靠上班那點時間的話,確實沒有學習的機會。
因為工作中會用到openresty,也有過一點經(jīng)驗,所以打算稍仔細了解一下Nginx。
Nginx命令
| 命令 | 說明 | 與kill命令對應 |
|---|---|---|
| nginx | 會讀取默認的配置文件 | |
| nginx -c xxx.conf | 另行指定配置文件 | |
| nginx -p nginx項目目錄 | 指定項目根目錄 | |
| nginx -g "pid /var/nginx/test.pid;" | 臨時指定一些全局配置項 | |
| nginx -t | 僅測試配置文件是否有錯誤 | |
| nginx -t -q | 可以在測試時,不輸出error級別以下的信息 | |
| nginx -v | 顯示版本信息 | |
| nginx -V | 顯示更多信息,如編譯階段的配置信息。 | |
| nginx -s stop | 強制停止Nginx服務,與kill命令的作用相同 |
kill -s SIGTERM <nginx master pid> 或 kill -s SIGINT <nginx master pid>
|
| nginx -s quit | 可以"優(yōu)雅"地停止服務,會先關(guān)閉監(jiān)聽端口,停止接收新的連接,然后把當前正在處理的連接全部處理完,最后再退出進程。 | kill -s SIGQUIT <nginx master/worker pid> |
| nginx -s reload | 使運行中的nginx重讀配置并生效。事實上,Nginx會先檢查新的配置項是否有誤,如果全部正確就以“優(yōu)雅”的方式關(guān)閉,再重新啟動Nginx來實現(xiàn)這個目的。 | kill -s SIGHUP <nginx master pid> |
| nginx -s reopen | 內(nèi)核是根源文件描述符來定位文件的,所以就算文件名發(fā)生了修改,nginx依然可以把日志寫進去。先對日志文件改名,再使用-s reopen命令,nginx將會把日志內(nèi)容寫入新的文件中,這樣可以使日志文件不至于過大。 | 用kill命令也可以kill -s SIGUSR1 <nginx master pid>
|
| nginx -h | 顯示幫助 | |
| 略(用到時再看書) | 平滑升級nginx到新的版本 |
-s是發(fā)送信號,所以用kill命令和使用nginx命令可以達到同樣的效果。
為什么強調(diào)這個呢?
因為我有一次在DockerFile中看到這樣一行配置"STOPSIGNAL SIGQUIT",我網(wǎng)上查了一下,只大概知道它的意思是在容器關(guān)閉時,會發(fā)送信號"SIGQUIT"。
現(xiàn)在我知道,這行指令意味著,當容器關(guān)閉時,nginx將收到"-s quit"命令,也就是說nginx將"優(yōu)雅"地停止服務。
不斷學習的過程中也要不斷反思
說實話,我看書學習的經(jīng)驗并不多,今天就感覺自己看書學習是有效率問題的。
下面是今天的一些感悟:
- 對于需要多操作的技能,看書學習或許還是適合快速過一遍,絕不能慢慢仔細看,要注意效率。
- 學習的時候一定要計時,時間不多了的時候,要迫使自己更快的學習。
- 最好的學習方式是輸出,以輸出倒逼輸入。輸出出去的話,我也怕別人想,這家伙是不是不會學習,這家伙學習也太慢了吧。但我還是要分享出去,不分享出去只會掩蓋自己的問題。
- 工作時間還是要退出微信的,一直沒做到。
- 要清楚什么是最重要的,持續(xù)學習比選擇什么學習工具重要的多。
- 越是容易做不好的地方,越要暴露出來,比如"發(fā)稿用時",有時會花太多時間,比如花了好久去找一首背景音樂,對于目前的我來說沒有必要。所以把用時放出來,迫使自己專注,做的不好了,大家可以看到。(希望不要最后只是練就了一個厚臉皮)
- 關(guān)于寫文章有句話:"允許自己寫出最爛的文章",關(guān)于學習也一樣,允許自己做學習能力最差的程序員,即使做的不好,也要把學習的過程以及學到的東西,勇敢的寫出來!別人看了,有幫助,最好。沒幫助也沒關(guān)系,自己受益了就好。