前端效能優化之HTTP伺服器篇

2021-08-30 11:42:30 字數 2310 閱讀 2976

因tomcat處理靜態資源的速度比較慢,所以首先想到的就是把所有靜態資源(js,css,image,swf)

提到單獨的伺服器,用更加快速的http伺服器,這裡選擇了nginx了,nginx相比apache,更加輕量級,

配置更加簡單,而且nginx不僅僅是高效能的http伺服器,還是高效能的反向**伺服器。

openssl-0.9.8l,zlib-1.2.3,pcre-8.00

編譯安裝nginx:

#啟動gzip壓縮css和js

gzip  on;

# 壓縮級別 1-9,預設是1,級別越高壓縮率越大,當然壓縮時間也就越長

gzip_comp_level 4;         

# 壓縮型別

# 定義靜態資源訪問的服務,對應的網域名稱:res.abc.com

server {

listen       80;

server_name  res.abc.com;

# 開啟伺服器讀取檔案的快取,

# 因js,css改動比較頻繁,客戶端快取8小時

location ~* ^.+.(js|css)$ {

root   /usr/local/resource/;

access_log off;

index  index.html index.htm;

expires 8h;

# 其他靜態資源

location / {

root   /usr/local/resource;

access_log off;

expires 8h;

# 反向**服務,繫結網域名稱www.abc.com

server {

listen       80;

server_name  www.abc.com;

charset utf-8;

# bbs使用discuz! 

# 因反向**為了提高效能,一部分http頭部資訊不會**給後台的伺服器,

# 使用proxy_pass_header 和 proxy_set_header 把有需要的http頭部資訊**給後台伺服器

location ^~ /bbs/ {

root   html;

access_log off;

index index.php;

# **host的資訊,如果不設定host,在後台使用request.getservername()取到的網域名稱不是www.abc.com,而是127.0.0.1

proxy_set_header host $host;

# 因discuz! 為了安全,需要獲取客戶端user-agent來判斷每次post資料是否跟第一次請求來自同1個瀏覽器,

# 如果不**user-agent,discuz! 提交資料就會報"您的請求來路不正確,無法提交"的錯誤

proxy_pass_header user-agent;

proxy_pass

# 其他請求**給tomcat

location / {

root   html;

access_log off;

index index.jsp;

proxy_pass

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

nginx詳細配置參考:

前端效能優化之減少Http請求

前言 乙個頁面的 開啟速度是其 效能最直觀的體現,那麼影響其開啟速度的因素有什麼呢?此處不再展開。本文主要聊聊關於減少http請求以達到節省時間的目的 問 減少http請求為什麼能節省時間?頁面資源的請求,80 的時間耗費在http請求上,由於tcp請求是基於連線的請求,其連線與釋放需要一定的時間。...

c 伺服器開發之效能優化

為什麼要寫這篇文章?聊技術的時候,談到記憶體問題 cpu問題 效率問題的時候,無疑是考量乙個工程師的實戰水平,作為c 開發工程師,沒有自己解決以上問題的專業手段,或許就是缺陷。我之所以寫這個文章,主要是為了記錄 分享我的辦法。我之前寫過記憶體洩漏的一篇文章 其實也是一種手段,如果為你所用,聊技術的時...

高效能Http伺服器nginx

nginx介紹 nginx是一款採用linux 2.6核心epoll新機制開發的web伺服器軟體,能極大地提高web訪問特別是小檔案訪問的i o效能,是c10k問題的乙個解決方案。在高併發連線的情況下,nginx是apache伺服器不錯的替代品。nginx同時也可以作為7層負載均衡伺服器來使用。高併...