軟體架構系列 nginx(一)(未編輯,先記錄)

2021-09-02 07:56:54 字數 882 閱讀 5819

# nginx -s reload

nginx: [emerg] 「server」 directive is not allowed here in /etc/nginx/conf.d/hello-world.conf:1

nginx: [emerg] 「location」 directive is not allowed here in /etc/nginx/nginx.conf:76 nginx: configuration file /etc/nginx/nginx.conf test failed

nginx: [emerg] 「usr」 directive is not allowed here in /etc/nginx/conf.d/hello-world.conf:1

這樣的錯誤,從字面意思上看,說的是server關鍵字不允許在配置檔案中出現。當然這是不可能的,出現這種錯誤,多半都是因為我們在寫配置檔案的時候少了乙個括號「」。很多人在初次配置nginx時習慣性的去尋找自己時候在http{}或者server{}中是不是寫錯了什麼,實則不是。

出現這種情況的另一種可能是,server關鍵字本身應該存在於http{}中,但是我們可能寫在了http{}之外。這樣,server關鍵字自然是不允許出現的。

測試配置檔案是否出現類似於上面那樣比較明顯的語法錯誤時,可以用命令:sudo nginx -t。nginx將自動檢測配置檔案。

困擾我很久的問題,終於知道原因了。chrome和firefox在我訪問靜態資源的時候,如果進行了跨域**,會在位址最後面預設給我加個/,導致不能進入正確的位址,所以一直拿不到資源。今天突然腦子一轉下了個chromium,就正常了。所以到底是瀏覽器bug,還是nginx配置不夠安全???

當然,這也只是個例,恰好就被我乙個人碰上了。

Nginx的軟體架構

nginx原理架構圖 nginx是 master worker 模型 乙個master程序,可生成乙個或多個worker程序,每個worker程序基於事件驅動機制響應客戶端請求 事件驅動機制 epoll linux kqueue freebsd dev poll solaris 訊息通知 selec...

軟體架構系列感想(五)

1 通用的抽象集合。可以將軟體系統簡單的理解成由多個容器構成,容器又由多個元件構成,元件由乙個或多個類實現。類 在乙個物件導向系統裡,類是最小結構單元 元件 元件可以想象成乙個或多個類組成的邏輯群組,通常由多個類在更高層次的約束下組合而成 容器 指乙個在其內部可以執行元件或駐留資料的東西 系統 系統...

軟體架構設計 nginx(二)

nginx在linux下的安裝 在ubuntu中安裝的nginx,目錄結構如下 usr sbin nginx 主程式 etc nginx 存放配置檔案 usr share nginx 存放靜態檔案 var log nginx 存放日誌 nginx的安裝 nginx實現動靜分離 如果出現這種錯誤,則用...