反饋已提交
網絡繁忙
本文匯總使用 nginx 程式中常見報錯及解決方案。
問題描述:
叢集環境,有線網路正常,無線網路登入頁面空白,但是節點可以正常登入。
日誌檔案如下圖所示:
原因分析:
nginx 無權限讀取資料流。
解決方案:
修改 nginx.conf ,將使用者組改成 root ,並且取消註釋。如下圖所示:
啟動時報錯:
nginx:[emerg]https protocol requires SSL support in /usr/nginx/conf/nginx.conf:39
nginx.conf 中配置了 https ,但 nginx 未配置 ssl 模組。
給 nginx 增加 ssl 模組,請參見 配置 SSL 憑證實現 HTTPS 存取
報錯:SSL modules require the OpenSSL library
如下圖所示:
nginx 在編譯一些模組時,需要三個依賴庫:prce、zlib、openssl
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
nginx 入口存取平台空白,日誌顯示寫快取檔案失敗,如下圖所示:
如果啟動 nginx 的使用者有對應目錄讀寫權限,則可能是磁碟空間不足引起,可用df -h指令查看。
nginx.conf 中關閉 acces.log ,避免日誌過大,把磁碟空間佔完。
叢集環境,伺服器經常出現卡慢。
由於磁碟空間不足,nginx.conf 中關閉 acces.log ,避免日誌過大,把磁碟空間佔完。
使用者做了 Web 叢集,現在做了外網映射,存取 URL 能登入到登入頁面,但是點選登入之後,映射的埠號不見了,跳轉之後就直接報 404 。
登入跳轉後,host 變動,導致埠丟失。
nginx 修改 head 的 host 欄位(proxy_set_header Host)為實際外部存取的地址,如下圖所示:
Linux 伺服器叢集,重新整理 frm 範本,會出現部分模組載入不出的情況,每次載入不出的模組都是隨機的。Dec.socket.connected傳回 true ,但是前端有關於 38888 和 38889 的報錯。
使用者 nginx.conf 預設是用的是http1.0,tcp 連結生命週期不夠,導致一些耗時較長的圖表請求逾時。
nginx 配置 http1.1 和 connection 頭置空,回应分塊請求。如下圖所示:
存取類似localhost:8080\WebReport\ReportServer,頁面空白,控制台報錯:Failed to load resource:the server responded with a status of 404(not Found)
nginx入口:http://localhost/reportService/WebReport/decision
Tomcat:http://ip:port/WebReport/decision
使用者在 nginx 在匹配/reportService轉發給後端 Tomcat 處理,而後端傳回資源請求時不帶/reportService,導致重定向到了 nginx 靜態資源路徑,存取報錯。
nginx配置:
方案一:nginx 層面
攔截/WebReport/decision,重定向為/reportService/WebReport/decision
需要注意以下兩點:
rewrite 是 301 重定向,return 是 307 重定向。
server_name 為 localhost 時,透過 127.0.0.1 存取,重定向後會有跨域報錯,ajax error。
方案二:Tomcat 層面
設定虛擬目錄,使得 tomcat url 變為:http://ip:port/reportService/WebReport/decision
具體步驟
(1)將工程移出webapp,避免重複載入;
(2)修改tomcat conf/server.xml,docbase為工程絕對路徑
(3)修改nginx.conf,去掉斜槓
注:帶斜槓時,是將/reportService/後面的請求轉發給後面。
範本直接在設計器預覽是正常的;掛載到叢集地址,範本空白;掛載到叢集節點,範本正常展示。
外網有一個轉發工具,轉發到了設定在內網的 nginx ,然後透過代理到後台節點,內網存取也會經過 nginx 轉發,但是由於轉發工具的埠與 nginx 埠不一致,並且沒有把外網地址的 port 正確傳入,導致最後拿到的是 nginx 埠號,但是內網是直接經過 nginx 了,所以可以正常展示埠號
nginx 配置的埠監聽直接改成與外網埠號一致,這樣就避免了此類 port 不一致的情況。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙