因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層負載均衡伺服器來使用。高併...