如何讓nginx作為靜態資源伺服器
『壹』 如何讓nginx只緩存靜態文件
採用緩存技術可以提高網站公開的響應速度,但在一定程度上也降低了伺服器的負載。
相比靜態網頁與動態網頁,它不要求伺服器端計算,所以在頁面打開的響應速度為比動態頁面更快!
雖然我不太懂,但是如果你掩蓋了伺服器上的靜態頁面。然後你用瀏覽器打開過這個網頁,最好看空緩存,之前否則你不能馬上看到效果
中國希望能幫到你。我感覺很好,幫我加分,謝謝。新年快樂!
『貳』 linux下如何配置nginx伺服器
網路nginx,就有很多配置安裝技巧了。問題的涉及范圍太廣了,不好回答。
僅作參考:
#運行用戶
usernobody;
#啟動進程,通常設置成和cpu的數量相等
worker_processes1;
#全局錯誤日誌及PID文件
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
#工作模式及連接數上限
events{
#epoll是多路復用IO(I/OMultiplexing)中的一種方式,
#僅用於linux2.6以上內核,可以大大提高nginx的性能
useepoll;
#單個後台workerprocess進程的最大並發鏈接數
worker_connections1024;
#並發總數是worker_processes和worker_connections的乘積
#即max_clients=worker_processes*worker_connections
#在設置了反向代理的情況下,max_clients=worker_processes*worker_connections/4為什麼
#為什麼上面反向代理要除以4,應該說是一個經驗值
#根據以上條件,正常情況下的NginxServer可以應付的最大連接數為:4*8000=32000
#worker_connections值的設置跟物理內存大小有關
#因為並發受IO約束,max_clients的值須小於系統可以打開的最大文件數
#而系統可以打開的最大文件數和內存大小成正比,一般1GB內存的機器上可以打開的文件數大約是10萬左右
#我們來看看360M內存的VPS可以打開的文件句柄數是多少:
#$cat/proc/sys/fs/file-max
#輸出34336
#32000<34336,即並發連接總數小於系統可以打開的文件句柄總數,這樣就在操作系統可以承受的范圍之內
#所以,worker_connections的值需根據worker_processes進程數目和系統可以打開的最大文件總數進行適當地進行設置
#使得並發總數小於操作系統可以打開的最大文件數目
#其實質也就是根據主機的物理CPU和內存進行配置
#當然,理論上的並發總數可能會和實際有所偏差,因為主機還有其他的工作進程需要消耗系統資源。
#ulimit-SHn65535
}
http{
#設定mime類型,類型由mime.type文件定義
includemime.types;
default_typeapplication/octet-stream;
#設定日誌格式
log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'
'$status$body_bytes_sent"$http_referer"'
'"$http_user_agent""$http_x_forwarded_for"';
access_loglogs/access.logmain;
#sendfile指令指定nginx是否調用sendfile函數(zero方式)來輸出文件,
#對於普通應用,必須設為on,
#如果用來進行下載等應用磁碟IO重負載應用,可設置為off,
#以平衡磁碟與網路I/O處理速度,降低系統的uptime.
sendfileon;
#tcp_nopushon;
#連接超時時間
#keepalive_timeout0;
keepalive_timeout65;
tcp_nodelayon;
#開啟gzip壓縮
gzipon;
gzip_disable"MSIE[1-6].";
#設定請求緩沖
client_header_buffer_size128k;
large_client_header_buffers4128k;
#設定虛擬主機配置
server{
#偵聽80埠
listen80;
#定義使用www.zz04.com訪問
server_namewww.zz04.com;
#定義伺服器的默認網站根目錄位置
roothtml;
#設定本虛擬主機的訪問日誌
access_loglogs/nginx.access.logmain;
#默認請求
location/{
#定義首頁索引文件的名稱
indexindex.phpindex.htmlindex.htm;
}
#定義錯誤提示頁面
error_page500502503504/50x.html;
location=/50x.html{
}
#靜態文件,nginx自己處理
location~^/(images|javascript|js|css|flash|media|static)/{
#過期30天,靜態文件不怎麼更新,過期可以設大一點,
#如果頻繁更新,則可以設置得小一點。
expires30d;
}
#PHP腳本請求全部轉發到FastCGI處理.使用FastCGI默認配置.
location~.php${
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
#禁止訪問.htxxx文件
location~/.ht{
denyall;
}
}
}
『叄』 nginx靜態代理怎麼用
body{ line-height:200%; } 動靜態網頁分離,就是讓動態PHP等程序網頁去訪問PHP Web伺服器,讓緩存頁、圖片、javaScript、CSS、Flash去訪問Squid等緩存伺服器。 在配置Nginx負載均衡與反向代理之前,我們首先來看一看NetScaler等硬體四/七層負載均衡交換機是如何實現負載均衡的如圖6-6所示。 NetScarder的七層負載均衡是基於TCP的,可以用於Web Server、MySQL資料庫、右鍵伺服器等大多數基於TCP伺服器的負載均衡。Nginx的七層負載僅支持HTTP、郵件協議,能夠實現Web Sserver、右鍵伺服器的負載均衡。在Web伺服器集群應用中,可以通過Nginx負載均衡,來實現並代替NetScaler七層負載均衡的部分功能。對於以上的Netscaler負載均衡架構我們可以用以下的Nginx負載均衡架構來代替其中的Web伺服器部分,如圖6-7所示。
『肆』 如何配置nginx靜態文
假設我們的靜態文件位於 /Users/bowen 目錄下,文件服務基本配置如下:
server {
client_max_body_size 4G;
listen 0.0.0.0:8888; ## listen for ipv4; this line is default and implied
server_name localhost;
root /Users/bowen/;
location / {
}
}12345678
location指令用來映射請求到本地文件系統。
root 指令用來指定文件在伺服器上的基路徑。
配置索引
server {
client_max_body_size 4G;
listen 8889; ## listen for ipv4; this line is default and implied
server_name localhost;
root /Users/bowen;
location / {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}1234567891011
執行sudo nginx -s reload重新載入配置。在瀏覽器中訪問http://127.0.0.1:8889/,即可顯示root指定的/Users/bowen目錄下的內容。
『伍』 如何自動復制資源到nginx靜態資源伺服器
傳統的web項目,一般都將靜態資源存放在 webroot的目錄下,這樣做很方便獲取靜態資源,但是如果說web項目很大,用戶很多,靜態資源也很多時,伺服器的性能 或許就會很低下了。這種情況下一般都會需要一個靜態資源的伺服器。
搭建nginx伺服器首先得安裝nginx服務,關於nginx服務的安裝可以參考我的另一篇博客《nginx服務安裝》這里直接介紹靜態伺服器的配置
進入nginx安裝目錄的conf目錄下,修改nginx.conf文件,在一個server{}中添加 一個location 部分配置代碼如下
root@ubuntu:/usr/local/nginx/conf# vi nginx.conf
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /image/ {
root /usr/local/myImage/;
autoindex on;
}
}
從上面的配置可以看出來 埠為80,server_name為localhost(寫ip地址也可以)
location /image/ {
root /usr/local/myImage/;
autoindex on;
}
這個配置表示輸入 localhost:80/image/ 時會訪問本機的/usr/local/myImage/image/ 目錄。所以要新建/usr/local/myImage/image/ 目錄,同時還要在nginx安裝目錄的html目錄中新建一個 與 location中 image同名的image目錄,雖然該目錄裡面什麼也沒有,在/usr/local/my Image/image/ 中我們放一張圖片1.jpg上去,重啟nginx服務,就可以通過 localhost:80/image/1.jpg訪問了
root@ubuntu:/usr/local/nginx/html# mkdir image
root@ubuntu:/usr/local/nginx/html# mkdir /usr/local/myImage/image
#放一張照片上去#
root@ubuntu:/usr/local/nginx/html# cd /usr/local/myImage/image
root@ubuntu:/usr/local/myImage/image# ls
1.jpg
root@ubuntu:/usr/local/myImage/image#
重啟 nginx
root@ubuntu:/usr/local/nginx/sbin# ./nginx -s reload
root@ubuntu:/usr/local/nginx/sbin#
打開瀏覽器 輸入 server_name:80/image/1.jpg 就可以訪問該靜態圖片
『陸』 如何實現網站的偽靜態,分別說一下nginx和apache的實現方式
Nginx下設置偽靜態方法與Apache差不多,直接在nginx.conf (或者在對應的*.conf) 中找到需設置偽靜態規則的伺服器對應欄位,在server{ location/{ } }中添加以下代碼:
server{
listen80default_server;
server_name_;
location/{
root/usr/share/nginx/html;
indexindex.htmlindex.htm;
rewrite^(.*)list-([0-9]+)-([0-9]+).html$$1list.php?page=$2&id=$3;
}
}
添加後重啟Nginx服務即可生效
apache
要使用httpd.conf文件來設置偽靜態策略,我們可以直接在httpd.conf中寫入如下代碼,如果您的網站是配置在VirtualHost中,則將這段代碼加到對應的<VirtualHost hostname>
<VirtualHost>
標簽內:
<IfMolemod_rewrite.c>
#輸入:list-123-456.html
#輸出:list.php?page=123&id=456
RewriteEngineon
RewriteRule^(.*)list-([0-9]+)-([0-9]+).html$$1list.php?page=$1&id=$2
</IfMole>
添加完成後重啟httpd服務後即可生效
『柒』 阿里雲windows伺服器nginx環境怎麼配置偽靜態
請輸入以下命令
cd /alidata/server/nginx/conf/rewrite
再輸入:ll
看看是不是像下面截圖的一樣
對了。這些就是偽靜態規則文件。我們打開phpwind.conf看看。
我們已經在rewrtie目錄下配置了常見程序的偽靜態規則。您可以直接調用。
如果沒有就按照
程序名.conf的命名方式新建一個配置文件
配置文件搞清楚了,你可能會說好像網站偽靜態還是沒效果啊。別著急,因為偽靜態規則是需要被網站配置文件調用才行的。
輸入以下命令
cd /alidata/server/nginx/conf/vhosts
進入到網站配置目錄
修改好偽靜態調用文件
下面測試下我們配置的文件是否正確吧
輸入:
/alidata/server/nginx/sbin/nginx -t
看到了么?
nginx: the configuration file /alidata/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /alidata/server/nginx/conf/nginx.conf test is successful
如果出現以上兩句話就說明配置成功了。下面重啟下nginx
/alidata/server/nginx/sbin/nginx -s reload
恭喜您,偽靜態配置完成!
總結,其實與其它自行安裝的伺服器區別在於相關文件目錄位置問題了
『捌』 用nginx做一個靜態站,直接訪問文件夾名字404,直接訪問當中的html文件就可以。。。
1、nginx是啟動引入,因為nginx特別注重效率,所以啟動的時候會把所有的配置文件讀入內存,然後啟動個。如果發現有語法錯誤,則啟動失敗。而apache則是動態引入,每次訪問站點都會重新載入配置。
2、nginx中的include是手動添加,指定目錄。apache已經把.htaccess作為它的一種特色機制,並且支持站所有子目錄都可以有.htaccess文件。
根際實際開發經驗,很多人在早期都是用虛擬空間的多,而早期的虛擬空間基本都是apache做webserver,所以用戶不需要聯系空間商就能自己做偽靜態,而開源程序更是方便的拓展這一功能(ecshop,wordpress,phpcms等等)。並且維護也方便,只要覆蓋.htaccess就好。
『玖』 nginx+tomcat 動靜態資源怎麼部署
對外,nginx是一個伺服器,所有的請求都先請求到nginx,然後再由nginx對內網進行請求的分發到tomcat,然後tomcat處理完請求後將數據發送給nginx,然後由nginx發送給用戶,整個過程對用戶的感覺就是nginx在處理用戶請求。
既然這樣子,nginx肯定需要進行配置,主要的配置文件是conf文件夾下的nginx.conf,因為我主要是進行了靜態與動態分離,所以沒有進行靜態文件緩存,也沒有進行負載均衡的配置。
『拾』 如何將 Nginx 配置為Web伺服器
基於各種原因,有時想隱藏nginx的顯示版本號,也為伺服器更安全有如下幾個方法
1 修改主配置文件nginx.conf在http {段加入server_tokens off;保存退出就可以了
2 也可以在編譯前修改源代碼,文件是src/core/nginx.h如果是已經安裝的,就可以再編譯安裝一次就可以